В чем разница между «java.version» и «java.vm.version?»?Свойства системы Java
Когда я использую последнее, я получаю что-то вроде «11.3-b02». Что это значит?
В чем разница между «java.version» и «java.vm.version?»?Свойства системы Java
Когда я использую последнее, я получаю что-то вроде «11.3-b02». Что это значит?
Версия VM - это версия программного обеспечения VM, тогда как java.version - это версия Java-языка (то есть спецификация). Сравнение аналогично версии спецификации C++ (функции и т. Д.) По сравнению с версией компилятора C++ (номер сборки и т. Д.). Имеет ли это смысл? Если нет, я могу потрудиться, прояснив это больше.
С уважением, Крисом
java.version
является вариант реализации языка. java.vm.version
- версия двигателя под ним. У этого движка могут быть значительные улучшения в производительности между тем, что выглядит как небольшие выпуски без изменения функциональности, поэтому он версируется отдельно.
Более подробно, вот как ВС и Oracle описывают эти варианты:
Sun говорит:
Oracle, JRockit документы являются немного понятнее:
java.version - Это свойство определяет версию продукта J2SE JDK/JRE; то есть, какую версию JDK или JSE вы используете. Номер версии также отображается в первой строке вывода и является общим для Sun JRE и Oracle JRockit JRE. Информация, полученная с помощью этого свойства появляется в этом формате:
<jdk_major_version>.<jdk_minor_version>.<jdk_micro_version>[_<jdk_update_version>][-<milestone>]
значение отображается жирным шрифтом в выходном примере версии ниже: java version "1.5.0_03" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_03-b07) BEA JRockit(R) (build dra-45238-20050523-2021-win-ia32, R25.2.0-28)Для получения дополнительной информации о java.version, пожалуйста, обратитесь к: http://java.sun.com/j2se/versioning_naming.html
java.vm.version - это свойство определяет JVM осуществление версия. Идентификатор версии отображается в третьей строке вывода java -version. Этот идентификатор является основным методом для разграничения версий JRockit JVM. Ниже приведены примеры из нескольких различных выпусков JRockit JVM
Я нашел a forum entry on sun's site, в котором упоминается свойство java.vm.version, которое прикручивается где-то в Java6. Java's docs не упоминает свойство java.vm.version. IBM mentions it, так что, возможно, это специфично для JVM, который вы используете, но не является частью спецификации.