java基础
我只爱枕枕
这个作者很懒,什么都没留下…
展开
-
Java中CAS详解(转)
在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。volatile是不错的机制,但是volatile不能保证原子性。因此转载 2017-09-13 17:16:25 · 181 阅读 · 0 评论 -
Java中的HashMap源码浅析
HashMap分析 HashMap是一个存放多组key-value值的map。是由一组Node<K,V>[]数组组成的。它的key不能重复,可以为null。 它默认的负载因子loadFactor是0.75, 默认容量是16,实际容量是16 * 0.75为12,每次扩容都是16的倍数。通过负载因子可以减少哈希碰撞,避免多个key挤在一个位置上,其他数组的位置上没值。 hash():has...原创 2019-04-29 16:50:29 · 155 阅读 · 0 评论