当我研究permgen时,我遇到了硬性参考这个词。我不知道硬参考是什么意思。有人可以解释或给我一些关于这方面的教程吗?
答案 0 :(得分:3)
这里有一些关于java
中的硬(又名强)和弱引用的教程通过简单的谷歌搜索找到
答案 1 :(得分:2)
硬引用是普通引用,即变量,而不是java.lang.ref.Reference,幻像,软引用和弱引用的子类。
答案 2 :(得分:1)
强(硬)引用是一个引用,它告诉垃圾收集器不要触摸这个对象(例如,不要将其从内存中删除)。
通过垃圾收集器根的强引用可以访问任何对象(堆栈(任何线程)上的临时变量,静态变量(来自任何类)和来自JNI本机代码的特殊引用)将保持活动状态。强引用是正常的引用。
清理时垃圾收集器不考虑软引用,弱引用和幻像引用(这不完全正确,因为软引用会保留一段时间)。
任何只能通过非强引用访问的对象可能会在程序执行期间被清除,并且这些引用可以在任何给定时间返回null
。与强引用相反,您需要使referenceobject使用这些类型的引用。
有关soft,weak和phantom引用的更多背景信息,请查看this document。