Это безопасная публикация объекта?
У меня есть предмет класса
<code>class Item { public int count; public Item(int count) { this.count = count; } } </code>
Затем я добавлю ссылку на Item в поле другого класса.
<code>class Holder { public Item item; public Holder() { item = new Item(50); } } </code>
Может этоnew Item объект будет безопасно опубликован? Если нет, то почему? Согласно Java Concurrency на практике, новый пункт опубликованwithout being fully constructed, но на мой взгляд новый пункт полностью построен: егоthis
ссылка не исчезает, и ссылка на нее и ее состояние публикуются одновременно, поэтому поток потребителя не увидит устаревшее значение. Или это проблема видимости. Я точно не знаю причину.