|
|
1
59
顺序不同:
见 http://java.dzone.com/articles/ocajp-7-object-lifecycle-java
|
|
|
2
8
我认为它暗示了这样一个事实:在GC真正丢弃对象之前,实际上还有其他事情可以对该对象进行/发生。 引用参考文献:
因此,在GC丢弃它之前,最终确定过程并不是最后一件事。 |
|
|
3
2
不能保证
假设您的程序结束(通过调用
因此,将必须在
|
|
|
4
2
我想你可以为这两个答案辩护,
|
|
|
5
1
命令是错误的,因为 DR 已经显示出来了。 对象将其状态更改为 收集 当GC识别到对象不可访问时。 所以 谁 是否应在检测到此“不可访问”条件之前采取操作完成对象?实际上,是垃圾收集器将收集的对象标记为完成(如果对象Finalize方法被重写)。我们真的不想最终确定仍然可以访问的对象,例如“正在使用”。 不管怎样,这个问题很好,因为你倾向于说“是的,这是真的”。 |
|
|
6
0
通过指向finalize方法,可以在finalize方法中恢复该对象,这样在调用finalized方法之后,GC可能不会收集该对象。但当对象再次可用于垃圾收集时,它不会调用该对象的finished方法,因为它已被标记/标记为finished。因此,在GC发生之前,调用finalize方法或对象可以恢复。 |