본문 바로가기

가비지콜렉션2

[java] 가비지 콜렉션의 종류(GC: Garbage Collection) GC의 종류에 대해서 알아보겠습니다. SerialGC 싱글 스레드로 Young 영역, Old 영역을 처리 하나의 스레드를 이용해서 동작하기 때문에 멀티 스레드 환경의 서버 프로그램에서는 부적합 일시 중지에 관대한 클라이언트 프로그램이나 테스트용 프로그램에 적합 java -XX:+UseSerialGC Mark-Sweep-Compact 알고리즘을 이용 Mark: 살아 있는 객체를 선택 Sweep: 선택되지 않은 객체를 정리 Compact: 메모리 공간을 압축 ParallelGC Minor GC를 여러개의 스레드를 이용하여 동시에 처리 Major GC는 싱글 스레드로 처리 SerialGC보다 빠르지만 더 많은 자원을 소모 Mark-Sweep-Compact 알고리즘을 이용 java -XX:+UseParallel.. 2019. 7. 24.
[java] 자바의 가비지 콜렉션(GC: Garbage Collection)과 jstat을 이용한 모니터링 자바는 가비지 콜렉션 기능을 이용해 메모리 관리의 효율성을 제공합니다. 자바의 가비지 콜렉션은 'weak generational hypothesis' 이론에 기반합니다. 이는 신규로 생성한 객체의 대부분은 금방 사용하지 않는 상태가 되고, 오래된 객체에서 신규 객체로의 참조는 매우 적게 존재한다는 것입니다. 이 이론에 기반하여 자바는 Young 영역과 Old 영역으로 메모리를 분할하고, 신규로 생성되는 객체는 Young 영역에 보관하고, 오래동안 살아남은 객체는 Old 영역에 보관합니다. Young 영역은 Eden, S0, S1 영역으로 구분됩니다. 신규로 생성되는 객체는 Eden에 보관되고, Eden 영역이 100% 차게 되면 사용하지 않는 객체는 제거하고 사용되는 객체는 S0 영역으로 이동합니다. 이.. 2019. 6. 4.