...
It is important to ensure that the argument to the assignValue() method is obtained from a volatile variable or obtained as a the result of explicitly passing an integer valueatomic read. Otherwise, a read of the variable argument can itself expose a vulnerability.
...
Failure to ensure the atomicity of operations involving 64-bit values in multithreaded applications can result in reading and writing indeterminate values. Many However, many JVMs read and write 64-bit values atomically even though the specification does not require them to.
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ad18b60efb64ae19-0397bbcb-4cca45b8-9c97b58c-d0248a6b26ba79272b4c7e30"><ac:plain-text-body><![CDATA[ | [[Goetz 2006 | AA. Bibliography#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="ca523ad1b168ab3f-c2b08454-4daa4852-8a9bb7b3-dae2d07f9df469ffc7145a3d"><ac:plain-text-body><![CDATA[ | [[Goetz 2004c | AA. Bibliography#Goetz 04c]] |
| ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="dcd9fe58a6543073-24aa96f3-45d64ab2-a262b898-159f1305d5ab8d9764310486"><ac:plain-text-body><![CDATA[ | [[JLS 2005 | AA. Bibliography#JLS 05]] | §17.7, Non-atomic Treatment of double and long | ]]></ac:plain-text-body></ac:structured-macro> |
...