JDK 和 Java SDK 的区别
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/166298/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Differences between JDK and Java SDK
提问by Juan Carlos Blanco Martínez
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.
这两个术语之间有什么实质性的区别吗?我知道 JDK 代表 Java 开发工具包,它是 SDK(软件开发工具包)的一个子集。但是指定Java SDK,应该和JDK一样。
采纳答案by jamesh
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.
JDK 是松散定义为一般意义上的软件开发工具包 (SDK) 的一个子集。在 Java SE、EE 和 ME 的最新版本随附的描述中,Sun 承认,根据他们的术语,JDK 构成了负责编写和运行 Java 程序的 SDK 的子集。SDK 的其余部分由额外的软件组成,例如应用程序服务器、调试器和文档。
The "extra software" seems to be Glassfish, MySQL, and NetBeans. This pagegives a comparison of the various packages you can get for the Java EE SDK.
“额外的软件”似乎是 Glassfish、MySQL 和 NetBeans。此页面比较了您可以获得的 Java EE SDK 的各种包。
回答by Oli
My initial guess would be that the Java SDK is for building the JVM while the JDK is for building apps forthe JVM.
我最初的猜测是 Java SDK 用于构建 JVM,而 JDK 用于为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.
编辑:虽然目前这看起来不正确。Sun 正在将 JVM 开源(也许他们现在已经完成了)所以如果我的答案确实正确,我不会太惊讶......但目前,SDK 和 JDK 是同一回事。
回答by Nikhil Kashyap
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.
JDK 和 Java SDK 之间没有区别。两者都是同一个意思。我认为从 JDK 转换到 Java SDK 是 Sun 的公关决定。我认为它现在回到JDK。
回答by Paul Tomblin
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?
Sun 只是喜欢无缘无故地更改事物的名称。查看 SunOS/Solaris 的三种不同编号方案,或 Java 的两种编号方案。是 Java 1.6、Java 2 Version 6 还是 Java 6?
回答by Donal Tobin
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.
有JavaSE和JavaEE两个产品。EE 是允许开发和运行 Web 应用程序的 Web 应用程序/企业版。SE 是纯 Java 产品,其中没有 EE 细节,但它是 EE 的一个子集。SE 有两种类型:JDK 和 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.
有一个可能不明显的大区别,我不确定它是否适用于所有操作系统,但在 Windows 下,JRE 没有服务器 HotSpot JVM,只有客户端一个,JDK 两者都有,就我知道所有其他操作系统都有 JDK 和 JRE。真正的区别在于JDK包含Java编译器,即JDK允许您从源代码编译和运行Java,而JRE只允许运行Java字节码,即已编译的Source。是的,较新的版本捆绑了许多额外的组件,例如 NetBeans 编辑器环境和内存中的 Java 数据库(derby/cloudscape),但这些是可选的。
回答by Alok Kumar Sahoo
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.
在我看来,Java 中的 JDK 和 SDK 没有区别。我们可以在其中找到所有开发工具和设施。它只是 sun 提供的别名。
回答by Thirumal
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.
这个问题的最佳示例,SDK - 软件开发工具包 - 例如:Netbeans JDK - Java 开发工具包。(这是 Java 编译器)。没有JDK,我们无法在SDK中运行java程序。
回答by leonardolabolida
The JDK (Java Development Kit) is an SDK (Software Dev Kit).
JDK(Java 开发工具包)是一种 SDK(软件开发工具包)。
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.
它用于在 Java 上构建软件/应用程序,当然它包括 JRE(Java 运行时版)来执行该软件。如果您只想执行 Java 应用程序,只需下载 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.
顺便说一下,Java EE(企业版)包含“带有方法(功能)”的类包库,用于构建适用于 WEB 环境的应用程序和适用于移动设备的 Java ME(微型版)。如果您对此感兴趣(Java ME),我建议您查看 Google 的 Android DevKit 和 API。
Take a look here: it's gonna explain bit more.. http://www.oracle.com/technetwork/java/archive-139210.html
看看这里:它会解释更多.. http://www.oracle.com/technetwork/java/archive-139210.html
回答by Parvinder Singh
The JDK comes with a collection of tools that are used for developing and running Java programs,
JDK 附带了一组用于开发和运行 Java 程序的工具,
They include:
它们包括:
appletviewer (for viewing Java applets)
javac (Java compiler)
java (Java interpreter)
javap (Java disassembler)
javah (for C header files)
javadoc (for creating HTML documents)
jdb (Java debugger)
appletviewer(用于查看 Java 小程序)
javac(Java 编译器)
java(Java解释器)
javap(Java反汇编程序)
javah(用于 C 头文件)
javadoc(用于创建 HTML 文档)
jdb(Java 调试器)
Whereas, the SDK comes with many other tools also including the tools available in JDKs.
然而,SDK 附带了许多其他工具,还包括 JDK 中可用的工具。
回答by dkumar
I think jdk has certain features which can be used along with particular framework. Well call it SDK as a whole.
我认为 jdk 具有某些可以与特定框架一起使用的功能。好吧,整体上称其为 SDK。
Like Android or Blackberry both use java along with their framework.
像 Android 或 Blackberry 一样都使用 java 及其框架。