Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Wiki Markup
According to the _Java Language Specification_, §17.7, "Non-Atomic Treatment of {{double}} and {{long}}" \[[JLS 2005|AA. Bibliography#JLSReferences#JLS 05]\]:

This behavior is implementation specific; Java virtual machines are free to perform writes to long and double values atomically or in two parts. For the purposes of the Java programming language memory model, a single write to a non-volatile long or double value is treated as two separate writes: one to each 32-bit half. This can result in a situation where a thread sees the first 32 bits of a 64-bit value from one write, and the second 32 bits from another write.

...

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6fb0265d7aa41430-68129c9f-44b44cc0-903abfb2-99dd74f27c81d72059d5b608"><ac:plain-text-body><![CDATA[

[[Goetz 2006

AA. Bibliography#Goetz References#Goetz 06]]

3.1.2, Non-atomic 64-Bit Operations

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="0ed2775d22ae9cda-707f7a67-42404aa2-801db651-182ab0400e02c4ae3378ce00"><ac:plain-text-body><![CDATA[

[[Goetz 2004c

AA. Bibliography#Goetz References#Goetz 04c]]

 

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="d352d6985507875a-e18ba4ce-4ea74be8-bbafb5de-9b2d2e4c5c7894808154d1f3"><ac:plain-text-body><![CDATA[

[[JLS 2005

AA. Bibliography#JLS References#JLS 05]]

§17.7, Non-atomic Treatment of double and long

]]></ac:plain-text-body></ac:structured-macro>

...