При использовании одного и того же JDK (т.е. того же исполняемого файла javac
) генерируются ли файлы сгенерированных файлов одинаково? Может ли быть разница в зависимости от операционной системы или оборудования? Могут ли быть какие-либо другие факторы, приводящие к различиям, кроме версии JDK? Существуют ли какие-либо параметры компилятора, чтобы избежать различий? Является ли разница только теоретически или Oracle javac
действительно создает разные файлы классов для тех же параметров ввода и компилятора?
Обновление 1. Меня интересует генерация, т.е. выход компилятора, а не то, может ли файл класса запускаться на разных платформах.
Обновление 2. "То же JDK", я также имею в виду тот же исполняемый файл javac
.
Обновление 3 Различие между теоретической разницей и практической разницей в компиляторах Oracle.
[EDIT, добавив перефразируемый вопрос]
"Каковы обстоятельства, когда один и тот же исполняемый файл javac, когда он запускается на другой платформе, будет создавать разные байт-коды?"