2011-07-29 5 views
0

다음 화면은 IBM Heap Analyzer에서 가져온 것입니다. enter image description hereIBM 힙 분석기 - 마무리 방법

'Finalize() 메소드가있는 객체 수'와 'finalize() 메소드를 구현하는 가비지 객체 수'의 차이점을 알고 싶습니다.

답변

1

"Finalize() 메서드가있는 객체 수"는 힙에 finalize 메서드가있는 5 개의 라이브 객체가 있음을 의미합니다. 당신이 그 중 많은 것을 가지고 있다면, 그들은 GC'd해야 할 때까지 그런 해를 끼치 지 않습니다. 그래서 그것은 수평선에서 양조하는 것을 암시합니다.

"finalize() 메서드를 구현하는 가비지 객체 수"값은 finalize() 메서드가있는 가비지 수집 객체 수를 나타냅니다. 위의 숫자와 달리, 이들은 가격을 지불 한 대상입니다.

첫 번째 숫자가 작고 수명이 긴 개체 일 경우 걱정할 필요가 없습니다.

첫 번째 숫자가 작고 두 번째 숫자가 높으면 이는 finalize() 메서드를 사용하여 수명이 짧은 많은 개체가 있음을 의미하며 GC 실행 비용이 높아지기 때문에 문제가 될 수 있습니다.