![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
原理
DandelionCoder
在技术的海洋中游荡,探到最深处,寻回内心的方向 。
展开
-
JVM GC 算法CMS
前言CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求,能够承受垃圾回收线程和应用线程共享处理器资源,并且应用中存在比较多的长生命周期的对象的应用。CMS是用于对tenured generation的回收,也就是年老代的回收,目标是尽转载 2017-07-17 18:01:09 · 237 阅读 · 0 评论 -
ConcurrentHashMap 之性能演进
书接上文,为什么ConcurrentHashMap 底层实现由之前的数组加链表的结构演变为数组加红黑树?下面我们来分析一下底层数据结构上的性能差异。首先我们来看下O(n) 与 O(logn) 的性能差距: O(n)于O(logn)的区别: 通过上图我们可以直观的看到对数曲线与线性伽码在性能方面的区别,随着时间的推移,负载量级逐渐增大的过程中,对数的性能消耗趋于平稳,而线性伽码的性能消耗则继续增原创 2017-09-15 10:33:03 · 383 阅读 · 0 评论 -
HashMap源码分析
本文对HashMap的源码进行分析,以及解析ConcurrentHashMap是如何保证并发情况下的线程安全。 HashMap是基于Map接口来实现的,并且允许空值和空键,而且HashMap不保证有序,特别强调的是元素的顺序会随着HashMap的扩展而变化,这一点我们在下面会有所强调。 HashMap的扩容因子默认为0.75f,设置扩容因子的目的就是当capacity * loadFactor 大于原创 2017-09-14 16:10:31 · 237 阅读 · 0 评论