开发者社区 问答 正文

为什么要有不同的引用类型

为什么要有不同的引用类型

展开
收起
游客pklijor6gytpx 2019-12-02 15:16:55 920 分享 版权
1 条回答
写回答
取消 提交回答
  • 用软引用和弱引用解决OOM问题:用一个HashMap来保存图片的路径和相应图片对象关联的软引用之间的映射关系,在内存不足时,JVM会自动回收这些缓存图片对象所占用的空间,从而有效地避免了OOM的问题.

    通过软引用实现Java对象的高速缓存:比如我们创建了一Person的类,如果每次需要查询一个人的信息,哪怕是几秒中之前刚刚查询过的,都要重新构建一个实例,这将引起大量Person对象的消耗,并且由于这些对象的生命周期相对较短,会引起多次GC影响性能。此时,通过软引用和 HashMap 的结合可以构建高速缓存,提供性能。

    2019-12-02 15:17:55
    赞同 展开评论
问答地址: