JVM
垃圾回收补充
这里的效率问题指的是效率不稳定,标记和清除的执行效率随对象增长而降低
标记-复制算法需要额外的空间担保,以便应对所有对象都存活的情况,当前大多新生代采用这种算法,但是老年代一般不直接用(老年代的回收率要低)
CMS的缺点
具体在于
- 并发 会占用一部分线程 处理器核心数少的话 影响用户程序的使用,提高负载
- 在并发标记和清除阶段,由于用户线程还是继续运行的,还是会有新的垃圾产生,是在标记结束之后的,智能留到下一次垃圾清除才可以处理
**G1 **
G1与CMS的不同在于,除了并发标记阶段,其余阶段用户进程是暂停的,不是为了极致的追求效率。
具体的特点?待补充
Java并发
深入理解Java很值得一看,对所得分类和介绍比较清晰
JavaGuide中队双重校验锁进行了介绍,但是为什么需要双重锁,可以参考
双重校验锁实现单例模式
ThreadLocal的内存泄露补充:
参考https://www.jianshu.com/p/1342a879f523
在介绍原子类中对CAS的补充可见JavaCore和java中CAS详解