title: java -version vs java -fullversion
body: <p>What are the differences between <code>java -version</code> and <code>java -fullversion</code>?</p>
  
  <p>The two do not seem to line up on my machine.</p>
  
  <pre><code>C:\Users\kmort&gt;java -fullversion
      java full version "1.8.0_20-b26"
  
  C:\Users\kmort&gt;java -version
      java version "1.8.0_25"
      Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
      Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
  </code></pre>
  
  <p><a href="http://www.oracle.com/technetwork/java/javase/jdk7-naming-418744.html" rel="nofollow noreferrer">This link (at the bottom)</a> seems to indicate that <code>fullversion</code> simply includes the build number. If that's true, what to I end up with a different answer when I run the two?</p>
  
  <p>Note that <a href="http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html" rel="nofollow noreferrer">this documentation</a> neglects to refer to <code>fullversion</code> entirely.</p>
  
  <p>I am running on 64 bit Windows 7. If it helps, here is a screenshot of the JDK and JRE installs I have on my machine.</p>
  
  <p><img src="https://i.stack.imgur.com/wk8rO.png" alt="enter image description here"></p>
  
  <p>Update</p>
  
  <hr>
  
  <p>When I run Window's <code>where</code> command, I get the following:</p>
  
  <pre><code>C:\Users\kmort&gt;where java
  C:\Windows\System32\java.exe
  C:\ProgramData\Oracle\Java\javapath\java.exe
  C:\Program Files\Java\jdk1.8.0_25\bin\java.exe
  </code></pre>
  
  <p>The problem is with the <code>java.exe</code> located in <code>System32</code>. If I rename that one to something else, things work as expected. And the Oracle one is just symbolic links to the last one.</p>
  
  <p>So now the question is why does this happen with a <code>java.exe</code> in my <code>System32</code> folder? (My endgame will be to delete <code>java.exe</code> from the <code>System32</code> folder, but I'd like to understand what's going on first.)</p>
  
  <p>Update 2</p>
  
  <hr>
  
  <p>Using Process Monitor, I can see that when I run either command on the offending <code>C:\Windows\System32\java.exe</code> this is the executable that is run (see the screenshot of it calling <code>LoadImage</code> on <code>C:\Windows\System32\java.exe</code>). There are also a few references to <code>C:\Windows\SysWOW64\java.exe</code> in both of them. I'm not sure why.</p>
  
  <p><img src="https://i.stack.imgur.com/fpPhM.png" alt="enter image description here"></p>
  
  <p>Also note that it appears my registry is correct. Currentversion is 1.8.
  <img src="https://i.stack.imgur.com/qBouC.png" alt="enter image description here"></p>
  
  <p>One other note, the timestamp on <code>C:\Windows\System32\java.exe</code> is on a day that I know I installed a JRE. </p>