Как инициализация ссылки на объект из статического инициализатора гарантирует безопасную публикацию?Статические инициализаторы и безопасная публикация
1
A
ответ
3
Использование статического инициализатора зачастую является самым простым и безопасным способом публиковать объекты, которые могут быть статически сконструированные:
public static Holder holder = new Holder(42);
Статические инициализаторы выполняются в JVM во время инициализации класса; из-за внутренней синхронизации в JVM этот механизм гарантированно безопасно публикует любые объекты, инициализированные таким образом [JLS 12.4.2].
Смежные вопросы
- 1. Статические инициализаторы
- 2. Безопасная публикация
- 3. Статические инициализаторы и статические методы в Java
- 4. Java статические инициализаторы и отражение
- 5. Статические инициализаторы против Instance Инициализаторы против конструкторов
- 6. Статические инициализаторы в bcel
- 7. безопасная публикация, аргумент, проходящий
- 8. Это безопасная публикация объекта?
- 9. Безопасная публикация нестандартной коллекции
- 10. Статические инициализаторы и синхронизация потоков (.NET)
- 11. Статические инициализаторы и константные переменные Wrapper
- 12. Visual Studio 2012 Безопасная публикация?
- 13. Java - статические инициализаторы в импортированных проектах
- 14. Вызывать статические инициализаторы типа посредством отражения возможно
- 15. Являются ли статические инициализаторы Java безопасными?
- 16. Безопасная публикация, когда значения считываются синхронными методами
- 17. Безопасная публикация неизменяемых объектов в Java
- 18. безопасная публикация через окончательный аргумент метода?
- 19. разовых безопасная публикация через Java летучего
- 20. Работает ли безопасная публикация и инициализация безопасности в .NET?
- 21. Являются ли статические инициализаторы гарантированными для аспектов AspectJ?
- 22. Как диагностировать или обнаружить тупики в Java статические инициализаторы
- 23. Инициализаторы объектов и конструкторы
- 24. встроенные и инициализаторы членов
- 25. Списки символов и инициализаторы
- 26. CodeDom и инициализаторы коллекции
- 27. Инициализаторы ZF2 и TranslatorAwareInterface
- 28. рельсы автозагрузка и инициализаторы
- 29. Инициализаторы модулей в C#
- 30. В C#, как взаимодействуют инициализаторы полей и инициализаторы объектов?
Классовая нагрузка неявно синхронизирована. –
На самом деле ... это инициализация класса, синхронизированная. Это может произойти «в то же время», что и классовая загрузка, или это может произойти лениво. –