HashSet与WeakHashMap的理解

HashSet是如何实现的?

HashSet是对HashMap的简单包装,对HashSet的函数调用都会转换成合适的HashMap方法

//HashSet是对HashMap的简单包装public class HashSet{……private transient HashMap map;//HashSet里面有一个HashMap // Dummy value to associate with an Object in the backing Map private static final Object PRESENT = new Object(); public HashSet() { map = new HashMap(); } …… public boolean add(E e) {//简单的方法转换 return map.put(e, PRESENT)==null; } ……}

什么是WeakHashMap?

我们都知道Java中内存是通过GC自动管理的,GC会在程序运行过程中自动判断哪些对象是可以被回收的,并在合适的时机进行内存释放。GC判断某个对象是否可被回收的依据是,是否有有效的引用指向该对象。如果没有有效引用指向该对象(基本意味着不存在访问该对象的方式),那么该对象就是可回收的。这里的有效引用 并不包括弱引用。也就是说,虽然弱引用可以用来访问对象,但进行垃圾回收时弱引用并不会被考虑在内,仅有弱引用指向的对象仍然会被GC回收。

WeakHashMap 内部是通过弱引用来管理entry的,弱引用的特性对应到 WeakHashMap 上意味着什么呢?

WeakHashMap 里的entry可能会被GC自动删除,即使程序员没有调用remove()或者clear()方法。

WeakHashMap 的这个特点特别适用于需要缓存的场景。在缓存场景下,由于内存是有限的,不能缓存所有对象;对象缓存命中可以提高系统效率,但缓存MISS也不会造成错误,因为可以通过计算重新得到。

如若转载,请注明出处:开源字节 https://sourcebyte.cn/article/164.html

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年6月19日 18:12
下一篇 2022年6月19日 18:13

相关推荐

  • 分享4条发微商朋友圈的方法(微商朋友圈应该怎么发)

    对于微商朋友来说,朋友圈的重要性不言而喻了。 那么微商的朋友圈到底该怎么发呢? 为什么同样是经营一个朋友圈,有的微商看起来逼格满满,实际效果也不错;而有的却动都不动就被屏蔽甚至拉黑…

    2022年11月27日
  • TES官宣knight断开连接!网友:左手就是下一个369

    2022LPL冬季转会期已经正式到来,如果说此次转会期热度最高的一支队伍,无疑就是在2022全球总决赛中拿到四强成绩的JDG了。因为据目前网上爆料人的消息来看,JDG很有可能会通过…

    2022年11月27日
  • 笔记本最好配置(目前笔记本最好的配置)

    本文主要讲的是笔记本最好配置,以及和目前笔记本最好的配置相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 笔记本电脑什么配置好? 01 CPU:这个主要取决于频率和…

    2022年11月26日
  • 《宝可梦朱紫》梦特性怎么获得?隐藏特性获取方法推荐

    宝可梦朱紫里有很多宝可梦都是拥有梦特性会变强的宝可梦,很多玩家不知道梦特性怎么获得,下面就给大家带来宝可梦朱紫隐藏特性获取方法推荐,感兴趣的小伙伴一起来看看吧,希望能帮助到大家。 …

    2022年11月25日
  • 《宝可梦朱紫》奇鲁莉安怎么进化?奇鲁莉安进化方法分享

    宝可梦朱紫中的奇鲁莉安要怎么进化呢?很多玩家都不知道,下面就给大家带来宝可梦朱紫奇鲁莉安进化方法分享,感兴趣的小伙伴一起来看看吧,希望能帮助到大家。 奇鲁莉安进化方法分享 奇鲁莉安…

    2022年11月25日
  • 2023年摆地摊卖什么最赚钱而且很受欢迎(2022年摆地摊合法吗)

    关于摆地摊赚钱每年的热度也是非常高的,很多想要做点小本生意的商家也都会选择摆地摊这个项目,所需要的成本也是非常低的。那么,2023年摆地摊卖什么最赚钱而且很受欢迎?今天极客号小编整…

    2022年11月25日
  • 密接5+3是什么意思(密接人员是什么意思)

    如今新冠病例的传播速度是越来越快了,对于感染了新冠病毒的人员来说都会采取隔离观看措施。而据了解,当前国内又对新冠疫情防控政策做了新的调整优化,其中密接管理调整为“5+3”。很多人对…

    2022年11月25日
  • 不知道考研真题哪里找?看这里!

    考研备考冲刺阶段,知道大家都很疲惫,但是,别让自己之前的努力白费,再坚持坚持,会看到你想要的结果的。 要是你想考研成功,有一个资料就必须要有。它就是:历年考研真题。 考研真题的重要…

    2022年11月25日
  • iPhoneSE4价格或在3000以内 苹果se4最新消息

    据相关爆料,明年即将在春季发布的iPhoneSE4系列,售价可能会在3000元以内,可能会使用iPhone SE4与红米K系列直接竞争,打算正式进入2000元价位市场。可以看出,如…

    2022年11月24日
  • 《宝可梦朱紫》暴飞龙怎么抓?暴飞龙获得方法

    宝可梦朱紫暴飞龙位置在哪?在游戏中,很多玩家还不清楚暴飞龙具体要怎么样获得,其实获得方法很简单,暴飞龙直接是没得抓的,需要玩家从宝贝龙进化得到,下面一起来看一下宝可梦朱紫暴飞龙获得…

    2022年11月23日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息