Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Java 规范允许编译器和 VM 重新排序内存写入以提高效率。Dalvik VM 是否充分利用了这一点?
免责声明:即使 Dalvik 不这样做,我也不打算依赖订单(除了编译器也可能这样做),但很高兴知道。
Dalvik 解释器不会重新排序任何东西。JIT 编译器可能会。
真正变得古怪的地方是具有多个 CPU 的设备,因为 ARM 内存一致性模型非常薄弱。在这样的环境中,即使只使用解释器,您也可以观察到无序的内存访问。
如果 JSR-133 (JMM) 文档说您不能依赖某些东西,请不要依赖它。:-)