tags:

views:

3997

answers:

6

Is there any substantial difference between those two terms?. I understand that JDK stands for Java Development Kit that is a subset of SDK (Software Development Kit). But specifying Java SDK, it should mean the same as JDK.

A: 

My initial guess would be that the Java SDK is for building the JVM while the JDK is for building apps for the JVM.

Edit: Although this looks to be incorrect at the moment. Sun are in the process of opensourcing the JVM (perhaps they've even finished, now) so I wouldn't be too surprised if my answer does become correct... But at the moment, the SDK and JDK are the same thing.

Oli
Sorry what do you mean by building the JVM?
Juan Carlos Blanco Martínez
Java applications run inside the Java Virtual Machine. Part of the JRE which is being opened up to the public, so a Java SDK would be useful for people to build JREs for their platforms.
Oli
Sorry, where did you get this statement (a Java SDK would be useful for people to build JREs for their platforms) from? I think that either I'm not understanding you or that is not the target of the Java SDK. Java SDK is formed by the JRE and some tools as Javac, javap, javadoc ...
Juan Carlos Blanco Martínez
A: 

There's no difference between JDK and Java SDK. Both of them mean the same thing. I think it was a PR decision at Sun to change over from JDK to Java SDK. I think its back to JDK for now.

Nikhil Kashyap
A: 

Sun just likes changing the names of things for no apparent reason. Look at the three different numbering schemes for SunOS/Solaris, or the two numbering schemes for Java. Is is Java 1.6, Java 2 Version 6, or Java 6?

Paul Tomblin
+14  A: 

From this wikipedia entry:

The JDK is a subset of what is loosely defined as a software development kit (SDK) in the general sense. In the descriptions which accompany their recent releases for Java SE, EE, and ME, Sun acknowledge that under their terminology, the JDK forms the subset of the SDK which is responsible for the writing and running of Java programs. The remainder of the SDK is composed of extra software, such as Application Servers, Debuggers, and Documentation.

The "extra software" seems to be Glassfish, MySQL, and NetBeans. This page gives a comparison of the various packages you can get for the J2E SDK.

jamesh
A: 

So, why are there those two different links (SDK and JDK) to download them?

Juan Carlos Blanco Martínez
The first one is for java standard edition (JavaSE), the other one is the enterprise edition (JavaEE). They are two different products.
agnul
A: 

There are two products JavaSE and JavaEE. EE is the web application/enterprise edition that allows the development and running of web application. SE is the plain Java product that has no EE specifics in it, but is a subset of EE. The SE comes in two types a JDK and a JRE.

There is one big difference that may not be obvious, and I am not sure if it applies to all Operating Systems but under Windows the JRE does not have the server HotSpot JVM, only the client one, the JDK has both, and as far as I know all other OS's have both for the JDK and the JRE. The real difference is the the JDK contains the Java compiler, that is the JDK allows you to compile and run Java from source code where as the JRE only allows the running of Java byte code, that is Source that has already been compiled. And yes newer versions bundle a number of extra components, such as NetBeans editor environment and Java in memory Database (derby/cloudscape), but these are optional.

Donal Tobin
Please, read again the question. It's not about JDK and JRE.
Juan Carlos Blanco Martínez