- 博客(9)
- 收藏
- 关注
原创 二叉树的父子节点位置关系
最近在看一个堆排序的时候,发现其中一行代码涉及到二叉树的位置关系 一个节点的左节点是其父节点下标的2k+1,右节点是其父节点下标的2K+2。由于很久没复习过数据结构,突然很好奇这个结论的证明(虽然以前学习时已经证明过),然后写一份博客再加深一下。毕竟这个技术不用就很容易忘记。大家都知道二叉树一个节点有2个子节点,右节点和左节点。因此,可以将二叉树每一层的数量看做一个公比为2的等...
2018-11-27 14:05:32 9969 3
原创 concurrentHashmap红黑树的添加
final TreeNode<K,V> putTreeVal(int h, K k, V v) { Class<?> kc = null; boolean searched = false; for (TreeNode<K,V> p = root;;) { int dir, ph; K pk; ...
2018-07-23 22:54:00 460
原创 ConcurrentHashMap构造函数解析以及字段,存储结构类
一:字段解析(大部分): // node数组最大容量:2^30=1073741824private static final int MAXIMUM_CAPACITY = 1 << 30;// 默认初始值,必须是2的幕数private static final int DEFAULT_CAPACITY = 16;//数组可能最大值,需要与toArra...
2018-07-21 23:42:46 1563
原创 ConcurrentHashMap模型
1.1: ConcurrentHashMap JDK1.7结构图:数组+链表 每一个数组用一个segment作为锁,数组放值,冲突了就是链表加进去1.2:ConcurrentHashMap JDK1.8结构图:数组+链表/红黑树 注意 如果是链表结构的 就是Node 否则会转化为 TreeNote,TreeBin封装维护好TreeNote,红黑树仿的是TreeBin,Tree...
2018-07-21 23:42:05 294
原创 ReebtrantLock源码分析
本次RenntrantLock分析主要包括如下模块: ReentrantLock锁结构 公平及非公平体现之处 lock流程 unlock流程 condition模块 一:ReentrantLock源码框架如下所示(第一次画这种图,可能不正规,可以百度去看看框架图)主要结构如上图reentrantlock实现...
2018-07-20 22:28:35 477
原创 bootStrap家族介绍----3BootStrap初始化--initAndRegister
无论是服务端还是客户端,都会有一步需要调用到父类AbstractBootStrap的initAndRegister()方法,将相应的channel注册到bossReactor线程池中去。initAndRegister()方法主要分为3个部分: 创建Channel 绑定用户自定义的Handler() 将该Channel注册到Reactor中去 final Ch...
2018-07-20 22:26:20 1018 1
原创 bootStrap家族介绍----1ServerBootStrap介绍
Serverbootstract字段解析:private static final InternalLogger logger = InternalLoggerFactory.getInstance(ServerBootstrap.class);private final Map<ChannelOption<?>, Object> childOptions = ne...
2018-07-19 21:50:26 1218
原创 bootStrap家族介绍----1BootStrap介绍
BootStrap是客户端启动器,只增加了一个字段private volatile SocketAddress remoteAddress; int()方法和serverBootStrap的init()的方法相比,非常简单。在配置处理链时没有增加最后一个尾部的接收处理器。其余的和serverBootStrap的init()的方法差不多,都是初始化处理器链,初始化选项参数以及属...
2018-07-19 21:48:52 282
转载 bootStrap家族介绍----1AbstractBootStrap介绍
本章主要介绍AbstractBootStrap 以及BootStrap,ServerBootStrap 主要运用了建造者模式(bootStrap的构造)以及门面模式(不需要注意细节,屏蔽了) 一:AbstractBootStrap解析: AbstratBootStrap:channel的工厂setteer方法public B channel...
2018-07-18 23:40:44 746
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人