В соответствии с моделью памяти Java инструкции могут быть переупорядочены до тех пор, пока выполнение правильно сформировано.
Так интересно, возможно ли, что следующие коды выдают следующий вывод?
[коды] [в той же теме]
long a = System.currentTimeMillis();
long b = System.currentTimeMillis();
long c = System.currentTimeMillis();
[выход]
a == 10, b == 20, c == 15
Если это невозможно, то что делает JVM/реализации для предотвращения этого?