목록전체 글 (75)
Kim Jinung

Multithreading 프로세스에서 스레드 여러 개를 동시에 실행하는 기법이다. Thread 프로세싱의 가장 작은 유닛 단위로, 가벼운 서브 프로세스에 해당한다. 멀티쓰레딩과 멀티프로세싱 모두 멀티태스킹을 위해 사용한다. 보통 멀티쓰레딩을 멀티프로세싱보다 더 많이 사용한다. 멀티쓰레딩은 공유 메모리 영역을 사용하기 때문에 별도의 메모리 영역을 분리해서 사용하지 않는다. 따라서 컨텍스트 스위칭(Context Switching) 과정에서 멀티프로세싱 보다 더 적은 시간을 필요로 한다. (오버 헤드가 적다.) JVM의 메모리 영역에는 Heap과 Thread stack이 존재한다. Heap은 쓰레드들이 공유하는 메모리 영역이다. Thread stack은 개별 쓰레드마다 할당 받고 프레임을 생성해서 지역 변수..

Hierarchy of Java Exception classes Overview Throwable 클래스가 모든 예외 클래스의 루트 클래스다. Throwable 클래스 하위에는 두 개의 클래스가 존재한다. Exception Error Types of Java Exceptions 1) Checked Exception 컴파일 타임에 체크되는 에러다. Error와 Runtime exception을 제외하면 모두 여기에 해당한다. IOException, SQLException, ClassNotFoundException등이 체크 예외에 해당한다. 현재 메서드에서 예외를 처리하지 못하면 반드시 예외를 발생시켜서 던져주어야 한다. 2) Unchecked Exception Runtime exception을 상속하는 예..

Collection 객체의 그룹을 저장하고 조작할 수 있는 아키텍처를 제공하는 프레임워크다. 인터페이스와 구현체가 존재하며, 인터페이스를 구현하는 1개 이상의 구현체가 존재한다. 자바답게 인터페이스(List, Queue, Set, Deque)를 제공하고, 이에 대한 구현체 클래스를 제공한다. 단순히 해당 프레임워크의 구현체가 제공하는 메서드에 집중하기 보다는 자바에서 왜 이런 인터페이스 상속 구조를 만들었고, 각 구현체는 어떠한 방법을 사용해서 인터페이스를 구현했는 가에 초점을 맞추는 게 중요할 것으로 보인다. Hierarchy of Collection Framework Interface Iterable interface 이터러블 인터페이스는 자료구조에서 순방향으로 요소를 탐색하는 스펙을 정의한다. Co..