Свойства системы Java - PullRequest
2 голосов
/ 08 августа 2009

В чем разница между "java.version" и "java.vm.version?"

Когда я использую последнее, я получаю что-то вроде "11.3-b02". Что это значит?

Ответы [ 3 ]

2 голосов
/ 08 августа 2009

Версия VM - это версия программного обеспечения VM, тогда как java.version - это версия языка Java (т.е. спецификация). Сравнение аналогично версии спецификации C ++ (функции и т. Д.) С версией компилятора C ++ (номер сборки и т. Д.). Имеет ли это смысл? Если нет, я могу еще немного уточнить это.

С уважением, Крис

1 голос
/ 08 августа 2009

java.version - версия языковой реализации. java.vm.version - версия двигателя под ним. Этот движок может значительно улучшить производительность между тем, что выглядит как второстепенные выпуски без изменений в функциональности, поэтому он имеет отдельную версию.

Для более подробной информации, вот как Sun и Oracle описывают эти опции:

Солнце говорит:

  • java.version - версия среды выполнения Java
  • java.vm.version - версия реализации виртуальной машины Java

Документы 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

    .
    • JRockit JVM R24.5.0: ari-49095-20050826-1856-win-ia32
    • JRockit JVM 5.0 SP2: dra-45238-20050523-2021-win-ia32
    • JRockit JVM R26.4.0: R26.4.0-63-63688-1.5.0_06-20060626-2259-win-ia32
    • JRockit JVM R27.3.1: R27.3.1-1-85830-1.6.0_01-20070716-1248-windows-ia32
0 голосов
/ 08 августа 2009

Я нашел запись форума на сайте sun , в которой упоминается свойство java.vm.version, которое когда-то испортилось в Java6. Документы Java не упоминают свойство java.vm.version. IBM упоминает это , так что, возможно, оно относится к используемой вами JVM, но не является частью спецификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...