Какая именно ошибка возникает, когда Java обращается к неинициализированному объекту? ⇐ JAVA
Какая именно ошибка возникает, когда Java обращается к неинициализированному объекту?
В шаблоне Singleton с использованием DCL в поле объекта экземпляра добавляется ключевое слово voluty, и все статьи по этому поводу описываются как «предотвращение переупорядочения инструкций, которое в противном случае привело бы к доступу к неинициализированному полностью созданному объекту экземпляра», что приводит к проблемы.
В чем именно здесь проблема
В чем будет проблема, если метод вызывается с использованием этого неинициализированного полного объекта и выдает NPE?
Если осуществляется доступ к полю неинициализированного объекта, выдается ли он NPE или просто поле имеет нулевое значение?
Этот сценарий практически невозможно воспроизвести в многопоточном режиме, но я не могу найти о нем никакой информации.
В шаблоне Singleton с использованием DCL в поле объекта экземпляра добавляется ключевое слово voluty, и все статьи по этому поводу описываются как «предотвращение переупорядочения инструкций, которое в противном случае привело бы к доступу к неинициализированному полностью созданному объекту экземпляра», что приводит к проблемы.
В чем именно здесь проблема
В чем будет проблема, если метод вызывается с использованием этого неинициализированного полного объекта и выдает NPE?
Если осуществляется доступ к полю неинициализированного объекта, выдается ли он NPE или просто поле имеет нулевое значение?
Этот сценарий практически невозможно воспроизвести в многопоточном режиме, но я не могу найти о нем никакой информации.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как написать геттер, который обращается к переменной-члену, выделенной в куче
Anonymous » » в форуме C++ - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-