随笔分类 - Java源码阅读
Java源码阅读
摘要:1、Netty 是怎么创建服务端Channel的呢? 我们在使用ServerBootstrap.bind(端口)方法时,最终调用其父类AbstractBootstrap中的doBind方法,相关源码如下: 我们继续跟进initAndRegister()这个方法,发现是使用channelFactory
阅读全文
摘要:一、什么是Google Protocol Buffer( "protobuf官方网站" ) 下面是官网给的解释: Protocol buffers are a language neutral, platform neutral extensible mechanism for serializin
阅读全文
摘要:JDK 1.8 HashMap是数组+链表+红黑树实现的,在阅读HashMap的源码之前先来回顾一下大学课本数据结构中的哈希表和红黑树。 什么是哈希表? 在存储结构中,关键值key通过一种关系f和唯一的存储位置相对应,关系f即哈希函数,Hash(k)=f(k)。按这个思想建立的表就是哈希表。 当有两
阅读全文
摘要:一、类继承关系 PriorityQueue只实现了AbstractQueue抽象类也就是实现了Queue接口。 二、类属性 根据transient Object[] queue; 的英文注释: Priority queue represented as a balanced binary heap:
阅读全文
摘要:树的基本术语 结点(node)由数据元素以及指向子树的地址构成。 若 X 结点有子树,则子树的根结点称为 X 的孩子(child)结点,相应地, X 称为其孩子的双亲(parents)结点,又称父母结点。 同一双亲的孩子结点之间互称兄弟(sibling)结点。 叶子(leaf)结点是指度为 0 的结
阅读全文
摘要:一、类继承关系 ArrayDeque和LinkedList一样都实现了双端队列Deque接口,但它们内部的数据结构和使用方法却不一样。根据该类的源码注释翻译可知: ArrayDeque实现了Deque是一个动态数组。 ArrayDeque没有容量限制,容量会在使用时按需扩展。 ArrayDeque不
阅读全文
摘要:一、类继承关系 LinkedList和ArrayList都实现了List接口。所以有List的特性,同时LinkedList也实现了Deque,所以它也具有双端队列和栈的特性。 二、类属性 transient表示该域不能被序列化。first,last初始值都是null. 这里有一个内部类Node:
阅读全文
摘要:一、描述 队列Queue这种数据结构,通常指先进先出(FIFO)这种容器。可以模拟生活中依次排队这种场景。 下面是集合体系继承树: 二、Queue Queue和List一样都是Collection的子接口。 Queue源码定义: add(E e)/offer(E e) 将指定元素加入到队列尾部 re
阅读全文
摘要:一、类继承关系 ArrayList继承AbstractList,也实现了List和RandomAccess(一个空接口,也就是标记接口。),Cloneable(可被克隆), Serializable接口。 二、类属性 elementData是transient修饰,所以elementData不能被序
阅读全文

浙公网安备 33010602011771号