5. The default initialization of any object happens-before any other
actions (other than default-writes) of a program.
Что это означает в точности? Что такое инициализация по умолчанию? Можете ли вы привести несколько примеров?
5. The default initialization of any object happens-before any other
actions (other than default-writes) of a program.
Что это означает в точности? Что такое инициализация по умолчанию? Можете ли вы привести несколько примеров?
По умолчанию инициализации процесс присвоения полей экземпляра, чтобы their respective default values.
В этом разделе вы цитируемый говорит вам, что это происходит, прежде чем, например, конструктор вызывается.
Хорошо, это очень легко. Я думал, что это что-то связано с полями 'final' – ZhekaKozlov
Интересно, я не вижу явного определения фразы в JLS. –
Happens-before - это термин для совместной работы. По номиналу это означает то, что вы думаете, но оно выходит за рамки этого. Для нефинансовых, энергонезависимых полей Java не гарантирует, что значения полей будут синхронизированы по потокам, если только что-то не установит отношения, которые произойдут раньше.
Эта часть спецификации означает, что другие потоки, обращающиеся к объекту, будут видеть значения инициализации по умолчанию, даже если вы создаете поток в конструкторе.
Хорошо сказано. +1 - –
Какая часть этого описания не ясна? – yan
Что такое инициализация по умолчанию? – ZhekaKozlov