源码分析 LinkedHashMap

HashMap大家都清楚,底层是数组+(链表/红黑树),元素是无序的,而LinkedHashMap则比HashMap多了这一个功能,并且,LinkedHashMap的有序可以按两种顺序排列,一种是按照插入的顺序,一种是按照访问的顺序(初始化LinkedHashMap对象时设置accessOrder参
源码 Java 2020年09月10日 73次浏览

源码分析 HashMap

作为工作中最重要、最常用的容器之一,当然还是要自己动手写一篇HashMap的源码解析来加深对其的印象咯,而且它的设计与实现也有很多值得学习的地方。源码赏析JDK1.8的HashMap底层使用的是动态数组,数组中元素存放的是链表或红黑树。核心源码如下。publicclassHashMap<K,V
源码 Java 2020年09月02日 113次浏览

源码分析 ConcurrentHashMap

HashMap源码中主要了解其核心源码及实现逻辑。ConcurrentHashMap就不再重复那些数据结构相关的内容咯,这里重点看一下它的并发安全实现。源码如下。publicclassConcurrentHashMap<K,V>extendsAbstractMap<K,V>i
源码 Java 2020年08月31日 137次浏览

源码分析 ThreadLocal

先看Thread类的源码,再理解ThreadLocal相对容易一些。ThreadLocal类提供了get/set线程局部变量的实现,ThreadLocal成员变量与正常的成员变量不同,每个线程都可以通过ThreadLocal成员变量get/set自己的专属值。ThreadLocal实例通常是类中的私
源码 Java 2020年08月26日 160次浏览

源码解析 Thread

实现多线程从本质上都是由Thread类来完成的,其源码量很多,本次只看一些常见且重要的部分,源码和解析如下。publicclassThreadimplementsRunnable{/**这里只看一些常见的参数*//**线程名*/privatevolatilecharname[];/**优先级*/pr
源码 Java 2020年08月19日 181次浏览

源码解析 String

重点看一下equals()和hashcode()方法,然后看一下String类常用方法的实现。publicfinalclassStringimplementsjava.io.Serializable,Comparable<String>,CharSequence{/**保存String的
源码 Java 2020年08月18日 201次浏览