为什么我们需要Java中的弱引用

18字节:

我知道弱引用是垃圾收集器的摆布,我们不能保证弱引用会存在。我认为没有必要提供较弱的参考,但可以确定应该有一个理由。

  • 为什么我们需要Java中的弱引用?
  • Java中弱引用的实际(某些)用法是什么?如果您可以分享您在项目中的使用方式,那就太好了!
飞行:

使用弱哈希图实际上通常是一个坏主意。首先,很容易出错,但更糟糕的是,它通常用于实现某种缓存。

这意味着以下内容:您的程序在一段时间内运行良好且性能良好,在压力下,我们分配了越来越多的内存(更多的请求=更多的内存压力=可能会有更多的缓存条目),这随后导致产生GC。

现在,突然的,当您的系统处于高负荷状态时,您不仅会获得GC,而且会在最需要时失去整个缓存。这个问题不好玩,因此您至少必须使用大小合理的硬引用LRU缓存来缓解该问题-那时您仍然可以使用weakrefs,但只能作为附加帮助。

我已经看到多个项目被该“ bug”击中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章