源码学习
十一月上
ののののののののの
展开
-
ClassLoader中的loadClass和findClass方法
Java中ClassLoader的具体实现Java虚拟机的类加载器本身可以满足加载的要求,但是也允许开发者自定义类加载器。jdk中classloader中loadclass方法的实现如下所示:protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundExcep...原创 2018-07-25 19:44:39 · 13493 阅读 · 3 评论 -
自动装箱和自动拆箱——源码分析
自动装箱和拆箱是Java提供给程序员的语法糖,方便了程序员开发,Java为每种基本数据类型都提供了对应的包装器类型。Integer和int类型变量的相互转换,代码如下所示:Integer i = 1;int j = i;int m = 2;Integer n = m;但是既然是语法糖,那就意味着编译器帮助程序员完成了一些看不到的工作,通过javap反编译可以看到执行指令在自动装箱的...原创 2018-07-25 20:47:05 · 409 阅读 · 0 评论 -
ArrayList源码详解
成员变量的声明// 成员变量的声明private static final Object[] EMPTY_ELEMENTDATA = {};transient Object[] elementData;//存储元素的数组private static final int DEFAULT_CAPACITY = 10;构造方法初始化//初始数组的大小为传入的initialC...原创 2018-08-01 11:07:09 · 125 阅读 · 0 评论 -
LinkedList源码详解
成员变量声明private static class Node<E> { E item; Node<E> next; Node<E> prev; //Node是一个双向链表 Node(Node<E> prev, E element, Node<E> next) { this....原创 2018-08-01 12:13:28 · 129 阅读 · 0 评论 -
HashMap源码详解
成员变量static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16static final int MAXIMUM_CAPACITY = 1 << 30;// aka 2^30static final float DEFAULT_LOAD_FACTOR = 0.75f;static fina...原创 2018-08-01 13:28:45 · 245 阅读 · 0 评论 -
Hashtable源码详解
成员变量private transient Entry<?,?>[] table;//存储链表的数组private transient int count;private int threshold;private float loadFactor;private transient int modCount = 0;private static class...原创 2018-08-01 14:38:23 · 195 阅读 · 0 评论 -
ConcurrentHashMap源码详解
成员变量private static final int MAXIMUM_CAPACITY = 1 << 30;private static final int DEFAULT_CAPACITY = 16;static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;private static final int ...原创 2018-08-01 16:31:02 · 203 阅读 · 0 评论