以下关于finalize()方法的描述,正确的是:
答案解析
核心考点:垃圾回收机制与finalize方法特性
解题思路分析:
1. finalize()在对象被回收前由GC调用,但不保证立即执行
2. finalize()中使对象重新可达会复活对象,但仅限一次
3. Object类finalize()为空实现,重写时不强制调用super
选项分析:
A错误:对象进入待回收队列后,finalize()执行时间不确定
B错误:只能暂时延缓回收,不能永久阻止
C错误:规范建议但不强制调用super
D正确:JVM保证每个对象的finalize()最多调用一次
延伸考点:
- finalize()执行线程没有保证
- 该方法已被标记为deprecated
正确答案:D