自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

404Coder

爱code爱hippop

  • 博客(5)
  • 收藏
  • 关注

原创 Java集合源码分析(四):ArrayList vs LinkedList

ArrayList vs LinkedList 源码学习PS:想了解两者区别的可直接看第三部分-ArrayList vs LinkedList目录ArrayList vs LinkedList 源码学习一、ArrayList1. 三个特性2. 四个参数3. 几个方法add()remove()set()get()rangeCheck()4. 几个注意点ArrayList不能在for遍历中修改元素,而要用迭代器!!!ArrayList的线程安全版本ArrayList的容量二、LinkedList1. 特性

2021-12-05 19:46:12 759 1

原创 Java集合源码分析(三):CopyOnWriteArrayList

CopyOnWriteArrayList 源码学习特性CopyOnWriteArrayList 是 ArrayList的并发优化版本,采用了CopyOnWrite策略,在修改时先复制一个快照来修改,改完再让内部指针指向新数组。因为对快照的修改对读操作来说不可见,所以只有写锁没有读锁,加上复制的昂贵成本,典型的适合读多写少的场景。CopyOnWriteArrayList 实现了List、RandomAccess、Cloneable以及Serializable接口CopyOnWriteArr

2021-12-02 20:11:34 302

原创 Java集合源码分析(二):ConcurrentHashMap

ConcurrentHashMap 源码学习建议先了解HashMap的底层源码,再来学习ConcurrentHashMap ,效率会快很多。这里给出本人对于HashMap的一点理解。《HashMap 源码学习》特性ConcurrentHashMap继承了AbstractMap类,实现了ConcurrentMap和Serializable接口ConcurrentHashMap线程安全(jdk1.7:segment分段锁;jdk1.8:node+cas+synchronized)七个重要参数

2021-11-30 19:33:11 565

原创 Java集合源码分析(一):HashMap

HashMap源码学习特性HashMap继承了AbstractMap类,实现了Map、Cloneable、Serializable接口。HashMap无序,即不会记录数据插入顺序。HashMap线程不安全。HashMao最多允许一条数据的key为nullHashMap的查找修改时间复杂度为O(1)六个重要参数数组初始化长度 DEFAULT_INITIAL_CAPACITY = 1 << 4(16)数组最大长度 MAXIMUM_CAPACITY = 1 << 3

2021-11-29 19:44:02 305 1

原创 Java锁源码分析(一):AQS & ReentrantLock

AQS的源码学习欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markd

2021-11-21 20:31:14 400

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除