2014-02-23 2 views
0

다른 객체에 의해 참조되지 않은 메모리의 객체가 java의 가비지 컬렉션 후보가 될 때가 있다는 것을 알고 있습니다. 그러나 만약 서로를 참조하는 객체들의 무리가 있지만 비활성 상태라면 ... 가비지 컬렉터에 의해 이들 객체의 메모리가 지워지겠습니까 ??자바에서 다중 객체 가비지 컬렉션

+1

볼 http://stackoverflow.com/questions/1910194/garbage- : 자바에서 메모리 누수가

당신은 여기에 대한 자세한 내용을보실 수 있습니다하지 않는 이벤트 핸들러, 컬렉션 등처럼, 같은 개체에 의해 발생 explination을위한 java-and-circular-references 참조 –

+2

강력하게 도달 할 수없는 모든 객체는 참조하는 대상과 상관없이 후보입니다. –

답변

1

Java 가상 머신은 참조 카운팅을 사용하지 않습니다. 그들은 Mark-Sweep과 가비지 콜렉션 알고리즘을 사용하여 객체 참조, 심지어 순환을 통해 더 이상 접근 할 수없는 객체의 제거를 보장합니다.

비활성 상태이거나 사용되지 않지만 개체 참조를 통해 도달 할 수있는 개체는 가비지 수집되지 않습니다. 그들은 깨끗하게되지 않을 것입니다. http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html