При переупорядочении инструкций Java порядок выполнения кода изменяется JVM во время компиляции или времени выполнения, что может привести к тому, что несвязанные операторы будут выполняться не по порядку.
Поэтому мой вопрос:
Может ли кто-нибудь предоставить пример Java-программы/фрагмента, который надежно показывает проблему переупорядочения команд, которая не вызвана другими проблемами синхронизации (такими как кеширование/видимость или неатомный r/w, как в моей неудачной попытке такой демонстрации в моем предыдущем вопросе)
Чтобы подчеркнуть, я не ищу примеров теоретических вопросов переупорядочения. То, что я ищу, - это способ продемонстрировать их, увидев неправильные или неожиданные результаты запущенной программы.
Приведение в соответствие с примером ошибочного поведения, просто показывающее фактическое переупорядочение, происходящее в сборке простой программы, также может быть приятным.