相关疑难解决方法(0)

为什么存在WeakHashMap,但缺少WeakSet?

来自J. Bloch

内存泄漏的来源是监听器......确保回调被及时垃圾回收的最佳方法是仅存储对它们的弱引用,例如,通过仅将它们存储为WeakHashMap中的键 .

那么,为什么Java Collections框架中没有任何WeakSet ?

java collections garbage-collection weak-references

72
推荐指数
2
解决办法
2万
查看次数

Java中有SoftHashMap吗?

我知道有一个WeakHashMapin java.util,但由于它只使用了WeakReferences,只有这个Map引用,引用的对象将在下一个GC循环中丢失.因此,如果您想要缓存随机数据,这几乎是无用的,这很可能会再次被请求而不会在其余时间进行硬链接.最好的解决方案是使用SoftReferences代替的地图,但我没有在Java RT Package中找到一个.

java weak-references hashmap soft-references

63
推荐指数
2
解决办法
2万
查看次数

使用谷歌收藏MapMaker?

我刚刚在SO中看到了这个答案,其中提到Google收藏的MapMaker非常棒.我浏览了文档,但无法弄清楚我可以在哪里使用它.任何人都可以指出某些情况会在哪里适合使用MapMaker.

java map guava

8
推荐指数
1
解决办法
4275
查看次数

具有"对象到期"的对象缓存数据结构

Java中的哪种数据结构最适合实现内存中对象缓存,其中对象具有单独的到期时间?

基本上对于缓存我可以使用Map(其中key可以是String),它提供put和get方法,并使用"timestamp"+"object"对的有序列表来管理到期时间.因此,清理线程可以检查第一个列表条目,并在其到期时间过后删除该对象.(删除第一个元素应该在O(1)时间内)

java collections caching data-structures

4
推荐指数
2
解决办法
4209
查看次数