专注虚拟机与编译器研究

2023年10月29日

详述Java内存屏障,透彻理解volatile

摘要: 一般来说内存屏障分为两层:编译器屏障和CPU屏障,前者只在编译期生效,目的是防止编译器生成乱序的内存访问指令;后者通过插入或修改特定的CPU指令,在运行时防止内存访问指令乱序执行。 下面简单说一下这两种屏障。 1、编译器屏障 编译器屏障如下: asm volatile("": : :"memory" 阅读全文

posted @ 2023-10-29 09:23 鸠摩(马智) 阅读(785) 评论(0) 推荐(1) 编辑

导航