
内存模型
文章平均质量分 69
lsz冲呀
奋斗者
展开
-
Volatile关键词
volatile特性内存可见性:通俗来说就是,线程A对一个volatile变量的修改,对于其它线程来说是可见的,即线程每次获取volatile变量的值都是最新的。volatile的使用场景通过关键字sychronize可以防止多个线程进入同一段代码,在某些特定场景中,volatile相当于一个轻量级的sychronize,因为不会引起线程的上下文切换,但是使用volatile必须满足两个条件:对变量的写操作不依赖当前值,如多线程下执行a++,是无法通过volatile保证结果准确性的;该变量没有原创 2022-03-21 23:48:37 · 105 阅读 · 0 评论 -
Java 内存模型(JMM)
JMM 定义内存模型定义了共享内存系统中多线程程序读写操作行为的规范,来屏蔽各种硬件和操作系统的内存访问差异,来实现 Java 程序在各个平台下都能达到一致的内存访问效果。Java 内存模型的主要目标是定义程序中各个变量的访问规则,也就是在虚拟机中将变量存储到内存以及从内存中取出变量(这里的变量,指的是共享变量,也就是实例对象、静态字段、数组对象等存储在堆内存中的变量。而对于局部变量这类的,属于线程私有,不会被共享)这类的底层细节。通过这些规则来规范对内存的读写操作,从而保证指令执行的正确性。原创 2022-03-19 00:15:41 · 317 阅读 · 0 评论