title: What is the difference between `java -version` and `java -showversion`?
body: <p>What is the difference between <code>java -version</code> and <code>java -showversion</code> ? </p>
  
  <p><a href="https://blog.codecentric.de/en/2012/07/useful-jvm-flags-part-1-jvm-types-and-compiler-modes/" rel="nofollow">This blog</a> says </p>
  
  <blockquote>
    <p>The -version flag terminates the JVM immediately after printing out
    the above data. However, there is a similar flag -showversion which
    can be used to produce the same output but then proceed and execute a
    given Java application.</p>
  </blockquote>
  
  <p>So I ran a Java program in one tab in my terminal. (I use Ubuntu)
  And in another tab, while the program was still running, I gave <code>java -version</code> . As per the above statement given in the blog, I expected my Java program to quit, but it didnt. 
  Also, when i ran <code>java -showversion</code> , it gave exactly the same output and the program execution didnt terminate. </p>
  
  <p>So what is the difference between the two ? </p>
  
  <p>I use Java 8 and this was the output : </p>
  
  <pre><code>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)
  </code></pre>
  
  <p>Note : The blog uses Java 6. So has something changed in later versions of Java ? </p>
  
  <p>Thanks in advance. </p>