Java SE 6 vs. JRE 1.6 vs. JDK 1.6-这些是什么意思?


178

我看到许多不同的Java术语到处都是。我需要安装JDK 1.6。据我了解,Java 6 == Java 1.6。但是,当我安装Java SE 6时,我得到了一个报告为11.0版的JVM!谁能解决疯狂问题?


12
有一个不错的Java概念图(带有可单击的链接)也可以提供帮助。
informatik01

Answers:


55

当您键入“ java -version”时,您会看到三个版本号-Java版本(在我的名称上为“ 1.6.0_07”),Java SE Runtime Environment版本(“ build 1.6.0_07-b06”)和HotSpot版本(在我的上方为“” build 10.0-b23, mixed mode")我怀疑您看到的“ 11.0”是HotSpot版本。

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


7
那么,JVM 1.6和JVM 11.0有什么区别?什么是热点?
乔·施耐德

谢谢,这就是混乱-两个不同的版本号。
乔·施耐德

1
实际上,HotSpot不是JIT。JIT意味着编译在执行之前进行。在编译/优化程序的选定部分之前,HotSpot首先使用解释来执行和分析代码。
约翰·尼尔森

173
  • JDK-Java开发套件
  • JRE-Java运行时环境
  • Java SE-Java标准版

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

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

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


编辑于2011-04-06: 世界在改变,Java现在由甲骨文管理,甲骨文收购了Sun。今年晚些时候,该sun.com域应该消失了。新页面(基于重定向)是Oracle Tech Network 上的此Java页面。(另请参见java.com。)


编辑于2013年1月11日:尽管世界仍在不断变化(尽管2012年12月21日),但是瞧瞧,JRE 6即将终止支持。 甲骨文表示,2013年2月以后将不再公开更新Java 6。

在给定的Java版本中,此答案仍然有效。JDK是Java开发工具包,JRE是Java运行时环境,Java SE是标准版,依此类推。但是版本6(1.6)变得过时了。

编辑于2015-04-29:随着太阳转了几圈,对Java SE 7的支持终止的时候也到了。2015年4月,Oracle 确认不再提供Java SE 7的公共更新。JavaSE 8的公共更新暂定于2017年3月结束,但是该结束日期可能会有所更改(以后而不是更早)。


1
那么,如果我需要JDK 1.6,该怎么安装?安装Java SE 6后,我得到一个JVM,报告版本为11.0!
Joe Schneider

1
无论列出的是什么,您都需要转到sun并下载JDK 1.6或6。
克里斯·玛拉斯蒂·乔治

我相信,尽管内部版本号有所不同,Java SE 6附带的内容还是正确的JDK。
乔纳森·勒夫勒

java.sun.com/javase/downloads/index.jsp第二个选项,Java SE开发套件(JDK)6 Update 10
Chris Marasti-Georg,

1
@Pacerier:2008年10月是真的吗?而且,JDK的主要组件是Java编译器,不是吗?
乔纳森·勒夫勒

103

这可能会帮助某人:

我正在我的系统上安装最新的Java进行开发,目前是Java SE7。现在,让我们深入了解这种“疯狂”,就像您所说的那样。

所有这些都是相同的(当开发人员谈论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下载”,然后访问“ Java SE Development Kit 7下载”:http : //www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html(请注意,按照步骤1的链接操作,您将转到另一个链接,因为JDK 1.7更新(更高版本)现已发布)
  3. 接受协议:)
  4. 单击“ Java SE Development Kit 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”以查看这两个文件夹。现在,您知道它们是什么以及为什么它们在那里。

我知道我是为新手写的,但是我很喜欢详细地了解事情,因此希望对您有所帮助。


8
这个答案需要提高:)
fchen

我最近不得不安装jre来运行其他安装程序之一,然后必须安装32位版本才能使其他安装程序之一正常工作。我在结尾处使用的版本是glassfish 4,它似乎仍然没有提供javax.persistence。原来,我需要maven,您可以将其解压缩,然后设置一些环境变量。真是一团糟!
JonnyRaa

在我看来,Java SE和Java SDK是同一个程序包。
galmok 2014年

20

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 Software Development Kit”。

  • 当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版发布时,有人意识到名称中有两个数字很奇怪。因此,他们决定完全删除2(以及后缀“ .0”),最后得到包含“ Java SE Development Kit 6(JDK 6)”“ Java Platform,标准版6(Java SE 6)”。“ Java SE Runtime Environment 6(JRE 6)”

  • 1.7版没有做任何愚蠢的事情。如果我不得不猜测的话,下一个重大变化就是删除“ SE”,从而使循环完成,并且JDK再次被称为“ Java开发工具包”。

笔记

  • 为简单起见,省略了许多商标标志。因此假设Java™,JDK™和JRE™。

  • 因此,似乎无法呈现嵌套列表。

参考资料

结语

只需删除“ 1”。从javac -version和印制的版本开始java -version,您一切顺利。


3
天啊。我以为只有微软让疯狂的无家可归者组成产品名称。
稳定狗2015年

2
疯了 如果没有每次都明确地查找它们,我永远无法理解它们。
Preet Sangha


3

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 update 45,名为java jre 6u45。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.