Java SE 6与JRE 1.6与JDK 1.6的比较 – 这是什么意思?

我看到许多不同的Java术语浮动。 我需要安装JDK 1.6。 这是我的理解,Java 6 == Java 1.6。 但是,当我安装Java SE 6时,会得到一个报告为11.0版本的JVM! 谁能解决这个疯狂?

当您键入“java -version”时,会看到三个版本号 – java版本(在我的版本中是1.6.0_07 ),Java SE运行时环境版本(“build 1.6.0_07-b06 ”)和HotSpot版本(在我的,这是“ build 10.0-b23, mixed mode" )。 我怀疑你看到的“11.0”是HotSpot版本。

更新:HotSpot是(或曾经是,现在他们似乎用它来表示整个虚拟机)内置于Java虚拟机的即时编译器。 上帝只知道为什么Sun给它一个单独的版本号。

  • JDK – Java开发工具包
  • JRE – Java运行时环境
  • Java SE – Java标准版

SE定义了一组function和function; 有更复杂的版本(Enterprise Edition – EE)和更简单的版本(Micro Edition – ME – 用于移动环境)。

JDK包含开发Java应用程序所需的编译器和其他工具; JRE不。 因此,要运行其他人提供的Java应用程序,您需要JRE; 开发一个Java应用程序,你需要JDK。

编辑 :Chris Marasti-Georg在评论中指出,您可以在Sun的Java网站,尤其是Java SE部分(第二个选项,Java SE开发工具包(JDK)6 Update 10)中find许多信息, 。


编辑2011-04-06:世界变成了现在,Java现在由甲骨文pipe理,甲骨文收购了Sun。 今年晚些时候, sun.com域应该是黑暗的。 新的页面(基于redirect)是Oracle TechNetnetworking上的这个Java页面。 (另见java.com 。)


编辑2013-01-11:世界在不断变化(2012-12-21尽pipe),而且看,JRE6即将到达支持的尽头。 Oracle在2013年2月份之后没有公开更新Java 6。

在给定的Java版本中,这个答案仍然有效。 JDK是Java开发工具包,JRE是Java运行时环境,Java SE是标准版,等等。 但版本6(1.6)正在变得陈旧。

编辑2015-04-29:随着另一场围绕太阳的革命,Java SE 7的支持也结束了。 2015年4月,甲骨文确认 ,它不再提供Java SE 7的公开更新.Java SE 8的公开更新的暂定结束date是2017年3月,但是结束date可能会发生变化(以后不会更早)。

这可能有助于某人:

我在我的系统上安装了最新的Java进行开发,目前它是Java SE 7.现在,让我们深入这个“疯狂”,就像你说的那样…

所有这些都是一样的(当开发人员谈论Java开发时):

  • Java SE 7
  • Java SE v1.7.0
  • Java SE开发工具包7

从Java v1.5开始:

  • v5 = v1.5。
  • v6 = v1.6。
  • v7 = v1.7。

而且我们可以假设这将保留将来的版本。

接下来,对于开发者来说,下载JDK,而不是JRE。

JDK将包含JRE。 如果您需要JDK和JRE,请获取JDK。 两者都将从单个JDK安装中安装,如下所示。

正如上面提到的那样:

  • JDK = Java开发工具包(开发人员需要这个,如果你用Java编写的话,这就是你)
  • JRE = Java运行时环境(用户需要这个,今天是每个计算机用户)
  • Java SE = Java标准版

下面是我所遵循的一步一步的链接(一步到下一步,这是一个单一的下载)下载Java开发(JDK):

  1. 访问“Java SE下载”: http : //www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 点击“JDK Download”并访问“Java SE Development Kit 7 Downloads”: http : //www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (注意继步骤#1之后的链接将带你到另一个不同的链接,因为JDK 1.7更新,更高版本,现在出)
  3. 接受协议:)
  4. 点击“Java SE开发工具包7(Windows x64)”: http : //download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (用于我的64位Windows 7系统)
  5. 您正在为您的系统下载(希望是最新的)JDK! 🙂

请记住,上面的链接仅供参考,向您展示如何下载JDK所需的一步一步的方法。

并使用默认设置安装到:

  • “C:\ Program Files \ Java \ jdk1.7.0 \”(JDK)
  • “C:\ Program Files \ Java \ jre7 \”(JRE)<—为什么它要求一个新的安装文件夹? 这是JRE!

从上面记得,JDK包含了JRE,如果你知道它们是什么的话,这是有道理的。 再次参见上文。

安装完成后,请仔细检查“C:\ Program Files \ Java”以查看这两个文件夹。 现在你知道他们是什么,他们为什么在那里。

我知道我为新手写了这篇文章,但我喜欢详细的了解事情,所以我希望这有助于。

一个简短的,也许错误的Java版本的历史

  • Java是一个平台。 它由两个产品组成 – 软件开发工具包和运行时环境。

  • 当Java第一次发布时,它显然被称为Java 。 如果你是开发者,你也知道版本,这是一个正常的“1.0”,后来是“1.1”。 这两个平台的产品也被赋予了名字:

    • JDK – “Java开发工具包”
    • JRE – “Java运行时环境”
  • 显然1.2版本的变化如此重要,以至于他们开始将平台称为Java 2

    • 平台的默认“分布”被赋予绰号“标准”来与它的兄弟姐妹进行对比。 所以你有三个平台:

      • “Java 2标准版(J2SE)”
      • “Java 2企业版(J2EE)”
      • “Java 2移动版(J2ME)”
    • JDK正式更名为“Java 2软件开发工具包”。

  • 当版本1.5出来时,西装决定他们需要“重塑”产品。 所以Java平台有两个版本 – 产品版本“5”和开发者版本“1.5”(是的,规则明确提到 – “放弃”1.)。但是,“2”保留在所以现在该平台被正式称为“Java 2 Platform Standard Edition 5.0(J2SE 5.0)”

    • 西装也意识到,开发社区并没有拿起JDK的重命名。 但是,他们决定从个别产品的名称中删除“2”,现在变为“J2SE Development Kit 5.0(JDK 5.0)”“J2SE Runtime Environment 5.0(JRE 5.0)”
  • 当版本1.6出来时,有人意识到有两个数字的名字是奇怪的。 所以他们决定完全放弃这两个(和“.0”后缀),并且最终得到包含“Java SE开发工具包6(JDK 6)”“Java平台标准版6(Java SE 6)”“Java SE运行时环境6(JRE 6)”

  • 1.7版本并没有做任何愚蠢的事情。 如果我不得不猜测,下一个大的变化就是放弃“SE”,这样循环就完成了,JDK再次被称为“Java Development Kit”。

笔记

  • 为了简单起见,省去了一堆商标标志。 所以假设Java™,JDK™和JRE™。

  • 所以似乎无法渲染嵌套列表。

参考

结语

只要放下“1”。 从由javac -versionjava -version打印的版本,你很好去。

随着Java 5的发布,产品版本与此处描述的开发者版本不同

Java SE Runtime是为最终用户使用的,因此您需要Java JRE版本,Java的第一个版本是1,然后是1.1 – 1.2 – 1.3 – 1.4 – 1.5 – 1.6等等,通常每个版本都由版本命名,所以JRE 6表示Java jre 1.6,反正有更新版本,例如1.6更新45,这个名字是java jre 6u45。

据我所知,他们宁愿使用数字6而不使用1.6来更好地反映成熟度,稳定性,可扩展性,安全性等级