
源码
iteye_9288
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ArrayList -动态扩容
通过源码看ArrayList底层是如何扩容的。ArrayList有两个属性,存储数据的数组elementData,和存储记录数目的size(真实有效的个数)。 Vector有三个属性,存储数据的数组elementData,存储记录数目的elementCount,还有扩展数组大小的扩展因子capacityIncrement。 一、初始化 二、add元素 ensureCapacityInterna...2017-04-13 23:44:08 · 146 阅读 · 0 评论 -
CAS原理及工作中的应用
最近在看Java的并发包,发现追踪下底层大部分都会使用unsafe,对其的理解仅限与使用了CAS算法以及和底层硬件相关等太肤浅。度娘搜索大部分说的让人摸不着头脑,不知所云云。花了一些时间整理如下,以供后期参阅。 参考文档: http://zl198751.iteye.com/blog/1848575 http://ifeve.com/atomic-operation/ 一、CAS...2017-04-18 22:26:37 · 2334 阅读 · 2 评论 -
LinkedList 源码
LinkedList与ArrayList有这很大的区别,前者是由链组合而成,每个链表的节点持有前、后节点的信息。用下面这副图可以简单描述处链表的结构: 链表有三个非常重要的属性,节点总个数、链表头元素、链表为元素。 transient int size = 0; /** * Pointer to first node. * Invariant: (fir...原创 2017-04-26 23:01:43 · 116 阅读 · 0 评论