목록분류 전체보기 (187)
New World
Servlet, JSP Servlet Container가 이해할 수 있게 구성된 순수 자바 코드로만 이루어진 것(Html in JAVA) 웹 페이지를 동적으로 생성하기 위한 서버 측 프로그램 웹 어플리케이션 서버 위에서 컴파일 되고 동작 JSP Java Server Page, html기반에 JAVA코드를 블록화하여 삽입하여 동적 웹페이지가 됨(JAVA in Html) jsp가 실행되면 자바 서블릿으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그 데이터를 웹페이지와 함께 클라이언트로 응답 ? 서블릿이 뭔가요? 컨테이너가 이해할 수 있도록 순수 자바 코드로만 이루어진 파일 ? Spring Web MVC의 Dispatcher Servlet의 동작 원리에 대해서 간단히 설명해주세요. ..
Thread 프로세스 내에서 동시에 실행되는 독립적인 실행 단위 장점 빠른 프로세스 생성 적은 메모리 사용 쉬운 정보 공유 단점 교착상태에 빠질 수 있다. * 교착상태 - 다중프로그래밍 체제에서 하나 또는 그 이상의 프로세스가 수행 할 수 없는 어떤 특정시간을 기다리고 있는 상태. Thread와 Process 차이 Process : 실행중인 프로그램 Thread : 프로세스 내에서 실행되는 각각의 일, 프로세스 내에서 실행되는 세부 작업 단위로 여러 개의 스레드가 하나의 프로세스를 이루게 되는 것이다. Multi-Thread 환경에서의 개발 Field member 필드(field)란 클래스에 변수를 정의하는 공간을 의미하며 이곳에 변수를 만들어두면 메소드끼리 변수를 주고 받는 데 있어서 참조하기 쉬우므로..
Garbage Collection 시스템에서 더이상 사용하지 않는 동적 할당된 메로리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것 시스템에서 가비지컬렉션을 수행하는 부분을 가비지 컬렉터라 부른다. GC 종류 Minor GC : young 영역, eden이 full 되었을 때 Major GC : old 영역, minor GC가 실패 할 때 Full GC : 전체 heap + permament, Minor, Major GC가 실패 할 때 JVM에서 GC 동작 방식 Heap 영역에 존재하는 객체들에 대해 접근 가능한지 확인 GC Root에서 부터 시작하여 참조값을 따라가며 접근 가능한 객체들에 Mark하는 과정을 진행 Mark 되지 않은 객체 즉, 접근할 수 없는 객체는 제거(Sweep) 대상..
Overriding vs Overloading Overloading(오버로딩) Overriding(오버라이딩) 같은 이름의 다른 함수를 호출 - 같은 이름의 메소드를 여러개 정의 - 매개변수의 타입이 다르거나 개수가 달라야 함 - java, 다른 시그니쳐를 만드는 것 => 정적 바인딩 *return type과 접근 제어자는 영향 X - 상속에서 나온 개념 - 상위 클래스 (부모 클래스)의 메소드를 하위 클래스(자식 클래스)에서 재정의 (java, 동적 바인딩됨) ? Overloading, Overriding을 각각 설명해주세요. Overloading은 같은 이름의 메소드를 여러개 정의하는 것이며 Overriding은 상속으로 나온 것으로 클래스가 재정의 되는 것을 의미한다. Session vs Cooki..
접근제한자(public > protected > default > private) 변수 또는 메소드의 접근 범위를 설정해주기 위해서 사용하는 Java 의 예약어를 의미하며 총 네 가지 종류가 존재한다. public 접근 제한이 없다.(같은 프로젝트 내에 어디서든 사용가능) 어떤 클래스, 어디서든 접근 가능 protected 같은 패키지 내, 다른 패키지에서 상속받아 자손클래스에서 접근 가능 클래스가 정의되어 있는 해당 패키지 내 그리고 해당 클래스를 상속받은 외부 패키지의 클래스에서 접근이 가능 default 같은 패키지 내에서만 접근 가능 클래스가 정의되어 있는 해당 패키지 내에서만 접근이 가능하도록 접근 범위를 제한 private 같은 클래스 내에서만 접근 가능 정의된 해당 클래스에서만 접근이 가능하..
JAVA - 네트워크 사에서 쓸 수 있도록 미국의 선 마이크로 시스템즈가 개발한 객체 지향 프로그래밍 언어 자바의 구동원리 javac라는 자바 전용컴파일러가 자바코드 [.java]를 컴퓨터가 이해할 수 있도록 프로그래밍 언어를 기계어로 변경하게 되면 [.class]라는 확장자를 가진 파일이 생성되는데 [.class]파일은 JVM을 통해서 실행된다 특징 - JVM (자바 가상 머신)만 설치하면 컴퓨터의 운영체제에 상관없이 작동한다 (운영체제에 독립적) - 기본 자료형을 제외한 모든 요소들이 객체로 표현 - 캡슐화, 상속, 다형성이 잘 적용된 언어 캡슐화 : 하나의 객체에 대해 그 객체가 특정한 목적을 위해 필요한 변수나 메소드를 하나로 묶는 것, 코드의 수정 없이 재활용, 접근 제어자를 통한 정보 은닉 상..
개념 및 용어 관계를 그래프로 추상화하여 다룰 수 있음 정의 : 정점을 포함하는 집합 V와 두 정점의 쌍으로 구성되는 간선을 포함하는 집합 E의 순서쌍으로 정의 간선은 두 정점 쌍으로 나타냄 두 정점이 서로 인접한다 : 연결하는 간선이 존재 독립 정점 널 그래프 경로 : 간선의 열 (연결되어있다) 경로의 길이 : 경로에 있는 간선의 수 가중 그래프 : 간선이 가중치를 갖는 그래프 완전 그래프 : 모든 저점들이 간선으로 서로 연결될 그래프 무방향 그래프의 간선 개수 루프 : 길이가 1개인 경로 사이클 : 처음과 끝이 같은 경우 무사이클 그래프(트리) : 사이크리 없는 그래프 추상 자료형 그래프 표현 방법 그래프 탐색 그래프 순회 깊이 우선 탐색 : 깊이 있게 들어가는 것 인접한 모든 정점들이 이미 방문한 ..
m원 탐색 트리 노드의 가지 개수가 많을 수록 최대 탐색 길이는 짧아짐 B트리 B*트리, B+트리 B* 트리 - 노드의 약 2/3 이상이 채워지는 B트리 - B+트리 - 탐색 트리로 구성하면 매우 빠르게 탐색할 수 있지만 전체 데이터를 차례로 처리하기는 불편함 - 잎노드를 연결하는 포인터를 가짐 - 모든 키값이 잎노드에 있고 그 그 키값에 대응하는 실제 데이터 (파일 내용)에 대한 주소를 잎노드만이 가지고 있음 2-3트리 차수가 2 또는 3인 내부 노드를 갖는 탐색 트리 2-노드와 3-노드만으로 구성되는 특수한 형태의 B 트리 2-3-4트리 2-3 트리를 확장하여 4개의 자식을 가진 4-노드를 허용하는 탐색 트리 2-3 트리보다 삽입과 삭제가 용이 삽입 및 삭제 연산을 수행하는데 더 효율적 레드 블랙 트..