Java SE 6 vs. JRE 1.6 vs. JDK 1.6 -这意味着什么?

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

296970 次浏览
  • JDK - Java开发工具包
  • JRE - Java运行时环境
  • Java SE - Java标准版

SE定义了一组能力和功能;有更复杂的版本(企业版- EE)和更简单的版本(微型版- ME -用于移动环境)。

JDK包括编译器和开发Java应用程序所需的其他工具;JRE没有。因此,要运行别人提供的Java应用程序,您需要JRE;要开发Java应用程序,需要JDK。

< p > 编辑: 正如Chris Marasti-Georg在评论中指出的那样,你可以在Sun的Java网站上找到很多信息,特别是从Java SE部分(第二个选项,Java SE Development Kit (JDK) 6 Update 10)

< em >编辑2011-04-06: 世界发生了变化,Java现在由收购了Sun的甲骨文(Oracle)管理。今年晚些时候,sun.com域将停止使用。新页面(基于重定向)是Oracle技术网络的Java页面。(请参见java.com)


世界在不停地转(2012-12-21尽管如此),你瞧,JRE 6即将达到它的支持终点。甲骨文表示2013年2月以后不再公开更新Java 6。

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

随着又一次围绕太阳的旋转,也到了结束对Java SE 7支持的时候了。2015年4月,Oracle 确认宣布不再提供Java SE 7的公开更新。Java SE 8的公开更新暂定于2017年3月结束,但结束日期可能会发生变化(更晚,而不是更早)。

当你输入“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是(或者曾经是,现在他们似乎用它来指代整个VM)内置于Java虚拟机中的即时编译器。天知道为什么Sun会给它一个单独的版本号。

随着Java 5的发布,产品版本区别于开发版本,如在这里所述

版本是1.5.0还是5.0?

两个版本号“;1.5.0"和“5.0”;用于标识此版本的Java 2平台标准版。版本“5.0”;是产品版本,而“;1.5.0"是开发人员版本。数字“5.0”;用于更好地反映J2SE的成熟度、稳定性、可伸缩性和安全性。

“5.0版“用于平台和产品名称

平台使用5.0版本,产品名称见下表:

全名 缩写
平台名称 Java™2平台标准版5.0 J2SE™5.0
平台下交付的产品 J2SE™开发工具包5.0 JDK™5.0
J2SE™运行时环境5.0 JRE 5.0
< / div >

“版本1.5.0"开发者使用

J2SE还将版本号1.5.0(或1.5)保留在一些仅对开发人员可见的地方,或者由程序解析版本号的地方。如前所述,1.5.0指的是编号为5.0的完全相同的平台和产品。版本号1.5.0和1.5用于:

  • Java -version(在其他信息中,返回Java版本"1.5.0")
  • Java -fullversion(返回Java完整版本"1.5.0-b64")
  • Javac -source 1.5 (Javac -source 5也适用)
  • java。版本系统属性
  • Java.vm.version系统属性
  • @自1.5标签值
  • Jdk1.5.0安装目录
  • Jre1.5.0安装目录
  • http://java.sun.com/j2se/1.5.0网站(http://java.sun.com/j2se/5.0 李也适用)< / >

这可能会帮助到一些人:

我正在我的系统上安装最新的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 for development (JDK)的链接(一步接一步,这都是一次下载):

  1. 访问“Java SE下载”:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 点击“JDK下载”并访问“Java SE开发工具包7下载”:http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html(注意,从第1步开始的链接将带你到不同的链接,因为JDK 1.7更新,后续版本现在已经出来了)
  3. 接受协议:)
  4. 点击“javase开发套件7 (windowsx64)”: 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 SE运行时是针对最终用户的,所以你需要Java JRE版本,Java的第一个版本是1,然后是1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6等等,通常每个版本都以版本命名,所以JRE 6意味着Java JRE 1.6,无论如何都有更新版本,例如1.6 update 45,它被命名为Java JRE 6u45。

据我所知,他们更喜欢使用数字6而不是1.6来更好地反映成熟度、稳定性、可伸缩性、安全性等级别

Java版本简史,可能不正确

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

  • 当Java第一次发布时,它显然只是被称为Java。如果你是一个开发人员,你也知道版本,它是一个正常的“1.0”和后来的“1.1”。作为平台一部分的两种产品也被命名为:

    • JDK -“Java开发工具包”
    • JRE -“Java运行时环境”
    • 李< / ul > < / >
    • 显然,版本1.2的变化如此显著,以至于他们开始将平台称为Java 2

      • 平台的默认“发行版”被命名为“standard”,以与其兄弟版本形成对比。所以你有三个平台:

        • “Java 2标准版(J2SE)”
        • Java 2企业版(J2EE)
        • “Java 2流动版(J2ME)”
        • 李< / ul > < / >
        • JDK正式更名为“java2 Software Development Kit”。

        • 李< / ul > < / >
        • 当1.5版出来的时候,这些人决定他们需要“重塑”产品的品牌。因此Java平台有了两个版本——产品版本“5”和开发人员版本“1.5”(是的,明确提到了规则——“去掉'1.'”)。但是,名字中保留了“2”。所以现在这个平台的正式名称是Java 2平台标准版5.0 (J2SE 5.0)

          • 诉讼还意识到开发社区并没有接受他们对JDK的重命名。但是,他们并没有恢复他们的更改,而是决定从单个产品的名称中删除“2”,现在得到J2SE开发套件5.0 (JDK 5.0)J2SE运行时环境5.0 (JRE 5.0)
          • 李< / ul > < / >
          • 当1.6版本发布时,有人意识到名字中有两个数字很奇怪。所以他们决定完全放弃2(和“。”"Java平台,标准版6 (Java SE 6)"包含"Java SE开发工具包6 (JDK 6)"Java SE Runtime Environment 6 (JRE 6)"

          • 1.7版没有做任何愚蠢的事情。如果我不得不猜测,下一个大的变化将是去掉“SE”,这样循环就完成了,JDK再次被称为“Java开发工具包”。

          笔记

          • 为了简单起见,省略了一堆商标符号。所以假设Java™、JDK™和JRE™。

          • SO似乎在呈现嵌套列表时遇到了麻烦。

          参考文献

          • < a href = " http://www.oracle.com/technetwork/java/javase/namechange - 140185. - html”> http://www.oracle.com/technetwork/java/javase/namechange - 140185. - html < / >

          后记

          只要从javac -versionjava -version打印的版本中删除“1.”,你就可以开始了。