06 2022 档案
摘要:在分析ThreadLocal方法的时候,我们了解到ThreadLocal的操作实际上是围绕ThreadLocalMap展开的。ThreadLocalMap的源码相对比较复杂, 我们从以下三个方面进行讨论。 基本结构 ThreadLocalMap是ThreadLocal的内部类,没有实现Map接口,用
阅读全文
摘要:基于ThreadLocal的内部结构,我们继续分析它的核心方法源码,更深入的了解其操作原理。除了构造方法之外, ThreadLocal对外暴露的方法有以下4个 set方法 (1 ) 源码和对应的中文注释 /** * 设置当前线程对应的ThreadLocal的值 * * @param value 将要
阅读全文
摘要:回顾概念 我们先来回顾这个问题中涉及的几个名词概念,再来分析问题。 内存泄漏相关概念 内存泄露 (memory leak),是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 是指你向系统申请分配内存进行使用(new),
阅读全文
摘要:ThreadLocal的实现原理 Thread类中有threadLocals和inheritableThreadLocals两个变量,它们都是ThreadLocalMap类型的变量. 其实每个线程的本地变量不是存放在ThreadLocal实例(对象)里面,而是存放在调用线程的threadLocals
阅读全文
摘要:什么是ThreadLocal? 官方介绍 /** * This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread tha
阅读全文