Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Difference between J2SDK and JDK  RSS feed

 
Eric Crockett
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In high school, I was told how to use the J2SDK (most recent version something like 1.4.2_14). Now in my college course we are using the JDK6 (which installs to \Java\1.6.0_01)

What is the difference and why use one over the other? Will my programs not work now? Are annotations supported in the newest versions of both?

Thank you in advance!
 
Sol Mayer-Orn
Ranch Hand
Posts: 311
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, it's kind of funny with the names.

Short answer, you'd probably want JDK 6.x, which is the newest stable version (and it's installed under 1.6.x).
Most of your old code (1.4) should run on the newer JDK 6, probably with some harmless "deprecated" warnings. However, success can't be guaranteed 100%, there are some pitfalls. You'll just need to test and see...

In my opinion, the main advantage of the newer JDKs is annotations and generics (e.g. List<String> . There are also some nice improvements to the XML API, threading API... and more.
Annotations and generics are supported since JDK5, they were not available on your old 1.4.2.


And a short historical explanations to the "Java2" ("J2.." thing:
1. Java versions 1.1.x , 1.2.x, 1.3.x, 1.4.x (including your 1.4.2_14)
were all under the umbrella of "Java 2" spec.
This was kind of an historical reminder that they were *all* very different from the ancient Java 1.0 (even the internals of java were changed - classloaders, etc).
So, "J2SE 1.4.2" would mean "Java Standard Edition, Java2 spec, version 1.4.2".

2. Then come the next 2 releases 1.5.x , 1.6.x.
Sun stopped calling it "Java 2" and changed the naming convention.
So now, release "1.5.x" is also called "Java 5", and release "1.6.x" is called "Java 6".
(They probably just wanted to simplify things - remember less numbers, maybe - but that's just my guess).
[ September 02, 2007: Message edited by: Sol Ma-Orn ]
 
Jesper de Jong
Java Cowboy
Sheriff
Posts: 16028
87
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Sol Ma-Orn:
And a short historical explanations to the "Java2" ("J2.." thing:
1. Java versions 1.1.x , 1.2.x, 1.3.x, 1.4.x (including your 1.4.2_14)
were all under the umbrella of "Java 2" spec.
This was kind of an historical reminder that they were *all* very different from the ancient Java 1.0 (even the internals of java were changed - classloaders, etc).
So, "J2SE 1.4.2" would mean "Java Standard Edition, Java2 spec, version 1.4.2".

Not entirely correct; Sun started using the name "Java 2" at version 1.2. So Java 1.0 and 1.1 were simply "Java".

About "Java 5.0", "Java 6", and the numbers 1.5.0 and 1.6.0: The number without the "1." is what Sun calls the "product version number" and with the "1." is the "developer version number". This numbering scheme just exists for marketing reasons. See the following page for more info:

Java SE 6, Platform Name and Version Numbers
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!