JRE 64位 V9.0.173
分享到:
JRE64位为Java Runtime Environment的简称,即Java运行环境,Java Runtime Environment(包括Java Plug-in)是Sun的产品,包括两部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心类库和支持文件。它不包含开发工具(JDK)--编译器、调试器和其它工具。JRE需要辅助软件--Java Plug-in--以便在浏览器中运行applet。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。Java Plug-in软件允许Java Applet和JavaBean组件在使用Sun的Java Runtime Environment(JRE)的浏览器中运行,而不是在使用缺省的Java运行环境的浏览器中运行。Java Plug-in可用于Netscape Navigator和Microsoft Internet Explorer。注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK。J2RE是Java2 Runtime Environment,只是强调其匹配Java2平台,有时简称JRE。如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发 Java软件,请下载JDK(JRE和JDK的区别)。在JDK中附带有JRE。本款Java SE Runtime Environment 64位是64位操作系统专用版本,有需要的朋友可以直接进行下载。
2、可直接点击安装,也可以点击定制安装(小编用的是定制安装)
3、点击更改可改变安装路径,自定义安装
4、正在安装,稍等一会即可
5、已成功安装
比如说某人的机器上已经被安装了好多套JRE和JDK(JDK包括了同版本的JRE,此外还包括有编译器和其它工具),它们分别是:
BEAWeblogic Server 7.0 自带一套 JDK1.3.1_02, 还下载了一套最新的JDK1.4.1_02
JBuilder9自带一套JDK1.4.1_02
Oracle8.1.7自带一套JRE1.1.7
RationRose自带一套JDK1.3
DreamWeaver自带一套JDK1.3
6套JRE,每套JRE都被各自安装到不同的目录,不会互相影响。当在控制台执行java.exe,操作系统寻找JRE的方式如下:
先找当前目录下有没有JRE
再找父目录下有没有JRE
接着在PATH路径中找JRE
注册表HKEY_LOCAL_MACHINESOFTWAREJavaSoftJava Runtime Environment 查看CurrentVersion的键值指向哪个JRE
最常用的是在PATH路径中找JRE,一般情况下,自己的程序运行之前都会先在批处理文件里面临时设置PATH,把自己用的JRE放到PATH路径最前面,所以肯定会运行自己带的JRE,不会造成版本混乱。
Net Framekwork的核心类库
Net Framekwork的核心类库被放置在C:Winntassemblygac目录下,按照不同的名称空间放在不同目录中,不像JRE打成了一个包。并且可以同时存在不同的版本,例如:
某类库1.0版本 C:Winntassemblygac名称1.0名称.dll
某类库1.1版本 C:Winntassemblygac名称1.1名称.dll
这样做,虽然很灵活,可以随时把类库更新到最新的状态,但是很容易带来版本管理的复杂度,造成版本不一致。
Net Framework的类库管理机制 .Net Framework的类库管理机制相当强大和复杂,分为私有类库和共享类库。
私有类库就放在exe程序当前路径下,或其相对路径中,只有当前程序可见。
注意事项
1、共享类库需要在GAC(Global Assembly Cache)中注册,注册过程比较复杂,首先要用工具生成公开/私有密钥对,然后结合密钥和类库版本号连编,最后使用工具注册到GAC中好以后,会被放在"C:Winntassemblygac类库的名称空间版本号"目录下,不同的类库版本在注册的时候会按照版本号分开放置:
·某类库1.0版本 C:Winntassemblygac名称1.0名称.dll
·某类库1.1版本 C:Winntassemblygac名称1.1名称.dll
2、可以同时存在一个类库的n个版本,至于在程序中用哪个版本,在程序的配置文件中声明,CLR会根据声明来调用相应的版本的类库。我觉得.Net实现方法未免太复杂了一些,将所有共享类库都塞到一个系统目录下,并且同一个类库还有n个版本,将来.Net第三方开发的类库逐渐丰富起来以后,.Net类库的GAC也会越来越庞大,会不会也搞得和Windows注册表一样难以维护?软件发布到服务器上的时候,类库要再注册一次,服务器会逐渐形成一个庞大的树状的GAC,GAC里面存放着组件的n个版本。试想经过一段时间之后,C:Winntassemblygac目录会越来越庞大,有的组件甚至有n个版本都放在那里,你又不敢随便删除,不知道是不是有程序需要使用,我不明白MS为什么要把这么简单的事情搞到这么复杂?
讨论:全局程序集缓存不会是无限大的,所以"将来.Net第三方开发的类库逐渐丰富起来以后,.Net类库的GAC也会越来越庞大,会不会也搞得和Windows注册表一样难以维护?"这是杞人忧天。原因如下:第一是操作系统的生命周期一般不会是无限长的,而且越来越短,Windows为证,同时.Net Framework也在不断更迭,在十年左右的时间里,全球的程序产量是有限的,高质量的第三方开发的类库更是有限,需要注册到GAC的就更少了。
Jdk 是java development kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll。说明是有两个虚拟机的。
JRE,运行java程序的环境,JVM,JRE里面只有client运行环境,安装过程中,会自动添加PATH。
Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢?学过MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。
此更新版本包含了Java应用的重要增强功能:
·改进性能和稳定性
·Java HotSpot VM 20
· 支持Internet Explorer 9, Firefox 4 和Chrome 10
· 改进BigDecimal的BigDecimal Olson Data 2011b
·Java SE 6u25 contains Olson time zone data version 2011b
多国语言版,支持简体中文界面
IANA Data 2015e
JDK 8u60包含IANA时区数据版本2015e。
Bug修复:dns_lookup_realm默认情况下应为false
Kerberos krb5.conf 文件中的dns_lookup_realm设置默认情况下为 false。
Bug修复:禁用RC4密码套件
基于RC4的TLS密码套件(例如TLS_RSA_WITH_RC4_128_SHA)现在被视为有漏洞,不再使用(请参阅RFC 7465)。相应地,默认情况下,在Oracle JSSE实现中通过将"RC4"添加到"jdk.tls.disabledAlgorithms"安全属性,并将其从默认启用的密码套件列表中删除,已停用了基于RC4的TLS密码套件。通过从 java.security 文件包含的"jdk.tls.disabledAlgorithms"安全属性中删除"RC4",或者动态调用Security.setProperty()并使用SSLSocket/SSLEngine.setEnabledCipherSuites()方法将其读取到启用的密码套件列表中,可以重新激活这些密码套件。您还可以使用 -Djava.security.properties 命令行选项来覆盖jdk.tls.disabledAlgorithms 安全属性。例如:
java -Djava.security.properties=my.java.security ...
其中 my.java.security 是包含不带RC4的属性的文件:
jdk.tls.disabledAlgorithms=SSLv3
即使从命令行设置了此选项,仍必须使用 SSLSocket/SSLEngine.setEnabledCipherSuites()方法向启用的密码套件列表重新添加基于RC4的密码套件。
Bug修复:支持JKS和PKCS12密钥库的密钥库类型检测
密钥库兼容性模式:为了提升互操作性,Java密钥库类型JKS现在默认支持密钥库兼容性模式。此模式使得JKS密钥库可以访问JKS和PKCS12文件格式。要禁用密钥库兼容性模式,请将安全属性keystore.type.compat 设置为字符串值 false。
Bug修复:JDK 8u发行版中不安全的监视方法已过时
sun.misc.Unsafe 上的方法 monitorEnter、monitorExit 和 tryMonitorEnter 在JDK 8u60中被标记为已过时,将在以后的发行版中删除。这些方法不在JDK自身内部使用,也极少在JDK之外使用。
Bug修复:使用SA从核心文件提取JFR记录
DumpJFR是基于可服务性代理的工具,可用于从核心文件和实时Hotspot进程提取Java飞行记录器(JFR)数据。可以通过以下方法使用DumpJFR:DumpJFR工具可将JFR数据转储到当前工作文件夹中名为recording.jfr的文件。
- 将DumpJFR附加到实时进程:
java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.tools.DumpJFR
- 将DumpJFR附加到核心文件:
java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.tools.DumpJFR
Bug修复:名为"enum"的本地变量导致虚假的编译器崩溃
javac 语法分析器未正确对名为"enum"的本地变量进行语法分析;当程序包含此类本地变量时,如果在编译过程中使用的"source"标记对应于不支持枚举构造的发行版(例如"-source 1.4"),则会产生虚假的失败。
安装过程
1、在本站下载JRE,解压到文件夹,双击.exe文件打开2、可直接点击安装,也可以点击定制安装(小编用的是定制安装)
3、点击更改可改变安装路径,自定义安装
4、正在安装,稍等一会即可
5、已成功安装
版本管理
Java的解决办法是每个程序自己携带一套JRE。比如说某人的机器上已经被安装了好多套JRE和JDK(JDK包括了同版本的JRE,此外还包括有编译器和其它工具),它们分别是:
BEAWeblogic Server 7.0 自带一套 JDK1.3.1_02, 还下载了一套最新的JDK1.4.1_02
JBuilder9自带一套JDK1.4.1_02
Oracle8.1.7自带一套JRE1.1.7
RationRose自带一套JDK1.3
DreamWeaver自带一套JDK1.3
6套JRE,每套JRE都被各自安装到不同的目录,不会互相影响。当在控制台执行java.exe,操作系统寻找JRE的方式如下:
先找当前目录下有没有JRE
再找父目录下有没有JRE
接着在PATH路径中找JRE
注册表HKEY_LOCAL_MACHINESOFTWAREJavaSoftJava Runtime Environment 查看CurrentVersion的键值指向哪个JRE
最常用的是在PATH路径中找JRE,一般情况下,自己的程序运行之前都会先在批处理文件里面临时设置PATH,把自己用的JRE放到PATH路径最前面,所以肯定会运行自己带的JRE,不会造成版本混乱。
基础类库
JRE自带的基础类库主要是JRElibrt.jar这个文件,包括了Java2平台标准版的所有类库。和JRE的版本一致。Net Framekwork的核心类库
Net Framekwork的核心类库被放置在C:Winntassemblygac目录下,按照不同的名称空间放在不同目录中,不像JRE打成了一个包。并且可以同时存在不同的版本,例如:
某类库1.0版本 C:Winntassemblygac名称1.0名称.dll
某类库1.1版本 C:Winntassemblygac名称1.1名称.dll
这样做,虽然很灵活,可以随时把类库更新到最新的状态,但是很容易带来版本管理的复杂度,造成版本不一致。
查找方法
JRE中由ClassLoader负责查找和加载程序引用到的类库,基础类库ClassLoader会到rt.jar中自动加载,其它的类库,ClassLoader在环境变量CLASSPATH指定的路径中搜索,按照先来先到的原则,放在CLASSPATH前面的类库先被搜到,Java程序启动之前建议先把PATH和CLASSPATH环境变量设好,OS通过PATH来找JRE,确定基础类库rt.jar的位置,JRE的ClassLoader通过CLASSPATH找其它类库。但有时候会出现这样的情况,希望替换基础类库中的类库,那么也可以简单的通过-Djava.endrosed.path=...参数传递给java.exe,于是ClassLoader会先于基础类库使用java.endrosed.path参数指定路径的类库。因此Java的版本管理是非常简单有效的,也许很原始,不过很好用,简单就不容易出错。(所以我很奇怪Eric Ramond为什么批评Java的类库管理机制,他还居然批评Java的接口,令人怀疑他对Java的了解程度)管理机制
分类Net Framework的类库管理机制 .Net Framework的类库管理机制相当强大和复杂,分为私有类库和共享类库。
私有类库就放在exe程序当前路径下,或其相对路径中,只有当前程序可见。
注意事项
1、共享类库需要在GAC(Global Assembly Cache)中注册,注册过程比较复杂,首先要用工具生成公开/私有密钥对,然后结合密钥和类库版本号连编,最后使用工具注册到GAC中好以后,会被放在"C:Winntassemblygac类库的名称空间版本号"目录下,不同的类库版本在注册的时候会按照版本号分开放置:
·某类库1.0版本 C:Winntassemblygac名称1.0名称.dll
·某类库1.1版本 C:Winntassemblygac名称1.1名称.dll
2、可以同时存在一个类库的n个版本,至于在程序中用哪个版本,在程序的配置文件中声明,CLR会根据声明来调用相应的版本的类库。我觉得.Net实现方法未免太复杂了一些,将所有共享类库都塞到一个系统目录下,并且同一个类库还有n个版本,将来.Net第三方开发的类库逐渐丰富起来以后,.Net类库的GAC也会越来越庞大,会不会也搞得和Windows注册表一样难以维护?软件发布到服务器上的时候,类库要再注册一次,服务器会逐渐形成一个庞大的树状的GAC,GAC里面存放着组件的n个版本。试想经过一段时间之后,C:Winntassemblygac目录会越来越庞大,有的组件甚至有n个版本都放在那里,你又不敢随便删除,不知道是不是有程序需要使用,我不明白MS为什么要把这么简单的事情搞到这么复杂?
讨论:全局程序集缓存不会是无限大的,所以"将来.Net第三方开发的类库逐渐丰富起来以后,.Net类库的GAC也会越来越庞大,会不会也搞得和Windows注册表一样难以维护?"这是杞人忧天。原因如下:第一是操作系统的生命周期一般不会是无限长的,而且越来越短,Windows为证,同时.Net Framework也在不断更迭,在十年左右的时间里,全球的程序产量是有限的,高质量的第三方开发的类库更是有限,需要注册到GAC的就更少了。
和JDK的区别
JDK,开发java程序用的开发包,JDK里面有java的运行环境(JRE),包括client和server端的。需要配置环境变量。。。。Jdk 是java development kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll。说明是有两个虚拟机的。
JRE,运行java程序的环境,JVM,JRE里面只有client运行环境,安装过程中,会自动添加PATH。
Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢?学过MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。
更新日志
Java SE Runtime Environment Ver 7.0.400.43此更新版本包含了Java应用的重要增强功能:
·改进性能和稳定性
·Java HotSpot VM 20
· 支持Internet Explorer 9, Firefox 4 和Chrome 10
· 改进BigDecimal的BigDecimal Olson Data 2011b
·Java SE 6u25 contains Olson time zone data version 2011b
多国语言版,支持简体中文界面
IANA Data 2015e
JDK 8u60包含IANA时区数据版本2015e。
Bug修复:dns_lookup_realm默认情况下应为false
Kerberos krb5.conf 文件中的dns_lookup_realm设置默认情况下为 false。
Bug修复:禁用RC4密码套件
基于RC4的TLS密码套件(例如TLS_RSA_WITH_RC4_128_SHA)现在被视为有漏洞,不再使用(请参阅RFC 7465)。相应地,默认情况下,在Oracle JSSE实现中通过将"RC4"添加到"jdk.tls.disabledAlgorithms"安全属性,并将其从默认启用的密码套件列表中删除,已停用了基于RC4的TLS密码套件。通过从 java.security 文件包含的"jdk.tls.disabledAlgorithms"安全属性中删除"RC4",或者动态调用Security.setProperty()并使用SSLSocket/SSLEngine.setEnabledCipherSuites()方法将其读取到启用的密码套件列表中,可以重新激活这些密码套件。您还可以使用 -Djava.security.properties 命令行选项来覆盖jdk.tls.disabledAlgorithms 安全属性。例如:
java -Djava.security.properties=my.java.security ...
其中 my.java.security 是包含不带RC4的属性的文件:
jdk.tls.disabledAlgorithms=SSLv3
即使从命令行设置了此选项,仍必须使用 SSLSocket/SSLEngine.setEnabledCipherSuites()方法向启用的密码套件列表重新添加基于RC4的密码套件。
Bug修复:支持JKS和PKCS12密钥库的密钥库类型检测
密钥库兼容性模式:为了提升互操作性,Java密钥库类型JKS现在默认支持密钥库兼容性模式。此模式使得JKS密钥库可以访问JKS和PKCS12文件格式。要禁用密钥库兼容性模式,请将安全属性keystore.type.compat 设置为字符串值 false。
Bug修复:JDK 8u发行版中不安全的监视方法已过时
sun.misc.Unsafe 上的方法 monitorEnter、monitorExit 和 tryMonitorEnter 在JDK 8u60中被标记为已过时,将在以后的发行版中删除。这些方法不在JDK自身内部使用,也极少在JDK之外使用。
Bug修复:使用SA从核心文件提取JFR记录
DumpJFR是基于可服务性代理的工具,可用于从核心文件和实时Hotspot进程提取Java飞行记录器(JFR)数据。可以通过以下方法使用DumpJFR:DumpJFR工具可将JFR数据转储到当前工作文件夹中名为recording.jfr的文件。
- 将DumpJFR附加到实时进程:
java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.tools.DumpJFR
- 将DumpJFR附加到核心文件:
java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.tools.DumpJFR
Bug修复:名为"enum"的本地变量导致虚假的编译器崩溃
javac 语法分析器未正确对名为"enum"的本地变量进行语法分析;当程序包含此类本地变量时,如果在编译过程中使用的"source"标记对应于不支持枚举构造的发行版(例如"-source 1.4"),则会产生虚假的失败。
展开更多
JRE 64位 V9.0.173下载地址
- 需先下载高速下载器:
- 专用下载:
- 其它下载: