Java源码解读
CoderThc
work hard,play hard.
展开
-
HashMap1.8源码梳理
本文涵盖内容 HashMap 方法源码解析(构造方法、增删改查等方法) HashMap特点、适用场景 常见面试题考点 特点,适用场景 线程不安全的 存储结构是 数组 + 链表 + 红黑树(jdk1.8) 允许key、value为null 无序 源码解析 1. 构造方法 public HashMap(int initialCapacity, float loadFactor) { i...原创 2019-09-02 21:34:23 · 154 阅读 · 0 评论 -
HashMap jdk1.8 源码解析
本文涵盖内容 HashMap 方法源码解析(构造方法、增删改查) HashMap特点、适用场景 常见面试题 特点,适用场景 线程不安全的 存储结构是 数组 + 链表 + 红黑树(jdk1.8) 允许key、value为null 无序 源码解析 1. 构造方法 public HashMap(int initialCapacity, float loadFactor) { if (in...原创 2019-09-05 22:32:12 · 89 阅读 · 0 评论 -
ArrayList 特点+源码分析记录
包含内容 特点 增删改查源码分析 特点 按照插入顺序来保存元素,可以利用下标来查找值 按照下标访问元素最快O(1) 在中间插入元素很慢 & 删除元素很慢 允许数据null 线程不安全 底层是数组,默认数组长度为10,扩容先进行1.5倍扩容,不够直接使用需要长度为容量 ####1. 构造方法 public ArrayList(int initialCapacity) { // 根据...原创 2019-09-10 15:12:04 · 108 阅读 · 0 评论 -
LinkedList 特点及增删改查源码解析
特点 双向链表存储数据 查询慢、增删除快 1.构造方法 public LinkedList() { } public LinkedList(Collection<? extends E> c) { this(); // 调用addAll 详见2.4 addAll(c); } 1.1 双向链表Node private static class Node<E...原创 2019-09-10 15:59:03 · 318 阅读 · 0 评论 -
LinkedHashMap jdk1.8源码解析
1. 特点 继承HashMap Entry继承HashMap的Node static class Entry<K, V> extends HashMap.Node<K, V> { Entry<K, V> before, after; Entry(int hash, K key, V value, Node<K, V...原创 2019-09-15 12:54:46 · 235 阅读 · 0 评论 -
LruCache源码解析
本文包含内容 LruCache源码解析 构造方法、增、删、改、查 如何实现Lru的 1. 构造方法 public LruCache(int maxSize) { // maxsize不允许<0 建议使用Runtime.getRuntime().maxMemory() / 8 if (maxSize <= 0) { throw new IllegalArgu...原创 2019-09-15 14:48:08 · 122 阅读 · 0 评论