java基础
文章平均质量分 71
java基础
edelweiss2
这个作者很懒,什么都没留下…
展开
-
Java中HashMap底层实现原理(JDK1.8)源码分析
这几天学习了HashMap的底层实现,但是发现好几个版本的,代码不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一样,原来他们没有指定JDK版本,很多文章都是旧版本JDK1.6.JDK1.7的。现在我来分析一哈最新的JDK1.8的HashMap及性能优化。 在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而转载 2021-04-06 17:55:01 · 66 阅读 · 0 评论 -
CAS乐观锁
Java CAS乐观锁 原创 AaronSheng Java基础 2016/10/14 20:25 阅读数 143 Java 的 concurrent 包中借助 CAS 实现了区别于 synchronized 同步锁的一种乐观锁,以及一系列的原子数据。 CAS 有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。 CAS 通过调用 JNI 的代码实现的,允许 java 调用其他语言,而 compareAndSwap 就是借助转载 2021-03-15 16:48:12 · 66 阅读 · 0 评论