tags:

views:

6561

answers:

4

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?

+1  A: 

Sun can solve the madness. Others may be able to explain it.

Elie
We need another up arrow that instead of saying "that was helpful" says "That was sooooo true".
Paul Tomblin
Yeah, I wasn't trying to be helpful, but the way Joe phrased his question: "Who can solve this madness?" I couldn't resist.
Elie
Sun could solve the madness, but don't look likely to do so. SunOS/Solaris is another example of their version numbering, er, policy.
Mark Baker
+8  A: 
  • 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).

Jonathan Leffler
So, if I need JDK 1.6, what do I install? Installing Java SE 6 gives me a JVM that reports as version 11.0!
Joe Schneider
You need to go to sun and download JDK 1.6 or 6, whatever they have it listed as.
Chris Marasti-Georg
I believe that what comes with Java SE 6 should be the correct JDK, despite internal version number differences.
Jonathan Leffler
http://java.sun.com/javase/downloads/index.jsp 2nd option, Java SE Development Kit (JDK) 6 Update 10
Chris Marasti-Georg
+5  A: 

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.

Paul Tomblin
So, what is the difference between JVM 1.6 and JVM 11.0? What is hotspot?
Joe Schneider
Thanks, that was the confusion - two different version numbers.
Joe Schneider
Actually HotSpot isn't a JIT. JIT implies that compilation takes place before execution. HotSpot first uses intepretation to execute and analyze the code before compiling/optimizing selected parts of the program.
John Nilsson
+1  A: 

With the release of Java 5, the product version was made distinct from the developer version as described here

toolkit