当我学习PermGen时,我遇到了“硬引用”这个术语。我不知道“硬引用”的含义。请问有人能解释一下或给我一些相关的教程吗?
强引用是一种告诉垃圾回收器不要触碰该对象(即不从内存中删除它)的引用。
通过垃圾回收器根(任何线程的临时变量、任何类的静态变量和来自JNI本地代码的特殊引用)可达的任何对象都将被保留。强引用是普通引用。
垃圾回收器在清理时不考虑软引用、弱引用和虚引用(这并非完全正确,因为软引用会保留一段时间)。只有通过非强引用可达的对象可能在程序执行期间被清除,并且这些引用随时可能返回null
。与强引用相反,您需要创建一个referenceobject来使用这些类型的引用。
有关软引用、弱引用和虚引用的更多背景信息,请参见this document。