微信公众号:爱问CTO
专业编程问答社区
www.askcto.com
Java内存模型对于64位的数据类型(long和double),特别定义了一条规定:允许虚拟机将没有被volatile修饰的64位数据的读写操作划分为两次32位的操作来进行。即允许虚拟机实现选择可以不保证64位数据类型的load、store、read和write这4个操作的原子性。不过目前各种平台下的商用虚拟机几乎都选择把64位数据的读写操作作为原子操作来对待,因此编码时,一般不需要把用到的long和double变量专门声明为volatile。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。