
多线程
shaoXingZJU
为了能进阿里而读书
展开
-
多线程下类的初始化过程
本文对Java多线程情况下类初始化过程中做一个总结说明:Java语言规范规定,对于每一个类或者接口,都有一个唯一的初始化锁与之对应总结为4个阶段一、获取Class对象的初始化锁 获取Class对象的初始化锁来控制类或者接口的初始化过程,这个锁是线程阻塞的(即A获取了锁,B线程就会等待)二、获得了锁的线程A进行初始化 执行类的静态初始化: ...原创 2018-05-14 21:31:07 · 1197 阅读 · 0 评论 -
Volatile关键字解析
volatile关键字是与Java的内存模型有关的,Java内存模型规定所有的变量都是存在主存当中,每个线程都有自己的工作内存。线程对变量的所有操作都必须在工作内存中进行,而不能直接对主存进行操作。并且每个线程不能访问其他线程的工作内存。 volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:1)保证了不...原创 2018-06-20 15:45:51 · 153 阅读 · 0 评论