Является ли создание файлов классов Java детерминированным?JAVA

Программисты JAVA общаются здесь
Anonymous
Является ли создание файлов классов Java детерминированным?

Сообщение Anonymous »

При использовании одного и того же JDK (т. е. одного и того же исполняемого файла javac) всегда ли сгенерированные файлы классов идентичны? Может ли быть разница в зависимости от операционной системы или оборудования? Могут ли быть какие-либо другие факторы, приводящие к различиям, кроме версии JDK? Есть ли какие-либо параметры компилятора, позволяющие избежать различий? Возможна ли разница только теоретически, или Javac Oracle действительно создает разные файлы классов для одних и тех же параметров ввода и компилятора?

Обновление 1 Меня интересует генерация, то есть выходные данные компилятора, а не то, можно ли запустить файл класса на различных платформах.

Обновление 2
Под «тот же JDK» я также имею в виду тот же исполняемый файл javac.

Обновление 3 Различие между теоретическими и практическими различиями в компиляторах Oracle.

[РЕДАКТИРОВАТЬ, добавив перефразированный вопрос]

"Что такое обстоятельства, при которых один и тот же исполняемый файл javac при запуске на другой платформе будет создавать другой байт-код?"

Подробнее здесь: https://stackoverflow.com/questions/149 ... erministic

Вернуться в «JAVA»