JMM
jane_fast
梦很大的梦想家
展开
-
JAVA内存模型的理解
1.为什么会提出JAVA内存模型?JAVA的一大特性——跨平台性,将硬件和 操作系统对用户隐藏2.主要目标:在多线程并发的情况之下,对于共享变量的操作如果不采取一些协议规则的话,该共享变量将会被破坏,所以内存模型的主要目的就是:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。在JAVA内存模型中每个线程拥有一个工作内存,而共享变量所在的内存是原创 2017-03-29 00:43:48 · 328 阅读 · 0 评论 -
Volatile关键字
volatile关键字是JVM提供的最轻量级的同步机制,一方面它提供了变量对所有线程的可见性,另一方面它禁止了指令重排序变量的可见性:简单点说,就是当一个线程改变了改变量的值,其他线程立即就能够接收到这个消息,虽然对于普通变量(不针对某线程单独的变量)来说,改变了值,其他线程也能够接收到,但是不是立即的,立即的原理在于当一个线程对一个volatile变量进行写操作后,会有一个lock前缀的指令原创 2017-03-29 01:25:20 · 287 阅读 · 0 评论