jdk源码
文章平均质量分 62
!if
把遇到的坑记下来, 让别人脱坑。
展开
-
源码分析-FastThreadLocal为什么能比ThreadLocal快
ThreadLocal与FastThreadLocal区别ThreadLocal:FastThreadLocal:ThreadLocal和FastThreadLocal 在上图中结果几乎是差不多的,区别主要如下:1.ThreadLocal的通过key计算Hash值找到对应的Entry,找到value.对此不清楚可查看源码分析-ThreadLocal2.而FastThreadLocal则是维护了一个Index,直接就通过这个Index找到对应的value.这就是FastThreadLocal原创 2021-02-22 17:02:46 · 165 阅读 · 0 评论 -
源码分析--ThreadLocal(图解)
想清楚ThreadLocal源码的原理,那么先搞明白 ThreadLocalMap ,很关键1.首先我们知道Thread 里面有一个成员变量 threadLocals ;public class Thread implements Runnable { ThreadLocal.ThreadLocalMap threadLocals = null; }2.ThreadLocalMap里面有包含了一个成员变量Entry[] table。static class ThreadLocalMa.原创 2021-02-22 15:41:40 · 682 阅读 · 3 评论 -
HashMap扩容机制
final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; if ((tab = table) == null || (n = tab.length) == 0) n = (tab = resize()).len.原创 2021-01-11 10:00:29 · 556 阅读 · 0 评论