Unicorns
All the things
All the things
JVM Execution Engine(실행 엔진) 안에 있는 Garbage Collcetion 은 자동으로 메모리를 관리해주는
프로세스를 말한다.
: 정적으로 할당한 메모리 영역
원시 타입의 데이터가 값과 함께 할당, Heap 영역에 생성된 Object 데이터의 주소 값을 참조
모든 Object 타입이 Heap에 생성
: 동적으로 할당한 메모리 영역
Garbage Collector 는 동적으로 할당한 메모리 영역 중 사용하지 않는 영역을 탐지하여 해제하면서 메모리를 관리 한다.
이러한 GC가 수행 될 때 Heap에서는 아래 그림과 같은 영역으로 나뉘어 각자의 역할을 수행한다.
※ GC는 Gabage Collection 의 줄임말이다.
Stop the World Event - 모든 minor GC는 "Stop the Wrold" event 이다.
stop the world 란, GC를 실행하기 위해 JVM이 애플리케이션을 멈추는 것을 말한다.
stop the world 가 발생하면 GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춘다.
GC 작업을 완료한 이후에 중단 했던 작업을 다시 시작한다.
이러한 과정 중에 survivor 영역 중 하나느 반드시 비어 있는 상태로 남아 있어야 한다.
만약 두 Survivor 영역에 모두 데이터가 존재하거나 , 두 영역 모두 사용량이 0이면 , 이 시스템은 정상적인 상황이 아니라고 보면 된다.
REFERENCE
https://www.youtube.com/watch?v=vZRmCbl871I
https://www.youtube.com/watch?v=Fe3TVCEJhzo
https://d2.naver.com/helloworld/1329
https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html
[Java Study] - 자바의 예외 처리(Exception Handling) (0) | 2021.10.01 |
---|---|
[JavaStudy] - Class Loader(클래스 로더) in JVM (0) | 2021.09.29 |
[Java Study] - LinkedList , Queue in Collection framework (0) | 2021.09.26 |
[Java Study] - 연산자 , 연산자의 종류 (0) | 2021.09.23 |
[Java Study] - 자바 데이터 타입, 변수 ,배열 (0) | 2021.09.22 |