89

这两个术语之间有什么实质性区别吗?我了解 JDK 代表 Java Development Kit,它是 SDK(软件开发工具包)的子集。但是指定Java SDK,应该和JDK一样。

4

15 回答 15

101

从这个维基百科条目

JDK 是广义上松散定义为软件开发工具包 (SDK) 的子集。在最近发布的 Java SE、EE 和 ME 的描述中,Sun 承认根据他们的术语,JDK 构成了负责编写和运行 Java 程序的 SDK 的子集。SDK 的其余部分由额外的软件组成,例如应用程序服务器、调试器和文档。

“额外软件”似乎是 Glassfish、MySQL 和 NetBeans。此页面比较了您可以为 Java EE SDK 获得的各种包。

于 2008-10-03T10:48:45.047 回答
39

是的,SDK 和 JDK 之间是有区别的。大多数人忘记了Java平台不仅用于开发Java语言程序。JVM 还支持一些其他语言。因此,明确地说,SDK 是通用的软件捆绑包,支持使用各种语言(如 Clojure、Groovy、Scala、JRuby 等)创建软件。JDK 是用 Java 语言开发软件的特定捆绑包,包含所有 Java 标准 API。(我希望我解释得很好,因为我实际上不会说英语)

于 2014-06-13T15:14:53.867 回答
35

JDK 是 Java 的 SDK。

SDK 代表“软件开发工具包”,一种开发人员工具,使人们能够更轻松、更有效、更高效地编写代码。SDK 适用于各种语言。它们提供了大量的 API(应用程序编程接口),使程序员的工作变得轻松。

在此处输入图像描述

Java 的 SDK 称为 JDK,即 Java 开发工具包。因此,通过说 SDK for Java,您实际上是指 JDK。

假设您是 Java 新手,您会遇到另一个术语 - JRE,Java Runtime Environment 的首字母缩写。当您尝试运行用 Java 编写的软件程序时,您需要 JRE。

Java 是一种独立于平台的语言。JRE 运行 JVM,即 Java 虚拟机,使您能够在 JVM 可用的任何平台上运行软件。

于 2016-03-22T12:44:09.733 回答
6

取自 Java EE 6 SDK Installer,显示了 SDK 6 除了 JDK 还包含哪些内容:

SDK 6 包含什么,除了 JDK

于 2015-03-17T13:11:31.073 回答
3

孙只是喜欢无缘无故地更改事物的名称。查看 SunOS/Solaris 的三种不同编号方案,或 Java 的两种编号方案。是 Java 1.6、Java 2 版本 6 还是 Java 6?

于 2008-10-03T10:47:32.227 回答
3

JDK(Java 开发工具包)是一个 SDK(软件开发工具包)。

它用于在 Java 上构建软件/应用程序,当然它包括 JRE(Java 运行时版)来执行该软件。如果您只想执行 Java 应用程序,只需下载 JRE。

顺便说一句,Java EE(企业版)包含“带有方法(功能)”的类包库,用于为 WEB 环境和 Java ME(微型版)构建移动设备的应用程序。如果您对它(Java ME)感兴趣,我建议您看看 Google 的 Android DevKit 和 API。

看看这里:它会解释更多.. http://www.oracle.com/technetwork/java/archive-139210.html

于 2012-11-09T08:10:14.003 回答
3

JDK 附带了一组用于开发和运行 Java 程序的工具

它们包括:

  1. appletviewer(用于查看 Java 小程序)

  2. javac (Java 编译器)

  3. java(Java 解释器)

  4. javap(Java反汇编程序)

  5. javah(用于 C 头文件)

  6. javadoc(用于创建 HTML 文档)

  7. jdb (Java 调试器)

然而,SDK 附带了许多其他工具,包括 JDK 中可用的工具。

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

于 2013-04-09T07:34:59.043 回答
1

JDK 和 Java SDK 之间没有区别。两者的意思是一样的。我认为从 JDK 转换到 Java SDK 是 Sun 的公关决定。我认为它现在回到 JDK。

于 2008-10-03T10:47:03.163 回答
1

在我看来,Java 中的 JDK 和 SDK 没有区别。我们可以在它们中找到所有的开发工具和设施。它只是 sun 提供的别名。

于 2012-01-10T08:01:39.170 回答
1

这个问题的最佳示例,SDK - 软件开发工具包 - 例如:Netbeans JDK - Java 开发工具包。(这是 Java 编译器)。没有 JDK,我们无法在 SDK 中运行 java 程序。

于 2012-02-15T13:13:38.157 回答
1

没有区别。

Java 软件开发工具包 (Java SDK) 曾经被称为 Java 开发工具包 (JDK),在 Sun 的营销部门对“tm”和术语感到疯狂之前。出于政治原因和理智,他们将有意义的名称 (jdk) 和版本 (1.2 / 1.3 / 1.4 1.5 / 1.6) 称为“工程”术语。营销术语是“Java2 平台”(又名 jdk 1.2 到 1.4)或 Java5(又名 jdk 1.5)或 Java6(又名 jdk1.6)。光是想想就头疼。

于 2013-12-06T12:58:49.427 回答
0

我最初的猜测是 Java SDK 用于构建 JVM,而 JDK 用于构建 JVM 应用程序

编辑:虽然目前这看起来不正确。Sun 正在对 JVM 进行开源(也许他们现在已经完成了),所以如果我的答案确实正确,我不会太惊讶……但目前,SDK 和 JDK 是一回事。

于 2008-10-03T10:47:01.340 回答
0

我认为 jdk 具有某些可以与特定框架一起使用的功能。好吧,将其作为一个整体称为 SDK。

像 Android 或 Blackberry 一样,它们都使用 java 及其框架。

于 2013-04-26T10:45:49.853 回答
0
  • JDK是您需要的write a java program

  • JRE是您需要的run a java program

  • 由于JDK containsJRE 可以下载JDK 来编写和运行java 程序。

  • JRE 包含JVM,只要 JVM 安装在该操作系统上,Java 程序就可以在任何平台上运行(无需为其他平台重新编写或重新编译代码)。这就是为什么 Java 被称为

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

于 2021-03-06T14:30:31.817 回答
-1

有两种产品JavaSE 和JavaEE。EE是允许Web应用程序开发和运行的Web应用程序/企业版。SE 是纯 Java 产品,其中没有 EE 细节,但它是 EE 的一个子集。SE 有两种类型,JDK 和 JRE。

有一个很大的区别可能并不明显,我不确定它是否适用于所有操作系统,但是在 Windows 下,JRE 没有服务器 HotSpot JVM,只有客户端,JDK 两者都有,而且就我知道所有其他操作系统都有 JDK 和 JRE。真正的区别是JDK包含Java编译器,即JDK允许您从源代码编译和运行Java,而JRE只允许运行Java字节码,即已经编译的Source。是的,较新的版本捆绑了许多额外的组件,例如 NetBeans 编辑器环境和 Java 内存数据库 (derby/cloudscape),但这些都是可选的。

于 2008-10-03T11:08:03.620 回答