직렬 수집기: 재활용을 위해 복사 알고리즘을 사용하는 차세대 단일 스레드 수집기입니다. 가비지 수집 중에는 다른 사용자의 모든 스레드가 일시 중지됩니다.
Serial Old Collector: Mark-Clear 알고리즘을 사용하는 Serial의 구세대 버전도 단일 스레드 수집기입니다.
ParNew 컬렉터: ParNew 컬렉터는 실제로 멀티스레드 버전의 Serial입니다. 멀티스레드 가비지 컬렉션 외에 수집 알고리즘(복사 알고리즘), 객체 할당 규칙, 재활용 전략 등을 포함합니다. 모두 직렬 수집과 동일합니다. 장치는 완전히 동일합니다.
병렬 스캐빈지 컬렉터: 복사 알고리즘을 사용하는 차세대 컬렉터이며 병렬 멀티스레드 컬렉터입니다. 이 컬렉터는 시스템의 처리량(사용자 코드 실행 시간/(시간)을 향상시키기 위해 설계되었습니다. 사용자 코드 실행 + 가비지 수집 시간)), 따라서 병렬 스캐빈저 수집기는 "처리량 우선 순위" 수집기라고도 합니다.
Parallel Old Collector: 'mark-clear' 알고리즘을 사용하는 Parallel Scavenge Collector의 구세대 버전입니다.
CMS Collector: 사용자 서비스의 응답 속도에 특별히 주의를 기울이고 있으며, 시스템 정지 시간을 최소화하여 사용자에게 더 나은 경험을 제공할 수 있기를 바랍니다. 동시 수집, 낮은 일시 중지. 대신 'mark-and-sweep' 알고리즘이 사용됩니다.
G1 컬렉터: 현재 컬렉터 기술 개발에서 가장 최첨단 기술 중 하나
병렬 및 동시성 방법
세대별 컬렉션을 채택하면 다른 컬렉터와 협력하지 않고도 전체 GC 힙을 독립적으로 관리할 수 있습니다.
공간 통합: 전반적으로 G1은 'mark-organize' 알고리즘을 사용하지만 로컬에서 관점에서는 "복사" 알고리즘을 기반으로 합니다. 그러나 어떤 경우에도 두 알고리즘 모두 G1 알고리즘이 메모리 공간 조각화를 생성하지 않으며 수집 후 정기적으로 사용 가능한 메모리를 제공할 수 있음을 의미합니다.
작업 단계: 초기 마킹, 최종 마킹, 재활용.
비고:
동시성: 가비지 수집 스레드는 사용자 스레드와 동시에 실행될 수 있습니다.
병렬: 여러 개의 가비지 수집 스레드가 있을 수 있지만 사용자는 스레드는 현재 상태에서 여전히 대기 중입니다.