I see many different Java terms floating around. I need to install the JDK 1.6. It was my understanding that Java 6 == Java 1.6. However, when I install Java SE 6, I get a JVM that reports as version 11.0!!!??! Who can solve the madness?
- JDK - Java Development Kit
- JRE - Java Runtime Environment
- Java SE - Java Standard Edition
SE defines a set of capabilities and functionalities; there are more complex editions (Enterprise Edition - EE) and simpler ones (Mobile Edition - ME - for mobile environments).
The JDK includes the compiler and other tools needed to develop Java applications; JRE does not. So, to run a Java application someone else provides, you need JRE; to develop a Java application, you need JDK.
Edited: As Chris Marasti-Georg pointed out in a comment, you can find out lots of information at Sun's Java web site, and in particular from the Java SE section, (2nd option, Java SE Development Kit (JDK) 6 Update 10).
When you type "java -version", you see three version numbers - the java version (on mine, that's "1.6.0_07
"), the Java SE Runtime Environment version ("build 1.6.0_07-b06
"), and the HotSpot version (on mine, that's "build 10.0-b23, mixed mode"
). I suspect the "11.0" you are seeing is the HotSpot version.
Update: HotSpot is (or used to be, now they seem to use it to mean the whole VM) the just-in-time compiler that is built in to the Java Virtual Machine. God only knows why Sun gives it a separate version number.