jdk源码解析
jdk源码解析
sunpy 孙培煜
万物之中,希望至美;至美之物,永不凋零。
展开
-
java.nio.channels.FileChannel文件通道源码解析
package java.nio.channels;public abstract class FileChannel extends AbstractInterruptibleChannel implements SeekableByteChannel, GatheringByteChannel, ScatteringByteChannel{ /** * ...原创 2018-02-28 16:40:13 · 855 阅读 · 0 评论 -
java.nio.HeapByteBuffer堆字节缓冲区源码解析
1.ByteBuffer的解析http://blog.csdn.net/ya_1249463314/article/details/792713332.什么是堆字节缓冲区HeapByteBuffer堆字节缓冲区是将缓冲区分配在jvm中的heap堆上,其实现本身是一个字节数组,实际上就是操作系统中的用户内存,而不是内核内存。3.所属包package jav原创 2018-02-23 11:14:49 · 4243 阅读 · 0 评论 -
java.nio.ByteBuffer字节缓冲区源码解析
1.所属包package java.nio;2.继承与实现关系public abstract class ByteBuffer extends Buffer implements Comparable3.常用变量//堆缓冲数组final byte[] hb; //字节数组偏移量 final int offset;原创 2018-02-06 15:54:06 · 1033 阅读 · 0 评论 -
java.nio.Buffer缓冲区源码解析
1.Buffer缓冲区的原理解释:原创 2018-01-30 17:27:24 · 576 阅读 · 0 评论 -
java.util.concurrent.CyclicBarrier同步屏障工具类源码解析
1.CyclicBarrier工具类的特点CyclicBarrier采用一种屏障的方式来控制线程,让所有线程停在某一点,已到的等最后到才完事。先到的线程将处于阻塞的状态。2.初识CyclicBarrierhttp://blog.csdn.net/ya_1249463314/article/details/528225803.CyclicBarrier所属包packa原创 2017-10-09 21:25:04 · 368 阅读 · 0 评论 -
java.util.concurrent.CountDownLatch控制线程执行工具类源码解析
1.CountDownLatch工具类的特点CountDownLatch是一种通过计数器的方式来允许一个或者多个线程等待其他线程完成操作。通过这个特点可以实现对多个线程的执行顺序的控制。2.初识CountDownLatchhttp://blog.csdn.net/ya_1249463314/article/details/528225803.CountDownLatch所属包原创 2017-10-09 20:27:20 · 817 阅读 · 0 评论 -
java.util.concurrent.ConcurrentHashMap并发哈希表源码解析
1.为什么使用ConcurrentHashMap(1)HashMap是线程不安全的:我们知道HashMap实际上封装了一个Entry单链表来维护冲突值,但是如果单线程访问,那么通过键找到索引,再通过索引计算hash值找到这个单向节点链,然后遍历到节点的后继为null,就可以结束循环遍历了。但是在多线程访问的情况下,可能一个线程已经遍历到节点的后继为null了,其他线程继续往节点链里面插入数据,原创 2017-09-12 14:11:29 · 2965 阅读 · 0 评论 -
java.util.concurrent.locks.ReentrantReadWriteLock读写锁源码解析
1.什么是读写锁原创 2017-09-08 16:05:45 · 1427 阅读 · 0 评论 -
java.util.concurrent.locks.ReentrantLock重入锁源码解析
1.什么是重入锁重入锁就是指重复进入锁,它表示该锁能够支持一个线程对资源的重复加锁。2.重入锁所属包package java.util.concurrent.locks;3.重入锁继承与实现关系public class ReentrantLock implements Lock, java.io.Serializable4.重入锁的自定义同步器源码重入锁Reentran原创 2017-09-07 10:01:17 · 1229 阅读 · 3 评论 -
java.util.concurrent.locks.AbstractQueuedSynchronizer队列同步器源码解析
1.什么是队列同步器用来构建锁或者其他同步组件的基础框架,使用int型的成员变量来表示同步的状态,线程以及等待状态等信息被封装成了Node节点,而这些Node节点采用先进先出的队列来进行排队管理。2.原创 2017-09-06 09:37:05 · 19732 阅读 · 0 评论 -
java.util.LinkedList源码解析
1.java集合框架图2.所属包package java.util;3.继承与实现关系public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable4.准备知识由于LinkedList是一种双向原创 2017-06-11 22:01:25 · 501 阅读 · 0 评论 -
java.util.ArrayList源码解析
1.java集合框架图2.所属包package java.util;3.继承与实现关系public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable4.属性//定义了一个Object类型的数组pr原创 2017-06-11 15:35:57 · 439 阅读 · 0 评论 -
java.util.Vector源码解析
1.java集合框架图2.所属包package java.util;3.继承与实现关系public class Vector extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable4.准备知识Vector集合实际上是实现了动态数组的原创 2017-06-12 22:27:53 · 563 阅读 · 0 评论 -
java.util.Stack源码解析
1.java集合框架图2.所属包package java.util;3.继承与实现关系publicclass Stack extends Vector4.准备工作Stack类采用的是动态数组栈实现的,规则后进先出,从栈顶压入元素、从栈顶弹出元素。栈实际上是一种添加了后进先出规则的顺序表。Stack类是在Vector类的基础上进行继承并扩展功能。最好先看原创 2017-06-13 10:34:55 · 521 阅读 · 0 评论 -
java.util.HashSet源码解析
1.java集合框架图2.所属包原创 2017-06-16 11:04:41 · 396 阅读 · 0 评论 -
java.util.HashMap源码解析
1.原创 2017-06-15 12:32:11 · 975 阅读 · 0 评论 -
java.util.Hashtable源码解析
1.java集合框架图2.所属包package java.util;3.继承与实现关系public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable4.属性原创 2017-06-16 09:31:26 · 459 阅读 · 0 评论 -
java.util.LinkedHashMap源码解析
1.java集合框架图2.所属包原创 2017-06-16 17:55:58 · 825 阅读 · 0 评论 -
java.util.ArrayDeque源码解析
1.准备知识因为ArrayDeque使用了循环队列,所以首先要了解循环队列数据结构的原理。http://blog.csdn.net/ya_1249463314/article/details/560133212.所属包package java.util;3.继承与实现关系public class ArrayDeque extends AbstractCollecti原创 2017-08-11 10:50:06 · 712 阅读 · 0 评论 -
java.util.TreeMap源码解析
1.准备知识由于TreeMap使用红黑树这种数据结构来实现的,所以先了解红黑树数据结构:http://blog.csdn.net/ya_1249463314/article/details/734986452.所属包package java.util;3.继承与实现关系public class TreeMap extends AbstractMap impl原创 2017-08-23 12:35:39 · 417 阅读 · 0 评论 -
java.lang.Integer常见问题
1.介绍关于Integer和int在面试的时候出现的频率很高。而我们所熟知的是Integer是int 的包装类型,int的初始值为0,Integer的初始值为null,这是基本都知道的。至于Integer的自动装箱和拆箱,以及Integer的缓存等小细节需要深入思考。2.包装类的装箱和拆箱从基本数据类型到包装类型的过程是装箱、从包装类型到基本数据类型的过程是拆箱。例子:pu原创 2017-08-24 16:45:40 · 8198 阅读 · 3 评论