Вопрос

Is it the case that only if a class has a finalize() method, only then that object, when unreachable, is added to the finalization queue? Reason being I was going through this link and in the category Avoid Memory-Retention Problems When Subclassing it says that a large array is not available for garbage collection till finalize() is called. But my point is that even if I don't write a finalize() method, still it had to wait for the object to be deque'd in the finalization queue.

Это было полезно?

Решение

Is it the case that only if a class has a finalize() method, only then that object, when unreachable, is added to the finalization queue?

Almost. It says that objects whose superclasses have implemented "finalize" are added to the finalization queue when the garbage collector finds them unreachable.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top