- 博客(2)
- 资源 (5)
- 收藏
- 关注
原创 HashMap源码深度解析
这里新增加节点采用了头插法,新节点都增加到头部,新节点的next指向老节点 这里涉及到了HashMap的扩容问题,随着HashMap中元素的数量越来越多,发生碰撞的概率就越来越大,所产生的链表长度就会越来越长,这样势必会影响HashMap的速度,为了保证HashMap的效率,系统必须要在某个临界点进行扩容处理。该临界点在当HashMap中元素的数量等于table数组长度*加载因子。但是扩容是一个非常耗时的过程,因为它需要重新计算这些数据在新table数组中的位置并进行复制处理。
2017-01-16 21:34:54 15772 8
原创 Java并发编程之ReentrantLock源码解析
JDK1.5之前只能利用synchronized实现线程同步,JDK1.5之后开始借助JNI来完成更高级的锁。 JDK 5中的锁是接口java.util.concurrent.locks.Lock,并提供了相应的实现类java.util.concurrent.locks.ReentrantLock 1 举栗子 import java.util.concurrent.locks.Lock
2017-01-13 13:21:17 393
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人