개발/JAVA 3

[Servlet] 서블릿 및 JSP 요약 정리

Servlet 개념 웹서버 : 정적인 웹 컨텐츠를 처리하는 서버 동적 웹 컨텐츠를 처리하기 위해 사용하는 방법 : CGI CGI 가 Java 에서 사용하기 불편하고 CGI의 특성(프로세스를 만들었다 죽임) 때문에 Servlet 사용 Servlet은 spec(API) 이고 servlet을 생애주기에 맞춰 실행시켜주는 것이 Servlet Container이다. Servlet Container = Tomcat = Web Application Server Proxy Servlet 구현 Servlet 생애주기 : init -> service -> destroy service() 메서드는 굳이 override 할 필요 없음 : doGET(), doPost() 로 사용 doGET() ServletContext Ser..

개발/JAVA 2022.10.31

[JAVA] 직접 구현해보는 ArrayQueue 와 LinkedQueue

Queue는 First in First Out의 규칙을 가진 자료구조로서 간단한 예로 식당 예약 줄(먼저 들어온사람이 먼저 먹어야함!)이 있다. 자바의 Collection에 아주 잘 구현이 되어있지만 Queue의 내부 동작을 이해할 겸 Array 및 Node로 직접 구현해보았다. public interface Queue { public boolean isEmpty(); public void add(E element); public E element(); public E remove(); public int size(); } Queue를 구현 하기 전에 필수로 구현해야할 메소드를 interface로 정해놓았다. Array를 통해 구현한 Queue public class ArrayQueue implement..

개발/JAVA 2022.09.13

[JAVA] 배열 - Binary search (이분 탐색)

배열을 다시 공부하며 라이브러리의 메소드를 사용하지 않고 binary search를 직접 구현 해보고자 한다. 순차적 순회(for문으로 인덱스 0부터 if로 찾아보는 것)는 최악의 경우 N의 시간 복잡도를 가진다 그에 반해 binary search는 인덱스를 반씩 나눠가면서 찾고자 하는 수를 찾기 때문에 logN의 시간 복잡도를 가진다. (못찾으면 인덱스를 반으로 숭당 잘라서 그부분만 다시 순회해서 if로 찾으면 된다) 낮은 인덱스 : 0 높은 인덱스 : 찾아야하는 배열의 길이 중간 인덱스 (핵심!!) : (낮은 인덱스 + 높은 인덱스) / 2 이렇게 구한 중간 인덱스를 통해 찾고자하는 수를 찾으면 순회끝! 아래 코드를 보면 더 명확하게 알 수 있다. public static Integer binarys..

개발/JAVA 2022.09.03