品易云推流 关闭
文章详情页
文章 > java基础 > Java内存交互的规则

Java内存交互的规则

头像

小妮浅浅

2021-05-18 10:09:562557浏览 · 0收藏 · 0评论

1、不允许read和load、store和write操作之一单独出现。即不允许一个变量从主内存读取了但工作内存不接受。或者从工作内存发起回写了但主内存不接受的情况

2、不允许一个线程丢弃它的最近的assign操作。即变量在工作内存改变了后必须把该变化同步到主内存中。

3、不允许没有发生任何的assign操作就把数据同步到主内存中。

4、一个新的变量只能在主内存中诞生,工作内存要使用或者赋值。必须要经过load或assign操作。

5、一个变量在同一时刻只允许一条线程进行lock操作,但lock操作可以被同一线程重复执行多次,多次执行lock后,只有执行相同次数的unlock操作,变量才会被解锁。

6、如果对一个变量进行lock操作后,那将会清空工作内存中此变量的值,在执行引擎使用这个变量前,需要重新执行load或assign操作。

7、如果一个变量事先没有被lock操作锁定,那就不允许对它进行unlock操作。也不允许去unlock一个被其他线程锁定的变量。

8、对一个变量执行unLock操作之前,必须要把次变量同步到主内存中(执行store,write操作)。

以上就是Java内存交互的规则,希望能对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图