我一直试图理解不同参考文献之间的区别,但理论并没有激发任何想法让我想象相同.
有谁能请简要解释一下不同的参考文献?
每个例子都会做得更好.
Von*_*onC 21
关于这个主题的另一篇好文章:
Java参考对象或我如何学会停止担心和爱OutOfMemoryError,带有漂亮的图表

提取:
正如您可能猜到的那样,在对象生命周期图中添加三个新的可选状态会造成混乱.
虽然文档表明从强可达到软,弱和幻像到回收的逻辑进展,但实际的进展取决于程序创建的参考对象.
如果您创建WeakReference但不创建aSoftReference,则对象直接从强可达到弱到达到最终到收集.对象生命周期,带参考对象
同样重要的是要记住,并非所有对象都附加到参考对象 - 事实上,它们应该很少.
引用对象是一个间接层:您通过引用对象访问引用的对象,显然您不希望在整个代码中使用该间接层.
事实上,大多数程序将使用引用对象来访问程序创建的相对少量的对象.
参考文献和参考文献
引用对象在程序代码和其他对象(称为引用对象)之间提供了一个间接层.
每个引用对象都围绕其引用对象构造,并提供get()方法来访问引用对象.创建引用后,您无法更改其引用.收集了引用后,get()方法返回null.应用程序代码,软/弱引用和引用之间的关系

更多示例:Java编程:参考资料包
alt text http://www.pabrantes.net/blog/space/start/2007-09-16/1/referenceTypes.png
情况1:这是常规情况,其中称对象是强可达的.
情况2:Object有两条路径,因此选择最强的路径,即具有强引用的路径,因此对象可以很容易地到达.
情况3:再次有两个到Object的路径,最强的一个是Weak Reference(因为另一个是Phantom Reference),因此该对象被认为是弱可达的.
情况4:只有一条路径,最弱的链接是弱引用,因此该对象是弱可达的.
情况5:只有一条路径和最弱的链接是幻像参考,因此该对象是幻象可达的.
情况6:现在有两条路径,最强的路径是带有软引用的路径,因此现在可以轻松地访问该对象.