Tag: 软引用

Java中是否有SoftHashMap?

我知道在java.util中有一个WeakHashMap,但是因为它使用WeakReferences来处理所有的事情,只有这个Map被引用,所以在下一个GC循环中被引用的对象将会丢失。 所以如果你想要caching随机数据,这几乎是没有用的,而这些数据很可能在没有被其他时间硬连接的情况下再次被请求。 最好的解决scheme是使用SoftReferences的地图,但是我没有在Java RT Package中find它。

了解Java的引用类:SoftReference,WeakReference和PhantomReference

有人可以解释三个参考类之间的差异(或链接到一个很好的解释)? SoftReference > WeakReference > PhantomReference ,但是什么时候使用每个? 为什么有一个WeakHashMap但没有SoftHashMap或PhantomHashMap ? 如果我使用下面的代码… WeakReference<String> ref = new WeakReference<String>("Hello!"); if (ref != null) { // ref can get collected at any time… System.gc(); // Let's assume ref gets collected here. System.out.println(ref.get()); // Now what?! } …怎么了? 每次发言之前,我是否需要检查ref是否为空(这是错误的,但是我应该怎么做)? 对不起,快速的问题,但我无法理解这些Reference类…谢谢!

爪哇:强/软/弱/幻影参考之间的区别

我已经阅读了这篇关于这个话题的文章 ,但我并不是很了解它。 在描述概念时,请给出一些build议和示例。

Java中的SoftReference和WeakReference有什么区别?

有什么不同?