...
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="325b06a58a4c96fa-ff0f3640-4c904d7c-8366bd62-e3aa0e57ba9586bacc4580f7"><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="abbeccbf15124f4c-4ad02912-40da40d7-b5d39ecb-12b3c220f67ae5c26fc46ef8"><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="bf0e79f1ab20e01b-b098a862-4fec4dd4-81c79097-7a176b6a183027399c805b74"><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> |
...