JDK和Java SDK之间的区别
这两个术语之间有什么实质性区别吗?我知道JDK代表Java开发工具包,它是SDK(软件开发工具包)的子集。但是指定Java SDK时,其含义应与JDK相同。
解决方案
我最初的猜测是Java SDK用于构建JVM,而JDK用于构建JVM的应用程序。
编辑:虽然目前看来这是不正确的。 Sun正在开放JVM的外包过程中(也许它们现在已经完成了),所以如果我的回答确实正确,我也不会感到惊讶...但是目前,SDK和JDK是同一件事。
JDK和Java SDK之间没有区别。他们两个都是同一件事。我认为Sun从JDK转换为Java SDK是PR的一项决定。我认为它现在可以回溯到JDK。
Sun只是喜欢无缘无故地更改事物的名称。查看针对SunOS / Solaris的三种不同的编号方案,或者针对Java的两种不同的编号方案。是Java 1.6,Java 2版本6还是Java 6?
从这个维基百科条目:
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.
"额外的软件"似乎是Glassfish,MySQL和NetBeans。该页面比较了我们可以从Java EE SDK获得的各种软件包。
那么,为什么会有这两个不同的链接(SDK和JDK)来下载它们呢?
有两种产品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),但是这些是可选的。