- 博客(7)
- 收藏
- 关注
原创 ConcurrentHashMap1.8源码源码分析(2)
上篇内容大概介绍了ConcurrentHashMap在看源码时,需要了解的一些知识概念,整个数据结构以及里面常用的属性含义。参见ConcurrentHashMap 1.8源码分析(1) 这篇我们从它比较基础的操作开始分析 初始化操作 对于一个新创建的ConcurrentHashMap,我们会给一个table为空的数组,也就是说我们并不会去初始化等,...
2018-05-30 00:58:41 901
原创 ConcurrentHashMap 1.8源码分析(1)
概述:这篇文章包括后面几篇文章是来介绍关于ConcurrentHashMap 1.8的源码结构部分,主要是记录我在学习这个源码的一些知识感悟。 储备知识: 1、 需要了解HashMap的相关源码和结构,可以参照我之前的分析HashMap源码分析 2、关于红黑树的一些基本知识TreeMap, 也是之前有分析过的TreeMap红黑树基础...
2018-05-30 00:22:15 1018
原创 TreeMap红黑树基础相关内容介绍
简介:红黑树是为了平衡二叉树而存在的一种树,二叉树在生成的时候,是非常容易失衡的,造成最坏的情况就是一边倒(左子树,或者右子树),这样会造成检索效率降低。 红黑树是满足以下条件: 1、每个节点要么是红色,要么是黑色 2、根节点必须是黑色 3、红色节点不能连续(与红色节点相连的节点都不能是红色) 4、对于每个节点,从该节点到叶子节点(null)的任何...
2018-05-28 01:14:06 316
原创 HashMap源码分析
首先,先对hashMap有个大概的认识,之前文章ArrayList LinkedList Vector 源码对比分析中,介绍了ArrayList 和LinkedList 他们的各自优缺点,HashMap是将二者进行了一个结合,其内部维护了一个数组,其中数组的元素是一个链表(单向链表),Entry<k,v>[] table 关于HashMap先了解其中比较重要的几个属性:th...
2018-05-27 02:21:50 782
原创 ArrayList LinkedList Vector 源码对比分析
前言:本篇文章的分析是基于jdk1.8ArrayList分析对于ArrayList 网上对于其分析也比较常见,其源码也比较简单,我这里只是记录下一些开发中容易遗漏和采坑的点ArrayList 主要包括的其实就是一个Object 类型的数组,一些参数信息1、关于构造方法,ArrayList 提供的构造方法,我们比较常用,无参构造方法/** * Constructs an ...
2018-05-22 18:23:41 274
原创 String、StringBuffer、StringBuffer 分析
关于String 类容易错误的几点内容,首先我们来看String 类的几种方法public class Test { public static void main(String[] args) { String a = "hello"; String b = new String("hello"); System.out.printl...
2018-05-21 23:44:06 280
原创 netty ByteBuf源码分析
在介绍netty常用的数据缓冲类之前,建议先熟悉下java NIO当中提供的ByteBuffer类的分析,netty提供自己的缓冲类就是为了解决原生java当中ByteBuffer使用不方便的问题。这篇文章主要是分析netty当中的对ByteBuf的分析。 这篇文章从以下几个方面来介绍ByteBufByteBuf的使用,及常用接口ByteBuf 源码分析ByteBuf 相关实现类By...
2018-05-10 22:49:52 414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人