相信绝大多数java开发者或多或少的都应该知道jvm,但是有多少人又深入去了解过,笔者深感自身能力的不足,去看了些资料,觉得还是有必要整理下自己的学习记录,时常回头看看,多看多实践提升自己的能力,故开始进行jvm相关的知识梳理和记录,一起来学习吧 ...
分类:
其他好文 时间:
2019-11-23 17:50:37
阅读次数:
61
简要介绍红黑树的删除操作方法,并结合JDK TreeMap源码进行分析。 ...
分类:
其他好文 时间:
2019-11-23 16:03:36
阅读次数:
72
阻塞队列的实现前面已经讲解完毕,今天我们继续了解源码中非阻塞队列的实现,接下来就看一看ConcurrentLinkedQueue非阻塞队列是怎么完成操作的 ...
分类:
其他好文 时间:
2019-11-09 19:36:37
阅读次数:
99
一、前言 分析了Map中主要的类之后,下面我们来分析Collection下面几种常见的类,如ArrayList、LinkedList、HashSet、TreeSet等。下面通过JDK源码来一起分析ArrayList底层是如何实现的。(PS:把JVM看完了之后终于可以有成片的时间来阅读源码了,感觉简直 ...
分类:
其他好文 时间:
2019-11-02 20:23:45
阅读次数:
91
阻塞队列中目前还剩下一个比较特殊的队列实现,相比较前面讲解过的队列,本文中要讲的LinkedBlockingDeque比较容易理解了,但是与之前讲解过的阻塞队列又有些不同,从命名上你应该能看出一些端倪,接下来就一起看看这个特殊的阻塞队列 ...
分类:
数据库 时间:
2019-11-02 11:51:22
阅读次数:
85
在JDK8的阻塞队列实现中还有两个未进行说明,今天继续对其中的一个阻塞队列LinkedTransferQueue进行源码分析,如果之前的队列分析已经让你对阻塞队列有了一定的了解,相信本文要讲解的LinkedTransferQueue的源码也能很快被理解,接下来一起学习吧 ...
分类:
其他好文 时间:
2019-10-26 20:51:47
阅读次数:
81
这篇博客实现一个简单的ArrayList集合.博客里的代码首先根据自己的想法实现,在走不动的情况下会去参考JDK源代码.所以阅读本文,不要抱着跟JDK源码对比的心态.于我个人而言,国庆期间,纯属娱乐.写完打游戏去. 首先写搭建一个架子 我们再来尝试创建一个指定大小的集合. 这时是会报错的,如果你指定 ...
分类:
其他好文 时间:
2019-10-04 15:26:45
阅读次数:
94
在学习JDK源码和JAVA一些开源框架源码的时候经常会碰到位运算,要搞懂位运算就得弄明白二进制和十进制之间的转换 一、十进制转换成二进制 1.正整数转换成二进制 十进制整数转换成二进制就是不停的除以二,直到不足二为止(0或者1),然后记录余数,从下往上排列出来就是二进制的值 举个例子:5和8转换成二 ...
分类:
其他好文 时间:
2019-09-20 19:21:48
阅读次数:
104
之前一篇文章已经讲解了阻塞队列SynchronousQueue的大部分内容,其中默认的非公平策略还未说明,本文就紧接上文继续讲解其中的非公平策略下的内部实现,顺便简单说明其涉及到的线程池部分的使用 ...
分类:
其他好文 时间:
2019-09-15 18:57:39
阅读次数:
92
前言:作为一个常用的List接口实现类,日常开发过程中使用率非常高,因此有必要对其原理进行分析。 注:本文jdk源码版本为jdk1.8.0_172 1.ArrayList介绍 ArrayList底层数据结构是数组(数组是一组连续的内存空间),默认容量为10,它具有动态扩容的能力,线程不安全,元素可以 ...
分类:
其他好文 时间:
2019-09-14 17:08:50
阅读次数:
105