什么是Java的硬参考?

时间:2011-07-11 11:43:26

标签: java

当我研究permgen时,我遇到了硬性参考这个词。我不知道硬参考是什么意思。有人可以解释或给我一些关于这方面的教程吗?

3 个答案:

答案 0 :(得分:3)

这里有一些关于java

中的硬(又名强)和弱引用的教程

通过简单的谷歌搜索找到

答案 1 :(得分:2)

硬引用是普通引用,即变量,而不是java.lang.ref.Reference,幻像,软引用和弱引用的子类。

答案 2 :(得分:1)

强(硬)引用是一个引用,它告诉垃圾收集器不要触摸这个对象(例如,不要将其从内存中删除)。

通过垃圾收集器根的强引用可以访问任何对象(堆栈(任何线程)上的临时变量,静态变量(来自任何类)和来自JNI本机代码的特殊引用)将保持活动状态。强引用是正常的引用。

清理时垃圾收集器不考虑软引用,弱引用和幻像引用(这不完全正确,因为软引用会保留一段时间)。 任何只能通过非强引用访问的对象可能会在程序执行期间被清除,并且这些引用可以在任何给定时间返回null。与强引用相反,您需要使referenceobject使用这些类型的引用。

有关soft,weak和phantom引用的更多背景信息,请查看this document