[CS/1주차] JAVA 이론①(JVM, 스레딩, List, Map)
·
Algorithm & CS/Computer Science
1. JVM 메모리 구조와 GC (Garbage Collection)JVM 메모리는 크게 여러 영역으로 나뉘지만, 면접에서는 Stack, Heap, Method Area(Metaspace) 이 세 가지의 역할과 차이를 명확히 구분하는 것이 핵심이다.영역저장되는 것생명 주기 (Lifecycle)특징Method Area(Static 영역)클래스 정보(설계도),Static 변수, 상수프로그램 시작(클래스 로딩) ~ 종료모든 스레드가 공유함.(Java 8부터는 Metaspace로 변경되어 Native Memory 사용)Heapnew로 생성된 객체(Instance),Array객체 생성 ~ GC가 수거할 때모든 스레드가 공유함.GC의 주 무대.Stack메서드 실행 프레임,지역 변수(Primitive),참조 변수(주..
[JAVA]Thread
·
Archive/JAVA
쓰레드(Thread) :하나의 실행 흐름을 나타내는 작업 단위 하나의 프로세스에서 독립적으로 실행될 수 있는 하나의 작업 단위 스레드 스케줄러에 의해 관리되며, CPU 할당을 받아 실행 Thread 클래스 : java에서 쓰레드를 생성하고 관리하기 위한 클래스 일반적으로 Thread와 다른 개념이지만, '쓰레드'라고 부르기도 한다. 실행 흐름인 쓰레드를 구현하는 클래스 단일 스레드(Single-threaded) : 하나의 스레드만을 이용하여 , 한 번에 하나의 작업만 수행하며 순차적으로 실행 구현이 간단하고 예측이 가능하나, 처리 속도가 대규모 애플리케이션일수록 떨어지고, 성능에 제한이 있을 수 있다. 멀티스레드(Multithreading) :하나의 프로세스에서 동시에 여러 개의 쓰레드를 실행 하나의 프..
05.스레드(Thread)
·
Archive/기술면접
쓰레드란? 쓰레드를 구현하기 위한 인터페이스, 클래스는? 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위. 프로세스의 특정한 수행 경로이다. 여기서 프로세스는 운영체제로부터 시스템을 할당받는 작업의 단위, 동적인 개념으로 현재 실행 중인 프로그램이다. 기본적으로 최소 1개의 스레드를 갖는다. 멀티 쓰레드는 하나의 응용프로그램을 여러 개의 스레드로 구성하고, 각 스레드로 하여금 하나의 작업을 처리하도록 하는 것이다. 웹 서버는 대표적인 멀티스레드 응용프로그램이다. #.쓰레드 생성 방법 - 쓰레드를 구현하기 위해선 java.lang.Thread 클래스를 상속받거나 java.lang.Runnable 인터페이스를 구현합니다. - 쓰레드를 만드는 첫번째 방법은 Thread 클래스를 상속해서 만드는 것입니다...