JVM은 대형 순환 참조를 찾고 오브젝트를 수집 할 수 있습니까? 동일한 공식 문서/링크가 있습니까? 또는 대형 순환 참조 가비지 수집에 대한 좋은/나쁜 경험이 있습니까?대형 순환 참조 및 JVM 가비지 컬렉터
업데이트 링크 : http://java.sun.com/docs/books/performance/1st_edition/html/JPAppGC.fm.html#997442
JVM은 대형 순환 참조를 찾고 오브젝트를 수집 할 수 있습니까? 동일한 공식 문서/링크가 있습니까? 또는 대형 순환 참조 가비지 수집에 대한 좋은/나쁜 경험이 있습니까?대형 순환 참조 및 JVM 가비지 컬렉터
업데이트 링크 : http://java.sun.com/docs/books/performance/1st_edition/html/JPAppGC.fm.html#997442
간단한보기에서 JVM은 Tracing Garbage Collection, Mark-and-Sweep을 사용합니다. 순환 참조는 "기본"수준에서 시작하여 거기에서 도달 할 수있는 요소를 찾기 위해 참조를 통해 작동하기 때문에 이러한 알고리즘의 올바른 동작을 방해하지 않습니다. 도달 할 수없는 사람은 수집/해제 할 수 있습니다.
JVM 가비지 수집기는 일반적으로 이보다 훨씬 복잡하며 일을 더 빨리 수행 할 수있는 많은 최적화가 있습니다. 즉, 마크 앤 스위프 (mark-and-sweep) 알고리즘의 일반적인 특성은 사실입니다.
예. JVM의 가비지 컬렉터는 순환 참조를 처리 할 수 있습니다.
JVM에서 사용하는 가비지 수집기는 참조 계산 가비지 수집기가 아닙니다. 대신, 여전히 액세스 할 수있는 참조 (모든 스레드 스택 또는 정적 참조에 대한 참조)에서 추적하여 가비지를 찾습니다.
예. 어떤 종류의 문서가 필요합니까? – alf