zl程序教程

您现在的位置是:首页 >  其它

当前栏目

volatile的实现细节

实现 细节 volatile
2023-09-14 09:01:56 时间

JVM是由C++实现的。

①JVM层面。

StoreStoreBarrier
volatile写操作
StoreLoadBarrier

LoadLoadBarrier
volatile读操作
LoadStoreBarrier

也就是volatile操作前后都加了内存屏障。

StoreLoadBarrier上面是Store,下面是Load。

LoadStoreBarrier上面是Load,下面是Store。

②在OS和硬件层面。在Windows中底层使用lock指令来实现,不一定使用cpu指令。

③在字节码层面,加了一个ACC_VOLATILE标记。