나는 자바에서 매우 근본적인 문제가있다. 나는 이것을 모든 곳에서 찾았지만 어느 곳에서나 해결책을 찾지 못했습니다.가비지 수집의 연쇄 반응
이진 트리 삭제에 대해 읽으려고합니다. DFS, BFS 등을 사용하기 전에 트리의 루트에 대한 모든 활성 참조를 해제하면 트리 전체가 자동으로 GCed되어야한다고 생각했습니다. 내 말은 루트에 대한 유일한 활성 참조를 삭제하면 루트가 GCed가되어야하므로 루트의 자식에 대한 활성 참조가없고 GCed를 가져와야한다는 것입니다. 전체 트리가 GC 될 때까지 연쇄 반응으로 계속해야합니다. 내가 맞습니까, 아니면 내 분석에 문제가 있습니까?
가정 : 모든 노드는 부모 만 참조하고 다른 노드는 참조하지 않습니다.
관련 : http://stackoverflow.com/questions/176745/circular-references-in-java – nhahtdh
Java GC는 내 이해에 의해 프로그램이 더 이상 메모리 덩어리를 참조 할 수 없을 때 모든 것을 정리해야합니다. – nhahtdh
네, 당신 말이 맞아요. 일반적으로 GC는 실제로 매우 똑똑합니다. –