原创2021-02-20发表9 分钟读完 (大约2983个字)8e76b06efc0e3f5c47a106838096734f 99+ 你知道Java中final和static修饰的变量是在什么时候赋值的吗?我们先分析一下这个问题:深入Java虚拟机有一句是“ConstantValue属性的作用是通知虚拟机自动为静态变量赋值,只有被static关键字修饰的变量才可以使用这项属性。但为什么private final a = 10也可以被赋值?”我翻阅了《深入理解Java虚拟机》第二版,在第191页,确实有前面那句话 JVM Java JVM阅读更多>> 最后修改: 2021-05-16
原创2021-01-25发表9 分钟读完 (大约3224个字)5fb5c3b1e8e82600b9d1a44af1d02863 99+ Java线程的自述和你们人类一样,我也有着精彩的一生,也会经历出生(创建)、奋斗(Running)、死亡(销毁)等过程,今天我主要和你讲述的是我打工奋斗的生活。 Java Java JVM 并发编程阅读更多>> 最后修改: 2021-05-16
原创2021-01-17发表12 分钟读完 (大约4068个字)835665d12f4b5ab883127055e021a192 99+ ThreadLocal到底是个啥?首先,我们站在人类认知事物的角度,ThreadLocal,可以拆成Thread+Local。Thread—线程;local—本地的,局域的。拼在一起就是线程局域的。线程私有的。 OK,如果你想到了这一点,其实你已经知道了ThreadLocal的最大特点——线程私有。这种理解是对的,ThreadLocal类顾名思义可以理解为线程本地变量。也就是说如果定义了一个ThreadLocal,每个线程往这个ThreadLocal中读写是线程隔离,互相之间不会影响的。它提供了一种将可变数据通过每个线程有自己的独立副本从而实现线程封闭的机制。 Java Java 并发编程阅读更多>> 最后修改: 2021-05-16