`java -version`和`java -showversion`有什么区别?

时间:2016-08-24 10:35:03

标签: java jvm jvm-arguments jvm-hotspot

java -versionjava -showversion之间有什么区别?

This blog

  

-version标志在打印后立即终止JVM   以上数据。但是,有一个类似的标志-showversion   可用于产生相同的输出,但然后继续执行a   给定Java应用程序。

所以我在终端的一个标签中运行了一个Java程序。 (我使用Ubuntu) 在另一个标签中,当程序仍在运行时,我给了java -version。根据博客上面给出的上述陈述,我期望我的Java程序退出,但它没有。 此外,当我运行java -showversion时,它给出了完全相同的输出,程序执行没有终止。

那两者有什么区别?

我使用Java 8,这是输出:

java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

注意:该博客使用Java 6.所以在更高版本的Java中有什么变化?

提前致谢。

2 个答案:

答案 0 :(得分:2)

根据Java docs

-showversion

  

显示版本信息并继续执行   应用。此选项等效于-version选项   后者指示JVM在显示版本后退出   信息。

-version

  

显示版本信息,然后退出。这个选项是   相当于-showversion选项,但后者没有   指示JVM在显示版本信息后退出。

答案 1 :(得分:-3)

运行程序时,它会创建一个进程。该过程独立于您在运行' java -version'时创建的第二个过程。在另一个壳中。
第一个过程不受第二个过程所做的任何事情的影响。