java的内存模型分为线程工作区内存、线程执行引擎、主内存(共享内存)三部分; 线程执行引擎在执行时,对内存有使用和赋值操作 当线程使用(use)变量时,会触发线程工作区的加载(load)操作,线程工作区的加载(load)操作会触发主内存的读操作(read) 当线程对变量赋值(assgin)时,会触发线程工作区的存储(store)操作,线程工作区的存储(store)会触主内存的write操作。 主内存的锁(lock)和解锁(unlock)是使线获取或释放内存的独占锁。 long和double在读和写时会当成2个32来读写,因些,在使用logn或double时应使用同步,另外,volatile修释的long和double变量,编译器会保证其有序性以达到其它线程的修可即时可见,同时本线程的修改其它线程也即时可见。
相关文章
- 01-07WebGL与Canvas的显存与内存使用分析
- 01-07c中的进制与内存分析
- 01-07二值神经网络的落地实践与视觉模型端侧部署新范式
- 01-07《机器学习(周志华)》笔记--模型的评估与选择(5)--衡量分类任务的性能指标:精准度与召回率计算
- 01-07动态内存的分配与释放
- 01-07Java中与数据库对应操作的方法名怎么取比较合适
- 01-07RCBA的三种模型与拓展
- 01-07volatile的内存屏障的坑
- 01-07JMM(java内存模型)了解
- 01-07深入了解Java内存模型——JMM