
容器
容器源码研究
cwjbeyond
这个作者很懒,什么都没留下…
展开
-
jdk8的ConcurrentHashMap实现
ConcurrentHashMap在jdk7的使用的是分段锁(ReentrantLock),而jdk8则改为使用synchronized。同时jdk8的ConcurrentHashMap和HashMap一样的引入红黑树(解决hash冲撞时的操作效率),并且在扩容过程中像ForkJoinPool一样可以自动多线程协作(提高扩容效率,并且解决HashMap的扩容时并发问题……PS:请慎用jdk8的ParallelStream,因为它底层默认调用的是公共的ForkJoinPool)。整个代码的逻辑和HashMap原创 2020-05-25 16:32:50 · 366 阅读 · 0 评论 -
jdk8的HashMap实现
受疫情影响被退隐江湖,赋闲在家,一直996赶太多需求项目和技改了,趁这个机会复习一下java的基础(针对工作中使用的jdk8版本),同时结合这么多年的实战去阅读源码。 实例化 阿里的开发规约有一条 【推荐】集合初始化时,指定集合初始值大小。 说明:HashMap 使用HashMap(int initialCapacity) 初始化,如果暂时无法确定集合大小,那么指定默 认值(16)...原创 2020-04-28 12:30:16 · 273 阅读 · 0 评论