源码剖析
文章平均质量分 75
在此我记录了一些关键知识的底层原理实现与功能!
何学长在奔跑
持续努力,变平凡为不凡:
梦想与现实之间的巨大落差常令人烦躁不安。然而,人生就是”今天”的不断积累,就是“现在”这一刻的不断延续,如此而已。
然而,不错过今天,认真工作就能看清明天,明天再认真工作就能看清后面的一周,一周认真工作,就能看清后面的一月...就是说,即使不去探索遥远的未来,只要全身贯注于眼前的每一个瞬间,以前看不清楚的未来的景象就会自然地呈现在你眼前。
与其莫名其妙为明天而烦恼,与其苦思冥想去制定长远的计划,还不如全力过好今天这一天。这才是实现理想最切实的办法。
----稻盛和夫《活着》
展开
-
String在JDK1.8和1.9中底层实现的那点事儿
发现了开发者的一个秘密,不禁感叹:难道开发者要把我们苦逼的码农都封印在JDK中吗?原创 2021-02-22 17:21:29 · 4494 阅读 · 11 评论 -
了解Java集合中的快速失败机制(fail-fast)
最近我也在翻看一些源代码,从头到尾的看了一下HashMap的底层发现了一个这个东西——安全失败机制(fail-safe),以此作为记录!首先,fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。要了解fail-fast机制,我们首先要对ConcurrentModificationEx...原创 2020-03-22 17:31:25 · 3362 阅读 · 4 评论 -
CopyOnWriteArrayList是怎么实现写有锁,读无锁,读写之间不堵塞的?(加强版读写分离源码剖析)
CopyOnWriteArrayList是ArrayList的线程安全版本,从名字推测,CopyOnWriteArrayList是在有写操作的时候会copy一份数据,然后写完再设置成新的数据。CopyOnWriteArrayList适用于读多写少的并发场景。而CopyOnWriteArraySet也是线程安全的Set版本,也是CopyOnWriteArrayList来代理读写分离的,而且还保留了S...原创 2020-03-16 09:24:33 · 2039 阅读 · 0 评论 -
你知道synchronizedList和Vector底层原理实现和区别吗?其实开始我也不知道!(超详细源码分析)
疑问:同样都是加了锁的集合,为什么synchronizedList比Vector快呢?原创 2020-03-15 19:18:16 · 991 阅读 · 0 评论 -
ArrayList源码分析(基于JDK8)
ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, ...转载 2020-03-04 13:50:01 · 328 阅读 · 0 评论 -
探究ArrayList为什么查询快、增删慢,实现add方法底层原理详解
面试官:“ArrayList集合默认长度是多少?”。完美的回答:默认长度为10。但是ArrayList的默认长度是有jdk版本差异的,在jdk8版本之前默认长度是10。而在jdk8版本的时候对ArrayList数组的默认长度进行了优化,将原来的默认长度10,改为了初始长度为0。当我们在首次添加元素,需要分配数组空间时,jdk自动帮我们进行了扩容操作,将初始数...原创 2020-03-04 20:51:39 · 8104 阅读 · 24 评论