[sdk] Differences between JDK and Java SDK

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.

This question is related to sdk java

The answer is


There is no difference.

The Java Software Development Kit (Java SDK) used to be called the Java Development Kit (JDK) before the marketing department at Sun got crazy with the "tm" and terminology. For political reasons & for sanity, they call the meaningful names (jdk) & versions (1.2 / 1.3 / 1.4 1.5 / 1.6) "engineering" terms. The marketing terms are "Java2 platform" (aka jdk 1.2 thru 1.4) or Java5 (aka jdk 1.5) or Java6 (aka jdk1.6). I'm getting a headache just thinking about it.


Best example for this Question, SDK - Software Development Kit - Ex: Netbeans JDK - Java Development Kit.(This is Java compiler). Without JDK, we unable to run java programs in SDK.


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.


The JDK (Java Development Kit) is an SDK (Software Dev Kit).

It is used to build software/applications on Java and of course it includes the JRE (Java Runtime Edition) to execute that software. If you just want to execute a Java application, download only the JRE.

By the way, Java EE (Enterprise Edition) contains libraries of packages of classes "with methods (functions)" to build apps for the WEB environment and Java ME (Micro Edition) for mobile devices. If you are interested in it (Java ME) I would recommend to take a look at Google's Android DevKit and API.

Take a look here: it's gonna explain bit more.. http://www.oracle.com/technetwork/java/archive-139210.html


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.


I think jdk has certain features which can be used along with particular framework. Well call it SDK as a whole.

Like Android or Blackberry both use java along with their framework.


Taken from the Java EE 6 SDK Installer, shows what SDK 6 contains besides JDK:

What SDK 6 contains, besides JDK


JDK is the SDK for Java.

SDK stands for 'Software Development Kit', a developers tools that enables one to write the code with more more ease, effectiveness and efficiency. SDKs come for various languages. They provide a lot of APIs (Application Programming Interfaces) that makes the programmer's work easy.

enter image description here

The SDK for Java is called as JDK, the Java Development Kit. So by saying SDK for Java you are actually referring to the JDK.

Assuming that you are new to Java, there is another term that you'll come across- JRE, the acronym for Java Runtime Environment. JRE is something that you need when you try to run software programs written in Java.

Java is a platform independent language. The JRE runs the JVM, the Java Virtual Machine, that enables you to run the software on any platform for which the JVM is available.


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?


The JDK comes with a collection of tools that are used for developing and running Java programs,

They include:

  1. appletviewer (for viewing Java applets)

  2. javac (Java compiler)

  3. java (Java interpreter)

  4. javap (Java disassembler)

  5. javah (for C header files)

  6. javadoc (for creating HTML documents)

  7. jdb (Java debugger)

Whereas, the SDK comes with many other tools also including the tools available in JDKs.

http://parvindersingh.webs.com/apps/forums/topics/show/8853125-solved-java-difference-between-jdk-and-sdk-


Yes, there is a difference between the SDK and the JDK. Most of people forget that Java Platform is not only used to develop programs in Java language. The JVM supports some other languages also. Thus, making it clear, the SDK is the generic bundle of software that supports software creation in a variety of languages like Clojure, Groovy, Scala, JRuby, and others. The JDK is the specific bundle to develop software in Java language, containing all Java standard API to do so. (I hope I've explaned it well, since I actually do not speak english)


In my point of view there is no difference between JDK and SDK in java. We can find all development tools as well as facilities in both of them. it is just an alias provided by sun.


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.