Long、Double 和 64 位内存

Long, Double and 64 bits of memory

long 和 double 需要 64 位内存。这导致这些类型需要两个地址 spaces.

在 64 位 jvm 上仍然如此吗?由于这些值现在可以放入单个地址 space 这意味着这些类型现在存储在一个地址中 space ?

这对需要在这些类型上使用 volatile 以确保 每个单独的地址 space 没有乱序更新?

现在还是这样。 64 位 jvms 的 jvm 规范未更改:

https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7