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
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