Закрыть.Шаг 2 атомарный.В этом случае j
должно быть одним из byte
, char
, short
или int
, и каждый из них может быть загружен и сохранен атомарно.
Как только значение было загружено ваппаратный регистр, не должно быть возможности, чтобы другой поток мог вмешиваться в него.Наверное, в JLS есть что-то об атомарности примитивных операций ... но я не могу это определить.