Although I\'m not a real Java developer (yet), I feel like I should know this by now, but I\'m still very confused. My question has two parts:
What is the d
Sun over the years have made some changes to the naming conventions for their programming language. Originally you had jdk1.1 and so on. At jdk1.2 they decided to change this to Java 2. So you will see some older books about Java 2.
Then for some mysterious reason it went back to jdk1.3 then jdk1.4. When jdk1.5 was released they made a concious effort to change the names again. So we had Java 5. Since they decided to stick with this you have the following:
jdk1.5 = Java 5
jdk1.6 = Java 6
jdk1.7 = Java 7
and (maybe) so on.
So hopefully that explains that part of it. In your question Java6 == Java 1.6 == JDK 6 == JDK 1.6.
As for JVM vs JRE. The JRE contains the JVM as well as class libraries and any other tools necessary to run your Java program. The JVM is simply the program that interprets your byte code and executes it on the host machine.