这两个术语之间是否存在实质性差异?我知道JDK代表Java Development Kit,它是SDK(软件开发工具包)的一个子集。但是指定Java SDK,它应该与JDK相同。
答案 0 :(得分:90)
JDK是一般意义上松散定义为软件开发工具包(SDK)的子集。在他们最近发布的Java SE,EE和ME的描述中,Sun承认,在他们的术语下,JDK构成了SDK的子集,它负责编写和运行Java程序。 SDK的其余部分由额外的软件组成,例如Application Servers,Debuggers和Documentation。
“额外软件”似乎是Glassfish,MySQL和NetBeans。 This page比较了您可以为Java EE SDK获得的各种包。
答案 1 :(得分:29)
是的,SDK和JDK之间存在差异。 大多数人忘记了Java平台不仅用于开发Java语言的程序。 JVM也支持其他一些语言。 因此,明确说明,SDK是通用的软件包,支持各种语言的软件创建,如Clojure,Groovy,Scala,JRuby等。 JDK是用Java语言开发软件的特定包,包含所有Java标准API。 (我希望我已经很好地解释了,因为我实际上不会说英语)
答案 2 :(得分:16)
JDK是Java的SDK。
SDK代表“软件开发工具包”,这是一种开发人员工具,可以让您更轻松,有效和高效地编写代码。 SDK适用于各种语言。它们提供了许多API(应用程序编程接口),使程序员的工作变得轻松。
SDK for Java称为JDK,Java Development Kit。 因此,通过说SDK for Java,您实际上是指JDK。
假设您不熟悉Java,那么您将遇到另一个术语--JRE,Java Runtime Environment的首字母缩写。 当您尝试运行用Java编写的软件程序时,JRE是您需要的。
Java是一种独立于平台的语言。 JRE运行JVM(Java虚拟机),使您能够在任何可用JVM的平台上运行该软件。
答案 3 :(得分:4)
从Java EE 6 SDK安装程序中获取,除了JDK之外还显示了SDK 6:
答案 4 :(得分:3)
JDK(Java开发工具包)是一个SDK(软件开发工具包)。
它用于在Java上构建软件/应用程序 当然它包括执行该软件的JRE(Java Runtime Edition)。 如果您只想执行Java应用程序,请仅下载JRE。
顺便说一句,Java EE(企业版)包含类“包含方法(函数)”的包的库,用于构建用于WEB环境的应用程序和用于移动设备的Java ME(微型版)。如果您对它感兴趣(Java ME),我建议您查看Google的Android DevKit和API。
看看这里:它会解释更多.. http://www.oracle.com/technetwork/java/archive-139210.html
答案 5 :(得分:2)
Sun只是喜欢改变事物的名称而没有明显的理由。查看SunOS / Solaris的三种不同编号方案,或Java的两种编号方案。是Java 1.6,Java 2 Version 6还是Java 6?
答案 6 :(得分:2)
JDK附带了一系列用于开发和运行Java程序的工具,
它们包括:
appletviewer(用于查看Java小程序)
javac(Java编译器)
java(Java解释器)
javap(Java反汇编程序)
javah(用于C头文件)
javadoc(用于创建HTML文档)
jdb(Java调试器)
然而,SDK附带了许多其他工具,包括JDK中提供的工具。
答案 7 :(得分:1)
JDK和Java SDK之间没有区别。它们都意味着同样的事情。我认为Sun公司决定将JDK转换为Java SDK。我现在想回到JDK。
答案 8 :(得分:1)
在我看来,Java中的JDK和SDK没有区别。我们可以找到所有开发工具以及两者中的设施。它只是sun提供的别名。
答案 9 :(得分:1)
此问题的最佳示例,SDK - 软件开发工具包 - 例如:Netbeans JDK - Java开发工具包。(这是Java编译器)。没有JDK,我们无法在SDK中运行java程序。
答案 10 :(得分:1)
没有区别。
Java软件开发工具包(Java SDK)曾经被称为Java开发工具包(JDK),之前Sun的营销部门对“tm”和术语感到疯狂。出于政治原因和为了理智,他们称之为有意义的名字(jdk)&版本(1.2 / 1.3 / 1.4 1.5 / 1.6)“工程”术语。营销术语是“Java2平台”(aka jdk 1.2 thru 1.4)或Java5(aka jdk 1.5)或Java6(aka jdk1.6)。我只是想着它而头疼。
答案 11 :(得分:0)
我认为jdk具有某些功能,可以与特定框架一起使用。好吧把它称为SDK整体。
与Android或Blackberry一样,都使用java及其框架。
答案 12 :(得分:0)
JDK 是您write a java program
所需要的。
JRE 是您run a java program
所需要的。
由于 JDK contains
JRE,您可以下载 JDK 来编写和运行 java 程序。
JRE 包含 JVM,这使得 Java 程序可以在任何平台上运行,只要 JVM 安装在该操作系统上(无需为其他平台重新编写或重新编译代码)。这就是为什么 Java 被称为
Write Once(compile once) run anywhere.(WORA)
答案 13 :(得分:-1)
我最初的猜测是Java SDK用于构建JVM,而JDK用于构建用于 JVM的应用程序。
编辑:虽然目前这看起来不正确。 Sun正在开发JVM(也许他们现在已经完成了),所以如果我的答案确实变得正确,我也不会太惊讶......但目前,SDK和JDK是一回事。
答案 14 :(得分:-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),但这些是可选的。