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.

196710 次浏览

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.

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.

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?

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 Java EE SDK.

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.

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.

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.

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

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-

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.

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.

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)

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.

  • The JDK is what you need to write a java program.

  • The JRE is what you need to need to run a java program.

  • Since the JDK contains the JRE you can download the JDK to write and run java program.

  • The JRE contains JVM which makes java program run on any platform as long as the JVM is installed on that OS (without having to rewritten or recompiled the code again for other platform). This is why Java is known to be

Write Once(compile once) run anywhere.(WORA)