文章 22
评论 7
浏览 8413
synchronized底层实现与优化

synchronized底层实现与优化

Java的synchronized底层究竟做了什么?从JDK的版本更替来看synchronized底层又做了那些优化?CAS自旋锁的概念,JDK1.6 基本是对synchronized做了大改动,避免胡乱使用synchronized导致性能下降等问题,那么是如何实现的呢?

深入理解HashMap

深入理解HashMap

在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值 8 时,将链表转换为红黑树,这样大大减少了查找时间!