Будет ли исходный код Java, скомпилированный для Java 8, более эффективно скомпилирован с более новым javac? - PullRequest
1 голос
/ 24 марта 2019

Я работаю на базе кода, использующей Java 8.

Я создал набор тестов на основе JMH, которые дают мне определенный набор чисел, используя Java 8.

Затем я запустил эти скомпилированные классы с Java 9, 10, 11 и 12 и получил другие наборы чисел.

У меня вопрос: если я перекомпилирую эти классы с соответствующими свойствами compilerVersion, source и target в pom, я должен ожидать каких-либо статистически значимых изменений в этих числах?

Другими словами, если я буду запускать скомпилированные Java8 классы с Java 9, я буду ожидать каких-либо реальных различий в числах, если вместо этого сначала скомпилирую классы с помощью Java 9, а затем выполню их с Java 9 ( и тот же вопрос для 10, 11 и 12)?

Обратите внимание, что я не спрашиваю о запуске Maven с другой версией Java (но я бы так и сделал), я говорю об изменении свойств в maven-compiler-plugin для представления этой версии.

Я полагаю, что ответом на этот вопрос будет нет, я не должен ожидать каких-либо заметных различий во времени, так как считаю, что совместимый с Java 8 исходный код будет компилироваться в тот же байт-код, что и Java 9, 10, 11 и 12 компилятор выдаст.

...