Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: display string "Goetz 2006" fixed to "Goetz 2006a".

...

Wiki Markup
The JMM guarantees that any final fields of an object are fully initialized before a published object becomes visible \[[Goetz 20062006a|AA. References#Goetz 06]\]. By declaring {{n}} final, the {{Helper}} class is made [immutable|BB. Glossary#immutable]. Furthermore, if the {{helper}} field is declared volatile in compliance with rule [VNA01-J. Ensure visibility of shared references to immutable objects], {{Helper}}'s reference is guaranteed to be made visible to any thread that calls {{getHelper()}} only after {{Helper}} has been fully initialized.

...

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="551b958ffd611953-174a51b0-473846e0-9b60b8a3-cc9808d4f9abec2fe02a11df"><ac:plain-text-body><![CDATA[

[[API 2006

AA. References#API 06]]

 

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

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="19d2cab866aa0583-f214ebfb-49e94a09-94f282a0-39ccabfe50f42cc080c89bd2"><ac:plain-text-body><![CDATA[

[[Bloch 2001

AA. References#Bloch 01]]

Item 48. Synchronize access to shared mutable data

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

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="0bb7f4388c858ab2-f7b14d52-46d84cf6-8690bda6-a2af76787126dee7d51f8487"><ac:plain-text-body><![CDATA[

[[Goetz 20062006a

AA. References#Goetz 06]]

Section 3.5.3, Safe Publication Idioms

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

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="755f470a002e6c28-fa099665-49244f31-93239861-018ef0e8f0bab532fbd2ab33"><ac:plain-text-body><![CDATA[

[[Goetz 2007

AA. References#Goetz 07]]

Pattern #2, One-Time Safe Publication

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

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="5a67a8b4c69c5b76-f962e49f-418f40a5-966d8124-dd3132d4940a651a8a1070ab"><ac:plain-text-body><![CDATA[

[[JPL 2006

AA. References#JPL 06]]

14.10.2, Final Fields and Security

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

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="5f616f58105bce78-0ac3a0f2-4a4448b0-b588af1c-5a1012ef05c9c72329289a90"><ac:plain-text-body><![CDATA[

[[Pugh 2004

AA. References#Pugh 04]]

 

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

...