title: Meaning of multiple JDKs on Mac OS X
body: <p>I am using Mac OS X 10.7.4. My Java Preferences shows the following:
  <img src="https://i.stack.imgur.com/eGZDU.png" alt="Java Preferences"></p>
  
  <p>If I run <code>locate javac</code>, I get:</p>
  
  <pre><code>...
  /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/javac
  ...
  /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/javac
  /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/javac
  ...
  /usr/bin/javac
  ...
  </code></pre>
  
  <p>Where nothing seems to be soft-linking something else.</p>
  
  <ul>
  <li>If I have only one JDK, why are there multiple locations for this one command?</li>
  <li>What is the conceptual difference between <code>/System/Library/Frameworks/JavaVM.framework/</code> and 
  <code>/System/Library/Java/JavaVirtualMachines/</code>?</li>
  <li>Is there a single folder in Mac OS X that could be called "<code>JAVA_HOME</code>", that would contain all the JDK tools as well as header files (such as <code>jni.h</code>), similar to the way this is done in Windows?</li>
  </ul>