Shi*_*iel 8 java phantom-reference finalize
幻影参考用于验尸操作.Java规范规定,在清除幻像引用本身之前,不会释放幻像引用的对象.
我的问题是:此功能(对象未解除分配)的用途是什么?
(我提出的唯一想法是允许本机代码对对象进行事后清理,但这并不是很有说服力).
我能想到的唯一可以防止释放的好用例是某种 JNI 实现的异步数据源正在写入引用的对象,并且必须被告知停止写入 - 停止写入对象 -在内存被回收之前。如果允许事先释放,一个简单的忘记处置()错误可能会导致内存损坏。
这是过去使用 Finalize() 的情况之一,并且可能导致了它的一些怪癖。
| 归档时间: |
|
| 查看次数: |
2066 次 |
| 最近记录: |