计算机科学

首页 > 计算机科学

Java版本历史


Java语言自JDK1.0版本以来经历了许多次更新,也在基本程序库中增加了大量的类别和包。从J2SE 1.4开始,Java语言的变动受到Java Community Process(JCP)的约束,JCP使用Java规范请求(Java Specification Requests,JSRs)来建议和定义对Java平台内容的新增和修改。Java语言由Java语言规范(Java Language Specification,JLS)定义,对JLS的更改则根据JSR 901管理。

除了语言上变化,多年来对Java类库(JCL)进行了更加戏剧性的改变,从JDK 1.0中的几百个类别暴增到J2SE 5中的三千多个类别。像是Swing和Java2D的全新API都已经开放使用,许多原本JDK 1.0的类别和方法却已无法使用。当然,仍然有一些程序可以将Java程序从新版本的Java平台转换为较旧版本(例如Java 5.0降转到1.4)(可参考Java backporting tools)。 

在Java 7发布之后,Oracle承诺回到以前每两年发布一次的发布周期。[1]但在2013年时,Oracle却宣布他们将Java 8延迟一年发表,官方表示是为了修复与Java安全漏洞。[2] 

Java 8是唯一公开支持的版本,而在旧版本的公开支持期结束后,已经为Java 7和其它更早的版本发布了非公开的更新。

版本 发布
年份
最后
公共更新时间[3]
旧版本,不再支持: JDK Beta 1995 ?
旧版本,不再支持: JDK 1.0 1996 ?
旧版本,不再支持: JDK 1.1 1997 ?
旧版本,不再支持: J2SE 1.2 1998 ?
旧版本,不再支持: J2SE 1.3 2000 ?
旧版本,不再支持: J2SE 1.4 2002 ?
旧版本,不再支持: J2SE 5.0 2004 ?
旧版本,不再支持: Java SE 6 2006 ?
旧版本,不再支持: Java SE 7 2011 ?
旧版本,仍被支持: Java SE 8 (LTS) 2014 January 2019 (commercial)
December 2020 (non-commercial)
旧版本,不再支持: Java SE 9 2017 March 2018
当前版本: Java SE 10 (18.3) 2018 September 2018
未来版本: Java SE 11 (18.9 LTS) 2018 不适用
格式:
旧版本
旧版本,仍被支持
当前版本
最新的预览版
未来版本

目录

  • 1 JDK Alpha 和 Beta
  • 2 JDK 1.0
  • 3 JDK 1.1
  • 4 J2SE 1.2
  • 5 J2SE 1.3
  • 6 J2SE 1.4
  • 7 J2SE 5.0
    • 7.1 版本控制系统的改变
    • 7.2 Java 5 更新
  • 8 Java SE 6
    • 8.1 Java 6 更新
  • 9 Java SE 7
    • 9.1 Java 7 更新
  • 10 Java SE 8
    • 10.1 Java 8 更新
  • 11 Java SE 9
  • 12 Java SE 10
  • 13 实际开始制作
  • 14 参考文献
  • 15 外部链接

JDK Alpha 和 Beta

第一个1995年发布的alpha和beta Java公开版本,API和ABI非常不稳定。 支持Java Web浏览器被取名为WebRunner。

JDK 1.0

第一个版本于1996年1月23日发布,叫做为Oak[4]。而真正第一个稳定的版本JDK 1.0.2,被称作Java 1。[5]

JDK 1.1

1997年2月19日发布的新增功能,主要包括:[6]

  • AWT事件模型大规模重新编制
  • 加入了内部类别
  • JavaBeans
  • JDBC
  • RMI
  • 能够支持自理的反射能力,在运行时不可能有修改。
  • 由Symantec为JavaSoft生产的即时编译器,能够在Microsoft Windows平台上运作。
  • 支持Internationalization和Unicode,源自于Taligent[7]

J2SE 1.2

代号为Playground。 这个在1998年12月8日的发布的版本和其到J2SE 5.0的后续版本被重改名为Java 2,而版本名称“J2SE”(Java 2平台,标准版)取代JDK以区别出来自J2EE(Java 2平台,企业版) 和J2ME(Java 2 Platform,Micro Edition)的基础平台。

这是Java的一个非常重要的版本,因为它将Java平台的大小增加了三倍,在59个程序包中达到了1520个类别。 主要增加包括:[8]

  • strictfp 关键字
  • 主类别中集成了Swing图像化API
  • Sun的JVM首次配备JIT compiler
  • Java plug-in
  • Java IDL,一个IDL专为CORBA的互通性实现
  • Collections框架

J2SE 1.3

代号为Kestrel。在2000年5月8日发布的版本中最著名的改变包括:[9][10]

  • 包含了HotSpot JVM(HotSpot JVM第一次被发布是在1999年4月,名为J2SE 1.2 JVM)
  • 为了支持与CORBA的选择兼容性而修改了RMI
  • Java命名和目录接口(Java Naming and Directory Interface,缩写JNDI)包含在主程序库中(先前为扩展组件的形式)
  • Java Platform Debugger Architecture (JPDA)
  • JavaSound
  • Synthetic proxy 类别

J2SE 1.4

代号为Merlin。2002年2月6日发布了JSR 59,是第一个在JCP下开发的Java平台。主要的变化包括︰[11][12]

  • 语言上的改变
    • assert 关键字 (在 JSR 41 中被指定)
  • 程序库的改善
    • 仿照Perl的正则表达式
    • 异常链允许一个例外状况来封装原始较低级别的例外状况
    • 支持Internet Protocol version 6 (IPv6)
    • 非阻塞性的 IO(取名为 New Input/Output, NIO)(在 JSR 51 中被指定)
    • 日志API (在JSR 47中被指定)
    • 视频 I/O API来访问和写入一些格式像是JPEG和PNG的图片
    • 集成了XML解析器和XSLT处理器(JAXP)(指定在JSR 5和JSR 63)
    • 集成安全和加密扩展组件(JCE, JSSE, JAAS)
    • 包含了Java Web Start (Java Web Start 在2001年3月第一次被发布为J2SE 1.3) (指定在JSR 56)
    • 首选项 API (java.util.prefs)

Java 1.4开放支源和安全性更新于2008年10月终止。Oracle客户的付费的安全性更新也在2013年2月结束。[13]

J2SE 5.0

代号为Tiger。这个在2004年9月30日发布的版本原本以1.5编号,也就是仍然使用内部版本编号。这个数字辈改变是为了“更好地反映成熟度、稳定性、可扩展性和 J2SE 的安全水准”。这个版本是在JSR 176底下被开发。

J2SE 5.0在2008年4月8日进入其即将停止公开更新的期间;2009年11月3日正式不公开开放更新。Oracle客户直到2015年5月都能透过付费的方式获取更新 。 [14]

Tiger增加了若干个重要的新语言功能。[15][16]

  • 泛型(Generics): 为集合提供编译期间 (静态) 类型安全,且不须为大多数类型转换 (类型转换) (规范在 JSR 14)
  • 中继数据(Metadata): 也称作注释。让语言结构(像是类别和方法)能够用额外的数据标记,可以由中继数据意识工具处理(规范在 JSR 175)
  • 自动封装与解封装: 在基本的数据类型(如 int)和基本的的外覆类别 (如 Integer) 之间能够自动转换 (规范在 JSR 201)
  • 枚举(Enumerations): 以 enum 关键字创造出一种类型安全,有排序值的清单(如Day.MONDAY、 Day.TUESDAY 等);以前这只能透过非类型安全的恒定整数或自行撰写的类别来达成 (类型安全的枚举模式) (规范在JSR 201)
  • 可变参数函数(Varargs):方法的最后一个参数现在可以用一个类型名称加上三个点宣告(如:void drawtext(String... lines));在调用代码中,类型中参数里任何的数字可以被使用,而它们再放在一个数组来传递给方法,或是其它的调用代码可以传递那个类型的数组
  • 强化 for each 循环:for 循环的语法被用特别的语法扩展了,以不是数组就是其它 Iterable重复每个成员,像是基本的 Collection 类别 (规范在 JSR 201)
  • 改进多线程JAVA 程序的运行语义;新的 JAVA 存储器模块解决问题的复杂性、 有效性和以前的规格性能[17]
  • 导入静态类别

另外也有以下这些对于基本程序库的改善:

  • 自动产生stub给RMI对象
  • Swing:新的接口外观,叫做synth
  • concurrency utilities 在 java.util.concurrent 包中1[18]
  • Scanner 类别来解析来自各式各样的输入和缓冲

Java 5是Java的最后一个正式支持Microsoft Windows 98和Windows ME的版本[19],而Windows Vista是J2SE 5在2009年10月的Java 5生命周期之前支持的Windows的最新版本。

Java 5 Update 5(1.5.0_05)是Java在Windows 95(装了Internet Explorer 5.5 的)和Windows NT 4.0上运行的最后一个版本。[20]

JAVA 5最初出现在苹果Mac OS X 10.4 (Tiger),到了苹果Mac OS X 10.5 (Leopard)时成为了默认的 JAVA 版本。

版本控制系统的改变

此版本推出了JAVA语言中,一个新的版本控制系统,而旧版本控制系统仍然可以在开发者资源库中继续使用。

Both version numbers "1.5.0" and "5.0" are used to identify this release of the Java 2 Platform Standard Edition. Version "5.0" is the product version, while "1.5.0" is the developer version. The number "5.0" is used to better reflect the level of maturity, stability, scalability and security of the J2SE.

——Version 1.5.0 or 5.0?[21]

这种对应关系持续维持到以后的版本 (Java 6 = JDK 1.6, Java 7 = JDK 1.7, 以此类推).

Java 5 更新

版本 发布日期 重点
Java SE 5 2004-10-4 Metadata、泛型类型、对基础类型自动封装和自动解封装、 加强 for 循环、 枚举的类型、 静态类别导入,格式化I/O、 varargs和并发的实用工具。改进的启动时间和存储器占用量。在多个正在运行的JVM 之间共用的只读数据。 远程监控和管理。一个新的JVM配置API。过程化的堆栈版本追踪。支持对 XML 1.1 的名字空间、 XML 架构、 SAX 2.0.2,DOM级别3,与XSLT 1.1 快速的XLSTC的编译器。Unicode 4.0支持。
Java SE 5 Update 1 2004-12-25 50个漏洞修复
Java SE 5 Update 2 2005-03-16 一些中断的修复。程序现在以较定制化的方式编译。日历漏洞修复和其它漏洞修复。
Java SE 5 Update 3 2005-05-03 这个版本修复了一些漏洞,包含在Linux Mozilla外挂的中断。
Java SE 5 Update 4 2005-07-04 在这个版本中,J2SE对于64位Windows的支持从候选版本中脱颖而出。这个版本在AMD64/EM64T 64位模式运行用Windows Server 2003 x64 版本的机器。
Java SE 5 Update 5 2005-09-18 修复了一些漏洞以及表现增强。对Windows 95 和 Windows NT 4.0最后的更新。
Java SE 5 Update 6 2005-12-07 在这个版本之前,Java小程序或应用程序可以决定想要运行的JRE版本,但从这个更新之后就不再是这样了。所有的程序都用最新版本的JRE运行。
Java SE 5 Update 7 2006-05-29 修复了几个漏洞并提高性能。
Java SE 5 Update 8 2006-08-13 修复了一些漏洞以及提高了性能。
Java SE 5 Update 9 2006-11-12 这个版本修复了一些小回归。
Java SE 5 Update 10 2006-12-22 添加了由Linux 2.6支持的epoll I/O事件通知工具的实现。 许多漏洞被修复。
Java SE 5 Update 11 2007-03-08 修复了几个漏洞并提高了性能。
Java SE 5 Update 12 2007-06-11
Java SE 5 Update 13 2007-10-05 Java Web Start中与本地文件访问相关的多个安全漏洞已修复。 修复了允许绕过网络进入限制的JRE中的安全漏洞。 修复其他几个安全问题和小错误。
Java SE 5 Update 14
Java SE 5 Update 15 2008-03-06 修复因缓冲堆超出边界而导致的几个崩溃漏洞以及其他一些小漏洞。 现在来自AOL,DigiCert和TrustCenter的新的根证书已经被包含在内。
Java SE 5 Update 16 2008-07-23 此版本修复了几个安全漏洞,例如DoS漏洞,缓冲器溢出和其他可能导致崩溃的漏洞,或是会给程序访问某些系统资源。 这些漏洞位于Java Web Start,Java管理扩展组件(Java Management Extensions,JMX)管理代理以及用于处理XML数据的函数中。
Java SE 5 Update 17 2008-12-03 更新了UTF-8字符集,实现以处理非最短形式的UTF-8字节序列,从而引入了与以前版本不兼容的问题。 添加了新的根证书。 许多漏洞被修复。
Java SE 5 Update 18 2009-03-25 几个安全上的问题已解决。 稍微修改了在LDAP目录中访问Java对象的行为的JNDI功能。 增加了五个新的根证书。 许多漏洞被修复。
Java SE 5 Update 19 2009-05-29 为多个系统配置增加支持。 增加了服务标签(Service Tag)支持。 许多漏洞被修复,包括几个崩溃和存储器泄漏。
Java SE 5 Update 20 2009-08-06 解决了几个安全漏洞,例如不受信任的小程序的潜在系统访问,以及图像处理和Unpack200中的整数溢出。 添加了几个新的根证书。 许多其它小漏洞已修复。
Java SE 5 Update 21 2009-09-09 许多小漏洞被修复。
Java SE 5 Update 22 2009-11-04 此版本标记Java 5的End Of Service Life(EOSL),并且是其最终的公开版本。 在报告Sun Alerts 269868、270474、270475和270476中的几个安全漏洞已修复。 其他几个漏洞已修复。 此外,还增加了两个新的根证书。

Java SE 6

代号为Mustang。版本发布于2006年12月11日,Sun把原本的名称“J2SE”改为“Java SE”,然后再从版本号中去掉“.0”[22],而开发者内部编号仍然是1.6.0。[23]这个版本是根据JSR 270开发的。

在发展阶段,新版本大概每周都发布包括一些功能增强和漏洞的修复。Beta版本在2006年2月和6月发布,也就是为什么2006年12月11日变成最终的版本。 

本版本包含的主要更改:[24][25]

  • 支持旧的Win9x版本下降;非正式地,Java 6 Update 7是Java的最后一个显示为在这些版本的Windows上工作的版本。 这被认为是因为在Update 10版本中的主要更改。
  • 脚本语言支持(Scripting Language Support)(JSR 223):用于与脚本语言紧密集成的通用API,以及内置的Mozilla JavaScript Rhino集成。
  • 核心平台[26][27]和Swing性能显著的改进。
  • 透过JAX-WS改善的网络服务支持(JSR 224).
  • 支持JDBC 4.0 (JSR 221).
  • Java编译器API (JSR 199):允许Java程序以写程序的方式选择和调用Java编译器的API。
  • 将JAXB升级到版本2.0:包括StAX解析器的集成。
  • 支持pluggable annotations (JSR 269).[28]
  • 改善许多GUI,像是SwingWorker在API中的集成,表格排序和筛选,以及真正的Swing双缓冲(消除模糊区域效果)。
  • 包含JVM改善:同步和编译器性能优化,新算法和对现有垃圾收集算法的升级以及应用程序启动性能。[谁说的?]

Java 6可以安装到在64位(Core 2 Duo和更高版本)处理器机器上运行的Mac OS X 10.5(Leopard)。[29] 运行Mac OS X 10.6(Snow Leopard)的32位和64位机器也支持Java 6。

Java 6在2013年2月到了它支持生命周期的尾声,此时所有公开更新(包括安全更新)都计划停止。[30][31] Oracle在2013年3月和4月发布了另外两个对Java 6的更新,修补了一些安全漏洞。[32][33]

Java 6 更新

JAVA 6发布后,Sun和后来的Oracle之后,发布了几个更新,而不更改任何公开的API,增强了最终用户的可用性或固定的漏洞。自2016 年1月,JAVA 6和其它更旧的版本已无法从Oracle下载。[34]

版本 发布日期 重点
Java SE 6 2006-12-23 此版本在Web服务、脚本和数据库,可插入的注解、安全性以及质量、兼容性和稳定性等领域增强了许多功能。 现在也正式支持JConsole。 已增加对Java DB的支持。
Java SE 6 Update 1 2007-05-07
Java SE 6 Update 2 2007-07-03
Java SE 6 Update 3 2007-10-03
Java SE 6 Update 4 2008-01-14 HotSpot VM 10
Java SE 6 Update 5 2008-03-05 消除了几个安全漏洞。 现在包括了来自AOL、DigiCert和TrustCenter的新的根证书。
Java SE 6 Update 6 2008-04-16 引入了对臭名昭著的Xlib / XCB锁定断言问题的解决方法。 当以LoginContext使用Kerberos认证时内存泄漏的问题已被修复。 其它几个漏洞已修复。
Java SE 6 Update 7[35] 非正式记载的,Java SE 6 Update 7(1.6.0.7)显示为在Win9x系列操作系统上工作的Java的最后一个版本[来源请求]
Java SE 6 Update 10[36] 2008-10-15 HotSpot VM 11. 此更新的主要更改包括:
  • Java部署工具包(Java Deployment Toolkit),为一组JavaScript函数,用于简化applet和Java Web Start应用程序的部署。[37]
  • Java Kernel,一个小小的安装程序,只包含最常用的JRE类别。 其它包需要时再自己下载。
  • 加强更新器。
  • 增强版本控制和pack200的支持:不再需要服务器端支持。[38]
  • Java Quick Starter,用来加强冷却启动时间。
  • 改进了Windows上的Java2D图形基本组件的表现,使用Direct3D和硬件加速。
  • 新的 Swing look and feel ,名为 Nimbus ,创建在 synth 基础之上。[39]
  • 下一代的Java插件:applet现在已可在个别的程序中运行,并支持Web Start应用程序的许多功能。[40]
Java SE 6 Update 11[41] 2008-12-03 13个安全性漏洞修正[42]
Java SE 6 Update 12[43] 2008-12-12 没有安全性修复;64位的Java插件(仅适用于64位的网页浏览器);支持Windows Server 2008;图形和JavaFX应用程序的性能改进
Java SE 6 Update 13[44] 2009-03-24 7个安全性漏洞修复,稍作修改JNDI访问LDAP中的Java对象,JMX变更(createMBeanunregisterMBean),添加了4个新的根证书
Java SE 6 Update 14[45] 2009-05-28 HotSpot VM 14. 此版本包括对JIT编译器的大量性能更新,用于64位机器的压缩指针,以及对G1(Garbage First)低暂停的垃圾回收器的支持。[46][47]

-XX:+DoEscapeAnalysis 选项直接指向HotSpot JIT compiler以使用escape analysis来决定本地端对象是否可以被分配到stack上而不是heap里[48]

一些开发人员已经注意到这个版本中引入的一个问题,它导致除错器似乎是随意地错过断点(breakpoints)。[49] Sun有一个相应的漏洞,也是一个追踪问题。 解决方法适用于客户端和服务器端的虚拟机。[50] 使用 -XX:+UseParallelGC 选项将可以避免错误。另一个解决方案是降版到update 13,或是升级到update 16。

Java SE 6 Update 15 2009-08-04 加入了patch-in-place 功能[51]
Java SE 6 Update 16 2009-08-11 修复了update 14中导致除错器错过断点的问题。[52]
Java SE 6 Update 17[53] 2009-11-04 安全修复;两个新的根证书
Java SE 6 Update 18[54] 2010-01-13 没有安全性漏洞修复;Hotspot VM 16;支持Ubuntu 8.04 LTS桌面版、SLES 11、Windows 7、Red Hat Enterprise Linux 5.3、Firefox 3.6、VisualVM 1.2;更新过的Java DB;许多性能改进
Java SE 6 Update 19[55] 2010-03-30 安全性漏洞修复;根证书更动:加入七个新的,删除三个,五个替换为更强的签署算法;对TLS重新谈判攻击的临时修补
Java SE 6 Update 20[56] 2010-04-15 2个安全性漏洞修补
Java SE 6 Update 21[57] 2010-07-07 没有安全性漏洞修复;Hotspot VM 17;支持 Red Hat Enterprise Linux 5.4和5.5、Oracle Enterprise Linux 4.8, 5.4, 5.5、Google Chrome 4与定制读取进度指示器(Customized Loading Progress Indicators);VisualVM 1.2.2
Java SE 6 Update 22[58] 2010-10-12 29个安全性漏洞修补; 支持RFC 5746
Java SE 6 Update 23[59] 2010-12-08 没有安全性漏洞修复;Hotspot VM 19;对由右至左的语言有更好的支持
Java SE 6 Update 24[60] 2011-02-15 21个安全性漏洞修补;更新 Java DB
Java SE 6 Update 25 2011-03-21 没有安全性漏洞修复;Hotspot VM 20;支持 Internet Explorer 9、Firefox 4和Chrome 10;改善BigDecimal;包含“分层”编译在服务器虚拟机以激活它来跟客户端需拟机一样的快速打开,当达到更好的尖峰表现性能(这个功能要激活 -server 和 -XX:+TieredCompilation 指令选项)[61]
Java SE 6 Update 26[62] 2011-06-07 17新的安全性漏洞修补;[63] 最新的版本能够和Windows Vista SP1兼容
Java SE 6 Update 27[64] 2011-08-16 没有安全性漏洞修复;给Firefox 5的新证书
Java SE 6 Update 29[65] 2011-10-18 20个安全性漏洞修补;其它许多种漏洞的修补[66]
Java SE 6 Update 30[67] 2011-12-12 没有安全性漏洞修复;修补SSL回归在Update 29;支持Red Hat Enterprise Linux 6
Java SE 6 Update 31[68] 2012-02-14 14个安全性漏洞修补和一个漏洞修复;最新的版本能够够可靠的在Windows 2000上工作[69] 
JAVA SE 6 Update 32[70] 2012-04-26 没有安全性漏洞修复;其它许多种漏洞的修补
Java SE 6 Update 33[71] 2012-06-12 14个安全性漏洞修补, 改善VM配置文件的读取
Java SE 6 Update 34[72] 2012-08-14 没有安全性漏洞修复;其它许多种漏洞的修补
Java SE 6 Update 35[73] 2012-08-30 包含一个深度的安全修补
Java SE 6 Update 37[74] 2012-10-16 30个安全性漏洞修补
Java SE 6 Update 38[75] 2012-12-11 其它许多种漏洞的修补[76]
Java SE 6 Update 39[77] 2013-02-01 50个安全性漏洞修补
Java SE 6 Update 41[78] 2013-02-19 5个安全性漏洞修补
Java SE 6 Update 43[79] 2013-03-04 2个安全性漏洞修补
Java SE 6 Update 45[80] 2013-04-16 42个安全性漏洞修补;[81] 其它的一些改变; 最后的公开更新。[82] 自2016年1月起,Java 6(或更早的版本)没办法再从Oracle下载
Java SE 6 Update 51[83] 2013-06-18 不公开,只能透过Java SE支持计划和在Apple Update for OS X Snow Leopard、Lion 和 Mountain Lion 中;最多达到40个安全性漏洞修复[84]
Java SE 6 Update 65[85] 2013-10-15 不公开,只能透过Java SE支持计划和在Apple Update for OS X Snow Leopard、Lion 和 Mountain Lion 中;最少11个重要的安全性漏洞修复[86]
Java SE 6 Update 71[87] 2014-01-14 不公开下载;33个漏洞修复[88]
Java SE 6 Update 75[89] 2014-04-15 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster no. #54 提供;25个安全性漏洞修复[90]
Java SE 6 Update 81[91] 2014-07-15 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;11个安全性漏洞修复[92]
Java SE 6 Update 85[93] 2014-10-16 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;18个安全性漏洞修复[94]
Java SE 6 Update 91[95] 2015-01-21 Linux x64和Windows i586的版本可在Java SE 6参考实现中使用。[96] 其他版本只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;15个安全性漏洞修复[97]
Java SE 6 Update 95 2015-04-14 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;14个安全性漏洞修复[98]
Java SE 6 Update 101 2015-07-15 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;18个安全性漏洞修复。[99] 给IE 10和11的证书在1.6.0_101版本中被引入
Java SE 6 Update 105 2015-10-20 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;17个安全性漏洞修复[100]
Java SE 6 Update 111 2016-01-20 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;17个安全性漏洞修复[101]
Java SE 6 Update 113 2016-02-05 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;1个安全性漏洞修复[102]
Java SE 6 Update 115 2016-04-21 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;8个安全性漏洞修复[103]
Java SE 6 Update 121 2016-07-19 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;15个安全性漏洞修复[104]
Java SE 6 Update 131 2016-10-18 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;12个安全性漏洞修复[105]

Java SE 7

 JAVA 7 (代号Dolphin[106]) 是一个重大的更新,在 2011年7月7日亮相[107],并在2011年7月28日开放给开发者使用。[108]发展时期被分类成十三的重要阶段,最后一个阶段在2011年6月6日完成。[109][110]平均来看,每个里程碑各有8个版本(就是一般包括的功能增强和漏洞修复) 。在 OpenJDK 7 项目中的功能清单中列出了很多的改变。

在 Java 7 中新增的功能包括:[111]

  • 动态语言支持JVM,以新的invokedynamic bytecode在标准JSR-292之下[112] ,跟随着最近完成的雏形作品多语言虚拟机(Multi Language Virtual Machine)
  • 压缩了 64 比特的指针[113] (在Java 6可以被使用以 XX:+UseCompressedOops 的方式)[114]
  • 这些小语言的改变(在名为Coin项目下的一个小群体):[115]
  • 在switch中的字符串[116]
  • 在try叙述里的自动化的资源管理[117]
  • 改善类型推论针对一般的实例创作,又称作 the diamond operator <>[118]
  • 简化了varargs方法的宣告[119]
  • 二进制整数[120]
  • 允许在数值文本下划线[121]
  • 抓住许多个例外(exception)类型,并使用改进的类型检查重新丢出例外[122]
  • JSR 166下的并发实用工具[123]
  • 新的文件 I/O 程序库 (JSR 203 定义) 增加多重文件的支持、文件原始数据和符号链接。新的包为: java.nio.file, java.nio.file.attribute and java.nio.file.spi[124][125]
  • Timsort 被用来排序对象的集合和数组,取代 merge sort
  • 对 elliptic curve cryptography 算法程序库档次的支持
  • 一个给Java 2D的XRender传递途径,改进了现代GPUs特有的功能的处理
  • 用于图形功能的新平台API(最初在版本6u10中的实现为不支持的API)[126]
  • 增强了对新网络通信协议(包括SCTP和Sockets Direct Protocol)的程序库档次的支持
  • Upstream对XML和Unicode的更新
  • Java部署规则集[127]

Lambda(Java 对 lambda functions 的实现),Jigsaw (Java 对 modules 的实现), 以及一部分的金币(Coin)在 Java 7 里被放弃, 而发布身为Java 8一部分(除了 Jigsaw,也就是将来会出现在 Java 9)。[128]

Java 7,从2012年4月开始,在Java 8发布前,一直是java.com的默认下载版本,。[129]

Java 7 更新

Oracle直到2015年4月产品已经达到支持生命周期[130]快结束时才发布JAVA 7家族每季的公开更新。[131]

版本 发布日期 重点
Java SE 7[132] 2011-07-28 初始版本;HotSpot VM 21
Java SE 7 Update 1[133] 2011-10-18 20个安全漏洞修补;其它漏洞修补
Java SE 7 Update 2[134] 2011-12-12 没有安全漏洞修补;HotSpot VM 22;可靠性和性能改进;支持 Solaris 11 和 Firefox 5 之后的版本;JavaFX 包含 Java SE JDK, 改善了网页部属的应用程序。
Java SE 7 Update 3[135] 2012-02-14 14个安全漏洞修补[136]
Java SE 7 Update 4[137] 2012-04-26 没有安全漏洞修补;HotSpot VM 23; JDK 支持 Mac OS X
Java SE 7 Update 5[138] 2012-06-12 14个安全漏洞修补[139]
Java SE 7 Update 6[140] 2012-08-14 JavaFX 和 Java Access Bridge 被包含在 Java SE JDK 和 JRE 安装里面, JavaFX 支持触屏和触摸板, JavaFX 支持 Linux, JDK 和 JRE 支持 Mac OS X, JDK 在 ARM 上支持 Linux [141]
Java SE 7 Update 7[142] 2012-08-30 4个安全漏洞修补[143]
Java SE 7 Update 9[144] 2012-10-16 30个安全漏洞修补[145]
Java SE 7 Update 10[146] 2012-12-11 新的安全性功能,像是禁用任何Java应用程序在浏览器中运行的能力,以及当JRE处于不安全状况时发出警告的新对话框,另外也有一些漏洞修复
Java SE 7 Update 11[147] 2013-01-13 Olson Data 2012i;修复了在安装了JavaFX的独立版本的系统上插件注册问题, CVE-2013-0422 的安全修复;[148] Java applet和Web启动应用程序的默认安全级别已从“中”增加到“高”
Java SE 7 Update 13[149] 2013-02-01 50个安全漏洞修补
Java SE 7 Update 15[150] 2013-02-19 5个安全漏洞修补
Java SE 7 Update 17[151] 2013-03-04 2个安全漏洞修补
Java SE 7 Update 21[152] 2013-04-16 许多的改变,包括 42 个安全漏洞修补, 新的不包含插件的服务器JRE , 以及以 ARM 架构运行的Linux上的  JDK
Java SE 7 Update 25[153] 2013-06-18 许多的改变,包括 40 个安全漏洞修补[154]
Java SE 7 Update 40[155] 2013-09-10 621个漏洞修补;[156] 新的安全性功能, hardfloat ARM, Java 任务控制(Java Mission Control) 5.2和Retina Display支持[157]
Java SE 7 Update 45[158] 2013-10-15 51个安全漏洞修补;[159] 防止Java应用程序在未经授权时的重新分发;恢复安全提示;JAXP变化;TimeZone.setDefault的更改
Java SE 7 Update 51[160] 2014-01-14 36 个安全漏洞修补; 封锁没有表明身份的JAVA小程序(如远程控制台-Java Applet-IBM IMM卡、HP iLO卡),即使警告对话框中有“将在下一版本中被封锁”,[161][162] 17 个漏洞修补
Java SE 7 Update 55[163] 2014-04-15 37个安全漏洞修补;[164] 19个漏洞修补[165]
Java SE 7 Update 60[166] 2014-05-28 Java Mission Control 5.3[167],130个漏洞修补[168]
Java SE 7 Update 65[169] 2014-07-15 18个漏洞修补[170]
Java SE 7 Update 67[171] 2014-08-04 1个漏洞修补[172]
Java SE 7 Update 71[173] 2014-10-14 16个漏洞修补[174]
Java SE 7 Update 72[175] 2014-10-14 与Update 71相同的发布日期,作为Java SE 7的相对应补丁集更新(Patch Set Update,PSU);[176] 36 个漏洞修补[177]
Java SE 7 Update 75[178] 2015-01-20 12个漏洞修补;[179] SSLv3默认为禁用
Java SE 7 Update 76[180] 2015-01-20 与Update 75相同的发布日期,作为Java SE 7的相对应补丁集更新(Patch Set Update,PSU); 97个漏洞修补[181]
Java SE 7 Update 79[182] 2015-04-14 21个安全漏洞修补;6个漏洞修补[183]
Java SE 7 Update 80[184] 2015-04-14 Java 7的最后一个公开版本;与Update 79相同的发布日期,作为Java SE 7的相对应补丁集更新(Patch Set Update,PSU);104个漏洞修补[185]
Java SE 7 Update 85 2015-07-15 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;25个安全漏洞修补
Java SE 7 Update 91 2015-10-20 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;20个安全漏洞修补
Java SE 7 Update 95 2016-01-19 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;8个安全漏洞修补[186]
Java SE 7 Update 97 2016-02-05 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;1个安全漏洞修补[187]
Java SE 7 Update 99 2016-03-23 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;1个安全漏洞修补[188]
Java SE 7 Update 101 2016-04-18 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;9个安全漏洞修补
Java SE 7 Update 111 2016-07-19 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;36个安全漏洞修补
Java SE 7 Update 121 2016-10-18 不公开,只能透过Java SE支持计划和Solaris 10的Recommended Patchset Cluster 提供;32个安全漏洞修补

Java SE 8

Java 8 于2014年3月18日发布,[189][190] 包含了一些原本被项目在 Java 7却延迟的功能。[191]

继续工作在被组织过的功能以 JDK Enhancement Proposals (JEPs) 的角度[192]

  • JSR 335, JEP 126:语言档次对于 lambda expressions 的支持(官方的, lambda expressions; 非官方的, closures) 在Lambda项目之下[193] 且默认方法(虚拟扩展组件方法)[194][195][196] ,允许新增的方法接介而不用破坏掉现存的实现。有个在Java社群中正在进行的辩论在辩论是否要加入支持 lambda 表达式。于是Sun公司宣布 lambda 表达式将会播包含在Java里,然后请社群协助输入和重新定义功能。支持lambda表示式,也允许在功能性样式运作在元素流上的表现,像是 MapReduce 启发在集合上的变形。默认的方法允许API作者使用它添加新的方法到接口上,而不会破坏旧的代码中。虽然它不是他们主要的用意,默认方法还允许多重继承的行为 (但不是状态)。
  • JSR 223, JEP 174:Nashorn项目, 一个 JavaScript 运行期间,它允许开发人员嵌入JavaScript 代码在应用程序中 
  • JSR 308, JEP 104:在 Java 类型上的注解[197]
  • 没有符号的整数算术[198]
  • JSR 337, JEP 120:重复注解[199]
  • JSR 310, JEP 150:日期和时间 API[200]
  • JEP 178:静态链接 JNI 程序库[201]
  • JEP 153:激活JavaFX 应用程序 (直接激活 JavaFX 的应用程序 JARs)[202]
  • JEP 122:移除了 permanent generation[203]

Java 8 不再支持 Windows XP[204] ,但JDK 8 第 25 版更新仍然可以在 Windows XP安装和运行。[205] 先前JDK 8的更新版本可以在XP中运行,但必须被安装在一个被直接解压缩文件强制安装来自安装可执行文件。

从2014年10月开始,Java 8已经是官方网站上默认的下载版本。[206]

Java 8 更新

版本 发布日期 重点
Java SE 8 2014-03-18 初始版本
Java SE 8 Update 5[207] 2014-04-15 使用“*”在 Caller-Allowable-Codebase 属性中; 11个漏洞的修补
Java SE 8 Update 11[208] 2014-07-15 Java 依赖性分析工具(Java Dependency Analysis Tool); Java 控制台选项以禁用赞助者; JAR 文件属性 – Entry-Point; JAXP 处理限制属性 – maxElementDepth; 18 个安全性漏洞修补,[209] 15 个漏洞修补
Java SE 8 Update 20[210] 2014-08-19 669 个漏洞修补,[211] JMC 5.4, 字符串重复数据删除(默认为不激活)
Java SE 8 Update 25[212] 2014-10-14 10 个漏洞修补
Java SE 8 Update 31[213] 2015-01-19 26 个漏洞修补; SSLv3 (默认为禁用)
Java SE 8 Update 40[214] 2015-03-03 645 个漏洞修补,[215] 加入“存储器压力”的概念来协助指出有多少的系统存储器还能够使用(低压 = 高存储器, 高压 = 低存储器)
Java SE 8 Update 45[216] 2015-04-14 13 个漏洞修补
Java SE 8 Update 51[217] 2015-07-14 增加对WIndows平台的原生沙盒的支持(默认为禁用); 另外还有 25 个安全性修补,14 个漏洞修补
Java SE 8 Update 60[218] 2015-08-18 480 个漏洞修补[219]
Java SE 8 Update 65[220] 2015-10-20 25 个安全性修补, 3 个漏洞修补
Java SE 8 Update 66[221] 2015-11-16 15 个漏洞修补
Java SE 8 Update 71[222] 2016-01-19 8 个安全性修补, 5 个漏洞修补[223]
Java SE 8 Update 72 2016-01-19 8 个安全性修补, 5 个漏洞修补, 许多的增强
Java SE 8 Update 73[224] 2016-02-03 1 个安全性修补
Java SE 8 Update 74[225] 2016-02-03 1 个安全性修补
Java SE 8 Update 77[226] 2016-03-23 1 个安全性修补
Java SE 8 Update 91[227] 2016-04-19 9 个安全性修补, 4 个漏洞修补和增强
Java SE 8 Update 92[228] 2016-04-19 来自8u91的安全性和漏洞修补, 再加上 76 个额外的漏洞消补; 推出 ExitOnOutOfMemoryErrorCrashOnOutOfMemoryError 标签
Java SE 8 Update 101[229] 2016-07-19 来自8u92的安全性和漏洞修补, 再加上 9个额外的漏洞消补
Java SE 8 Update 102[230] 2016-07-19 来自8u101的安全性和漏洞修补, 再加上 118 个额外的漏洞消补
Java SE 8 Update 111[231] 2016-10-18 安全性修补和 9 个漏洞修补
Java SE 8 Update 112[232] 2016-10-18 新增功能和139个漏洞修补在8u111

Java SE 9

在2011年的JavaOne中,Oracle讨论了一些他们希望在2016年发布Java 9的功能,[233]包含对于多GB级堆栈更好的支持,更好的原生源代码集成性,还有能够自我协调(Self-tuning)的JVM.[234] 在2016年初,Java 9的发布日期被改到了2017年3月,又被拖延了4个月到2017年7月。[235]

  • JSR 376:在Jigsaw项目中将JDK模块化 (Java Module System)[236][237][238]
  • JEP 222:jshell:Java的Shell (是个 Java REPL)[239][240]
  • JEP 295:Ahead-of-Time Compilation[241]
  • JEP 268:XML Catalogs[242]

工作正在进行之中,使 JAVA 运行的反应流英语Reactive_Streams部分的 JAVA 9︰JSR 166 的领导者 Doug Lea提出了一个新的“Flow”类别,将包括目前的反应流提供的接口。这项工作被记录下︰

  • JEP 266:更多的并发更新[243]

有些项目是要加入自动并发( automatic parallelization),采用OpenCL技术。[244]

Java SE 10

已经有推测将会激活一种没有身份识别的对象(数值类型)。[245][246] 以及走向 64 位定址数组来支持大型数据集。

  • JSR 354:货币和汇率API[247][248]

实际开始制作

OpenJDK 是一个自由开放源始码软件实现在Java Platform, Standard Edition (Java SE)。

在OpenJDK之前,许多各式各样不同的公司和组织推出好几个免费的Java实现。其中一个例子是Apache Harmony。 IBM也有提供Java实现,而RedHat则是通过IcedTea项目提供它:一个用于OpenJDK的架构和集成项目。

参考文献

  1. ^ Clarke, Gavin. Java won't curl up and die like Cobol, insists Oracle. The Register. 2012-03-07. 
  2. ^ Krill, Paul. Java 8 release delayed until next year. InfoWorld. 2013-04-18 [2013-05-06]. 
  3. ^ Oracle Java SE Support Roadmap
  4. ^ JAVASOFT SHIPS JAVA 1.0. [2008-02-05]. (原始内容存档于2007年3月10日). 
  5. ^ Ortiz, C. Enrique; Giguère, Éric. Mobile Information Device Profile for Java 2 Micro Edition: Developer's Guide (PDF). John Wiley & Sons. 2001 [May 30, 2012]. ISBN 978-0471034650. 
  6. ^ Version 1.1 press release, Sun.
  7. ^ Taligent prepares internationalisation technology for the big time
  8. ^ Version 1.2 press release, Sun.
  9. ^ Version 1.3 press release, Sun.
  10. ^ Version 1.3 full list of changes 互联网档案馆的存档,存档日期2006-11-07., Sun.
  11. ^ Version 1.4 press release.
  12. ^ Version full 1.4 list of changes 互联网档案馆的存档,存档日期2007-01-08..
  13. ^ Java™ 2 Platform 5.0 and Java for Business 5.0. Oracle Corporation. 2010 [22 Oct 2012]. 
  14. ^ Oracle Java SE Support Roadmap
  15. ^ Version 1.5 press release.
  16. ^ Version 1.5 full list of changes.
  17. ^ JSR 133, 2.4 Why isn't this need met by existing specifications?. Oracle. 
  18. ^ Goetz, Brian. Java Concurrency in Practice. Addison-Wesley. 2006: xvii. ISBN 0-321-34960-1. 
  19. ^ Java 5.0 is no longer available on Java.com. Java.com. 2009-11-03 [2016-09-30]. 
  20. ^ Lineback, Nathan. Misc Windows 2 – Nathan's Toasty Technology page. [2016-09-30]. 
  21. ^ Version 1.5.0 or 5.0?. Oracle.com. [18 April 2016]. 
  22. ^ Java brand naming.
  23. ^ Version 6, Java webnotes, Sun.
  24. ^ Version 1.6 press release.
  25. ^ Version 1.6 full list of changes.
  26. ^ Java Lobby.
  27. ^ Mustang's HotSpot 互联网档案馆的存档,存档日期2007-01-02., Sun weblogs.
  28. ^ Darcy, Joe. An apt replacement. 2008-08-03 [2009-07-29]. 
  29. ^ Install Java 6 on Mac OS X Leopard | Gephi, open source graph visualization software. Gephi.org. [2016-09-30]. 
  30. ^ Oracle Java SE Support Roadmap. Oracle Corporation. 19 Sep 2012 [22 Oct 2012]. 
  31. ^ Auto-update and update through Java Control Panel of JRE 6 will replace JRE 6 with JRE 7. Oracle Corporation. 19 Feb 2013 [2 Mar 2013]. 
  32. ^ Java™ SE Development Kit 6, Update 43 Release notes. Oracle Corporation. 4 Mar 2013 [4 Mar 2013]. 
  33. ^ Java™ SE Development Kit 6, Update 45 Release notes. Oracle Corporation. 4 Mar 2013 [4 Mar 2013]. 
  34. ^ https://java.com/en/download/faq/java_7.xml
  35. ^ Java SE6 Update 7 Release Notes. Oracle. [2013-04-11]. 
  36. ^ Java SE 6 Update 10 Overview
  37. ^ Java Deployment Toolkit
  38. ^ Version Download and Pack200 Support
  39. ^ Nimbus Archive.is的存档,存档日期2011-08-20
  40. ^ Release Notes for the Next-Generation Java Plug-In Technology
  41. ^ Sun Java 6 Update 11 Available Now, Waiting on JavaFX. FindMySoft.com. [2009-11-13]. 
  42. ^ Update Release Notes, Changes in 1.6.0_11
  43. ^ Changes in 1.6.0_12 (6u12). Sun Microsystems. [2009-05-30]. 
  44. ^ Changes in 1.6.0_13 (6u13). Sun Microsystems. [2012-03-07]. 
  45. ^ Update Release Notes. Sun Microsystems. [2009-05-30]. 
  46. ^ Humble, Charles. JavaOne: Garbage First. infoq.com. 2008-05-13 [2008-09-07]. 
  47. ^ Coward, Dany. Java VM: Trying a new Garbage Collector for JDK 7. 2008-11-12 [2012-01-22]. (原始内容存档于2011-12-08). 
  48. ^ Java SE 6 Update 14 Release Notes. Sun Microsystems. [2010-01-04]. 
  49. ^ Breakpoints fail to hit under JDK 1.6.0_14. [2009-07-14]. 
  50. ^ Bug ID: 6862295 JDWP threadid changes during debugging session (leading to ignored breakpoints). [2009-07-22]. 
  51. ^ Changes in 1.6.0_15 (6u15). Sun Microsystems. 
  52. ^ Changes in 1.6.0_16 (6u16). Sun Microsystems. 2009-08-11 [2009-08-11]. 
  53. ^ Changes in 1.6.0_17 (6u17). Sun Microsystems. 2009-11-04 [2009-11-13]. 
  54. ^ Changes in 1.6.0_18 (6u18). Sun Microsystems. 2010-01-13 [2010-01-18]. 
  55. ^ Changes in 1.6.0_19 (6u19). Sun Microsystems. 2010-03-30 [2010-03-30]. 
  56. ^ Changes in 1.6.0_20 (6u20). Sun Microsystems. 2010-04-15 [2010-04-15]. 
  57. ^ Changes in 1.6.0_21 (6u21). Sun Microsystems. 2010-07-07 [2010-07-07]. 
  58. ^ Changes in 1.6.0_22 (6u22). Oracle Corporation. 2010-10-12 [2010-10-12]. 
  59. ^ Java SE 6 Update 23. Oracle Corporation. 2010-12-08 [2010-12-08]. 
  60. ^ Java SE 6 Update 24. Oracle Corporation. 2011-02-15 [2011-02-15]. 
  61. ^ Java SE 6 Update 25. Oracle Corporation. 2011-04-11 [2011-04-24]. 
  62. ^ Java SE 6 Update 26. Oracle Corporation. 2011-06-07 [2011-06-07]. 
  63. ^ Oracle Java SE Critical Patch Update Advisory – June 2011
  64. ^ Java SE 6 Update 27. Oracle Corporation. 2011-08-16 [2011-08-16]. 
  65. ^ Java SE 6 Update 29. Oracle Corporation. 2011-10-18 [2011-10-18]. 
  66. ^ Oracle Java SE Critical Patch Update Advisory – October 2011
  67. ^ Java SE 6 Update 30. Oracle Corporation. [2011-12-13]. 
  68. ^ Java SE 6 Update 31. Oracle Corporation. [2012-02-17]. 
  69. ^ Java 6 Update 32 fails to install.... MSFN. [2016-07-31]. 
  70. ^ Java SE 6 Update 32. Oracle Corporation. [2012-05-03]. 
  71. ^ Java SE 6 Update 33. Oracle Corporation. [2012-06-13]. 
  72. ^ Java SE 6 Update 34. Oracle Corporation. [2012-08-15]. 
  73. ^ Java SE 6 Update 35. Oracle Corporation. [2012-08-31]. 
  74. ^ Java SE 6 Update 37. Oracle Corporation. [2012-10-23]. 
  75. ^ Java SE 6 Update 38. Oracle Corporation. [2012-12-24]. 
  76. ^ Java SE Development Kit 6 Update 38 Bug Fixes, Oracle.com
  77. ^ Java SE 6 Update 39. Oracle Corporation. [2013-02-01]. 
  78. ^ Java SE 6 Update 41. Oracle Corporation. [2013-02-19]. 
  79. ^ Java SE 6 Update 43. Oracle Corporation. [2013-03-04]. 
  80. ^ Java SE 6 Update 45. Oracle Corporation. [2013-04-16]. 
  81. ^ Oracle Java SE Critical Patch Update Advisory – April 2013
  82. ^ http://java.com/en/download/faq/why_upgrade.xml
  83. ^ Java SE Development Kit 7, Update 25 (JDK 7u25). Oracle Corporation. [2013-06-19]. The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 7u25 are specified in the following table: ... 1.6.0_51 
  84. ^ Oracle Java SE Critical Patch Update Advisory – June 2013
  85. ^ Java SE Development Kit 7, Update 45 (JDK 7u45). Oracle Corporation. [2013-10-17]. The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 7u45 are specified in the following table: ... 1.6.0_65 
  86. ^ Oracle Critical Patch Update Advisory – October 2013
  87. ^ Java SE Development Kit 7, Update 51 (JDK 7u51). Oracle Corporation. [2014-01-19]. The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 7u51 are specified in the following table: ... 1.6.0_71 
  88. ^ Java SE Development Kit 6 Update 71 Bug Fixes. Oracle Corporation. [2014-01-19]. 
  89. ^ Java SE Development Kit 6 Update 75 Bug Fixes. Oracle Corporation. [2014-05-11]. 
  90. ^ Oracle Critical Patch Update Advisory – April 2014
  91. ^ Java SE Development Kit 6 Update 81 Bug Fixes. Oracle Corporation. [2014-07-16]. 
  92. ^ Oracle Critical Patch Update Advisory – July 2014
  93. ^ Java SE Development Kit 6 Update 85 Bug Fixes. Oracle Corporation. [2015-01-26]. 
  94. ^ Oracle Critical Patch Update Advisory – October 2014
  95. ^ Java SE Development Kit 6 Update 91 Bug Fixes. Oracle Corporation. [2015-01-26]. 
  96. ^ Java SE 6 Reference Implementation. Oracle Corporation. [2016-10-24]. 
  97. ^ Oracle Critical Patch Update Advisory – January 2015
  98. ^ Oracle Critical Patch Update Advisory – April 2015
  99. ^ Oracle Critical Patch Update Advisory – July 2015
  100. ^ Oracle Critical Patch Update Advisory - October 2015
  101. ^ Oracle Critical Patch Update - January 2016. 
  102. ^ Oracle Security Alert for CVE-2016-0603. 
  103. ^ Oracle Critical Patch Update CVSS V2 Risk Matrices - April 2016. 
  104. ^ Oracle Critical Patch Update Advisory - July 2016. 
  105. ^ Oracle Critical Patch Update Advisory - October 2016. 
  106. ^ JDK7, Sun.
  107. ^ Introducing Java 7 Webcast: Moving Java Forward. Oracle Corporation. July 7, 2011 [May 30, 2012]. 
  108. ^ JDK 7 Schedule. 
  109. ^ JDK 7 at OpenJDK
  110. ^ JDK 7 Milestones. OpenJDK. Oracle Corporation. [May 30, 2012]. 
  111. ^ Miller, Alex. Java 7. [2008-05-30]. 
  112. ^ JSR 292: Supporting Dynamically Typed Languages on the JavaTM Platform. [25 August 2013]. 
  113. ^ Compressed oops in the Hotspot JVM. OpenJDK. [2012-08-01]. 
  114. ^ Java HotSpot VM Options. Oracle. [2013-04-11]. 
  115. ^ Java Programming Language Enhancements. Download.oracle.com. [2013-01-15]. 
  116. ^ Strings in switch Statements. Download.oracle.com. [2013-01-15]. 
  117. ^ The try-with-resources Statement. Download.oracle.com. [2013-01-15]. 
  118. ^ Type Inference for Generic Instance Creation. Download.oracle.com. [2013-01-15]. 
  119. ^ Improved Compiler Warnings When Using Non-Reifiable Formal Parameters with Varargs Methods. Download.oracle.com. [2013-01-15]. 
  120. ^ Binary Literals. Download.oracle.com. [2013-01-15]. 
  121. ^ Underscores in Numeric Literals. Download.oracle.com. [2013-01-15]. 
  122. ^ Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking. Download.oracle.com. [2013-01-15]. 
  123. ^ Concurrency JSR-166. [2010-04-16]. 
  124. ^ File I/O (Featuring NIO.2). Java.sun.com. 2008-03-14 [2013-01-15]. 
  125. ^ Legacy File I/O Code. Java.sun.com. 2012-02-28 [2013-01-15]. 
  126. ^ JDK 7 Features. OpenJDK. 2011-07-28 [2013-03-15]. 
  127. ^ https://blogs.oracle.com/java-platform-group/entry/introducing_deployment_rule_sets
  128. ^ JavaOne 2011 Keynote. Oracle. (原始内容存档于2011-10-26). 
  129. ^ Java 7 Auto-Update and Java 6. Oracle. 
  130. ^ Oracle Java SE Support Roadmap. Oracle Corporation. 2014-12-19 [2015-01-07]. 
  131. ^ Critical Patch Update table shows four dates per year
  132. ^ Java SE 7 Release Notes
  133. ^ Update Release Notes, Java SE 7 Update 1
  134. ^ Update Release Notes, Java SE 7 Update 2
  135. ^ Update Release Notes, Java SE 7 Update 3
  136. ^ Oracle Java SE Critical Patch Update Advisory – February 2012
  137. ^ Update Release Notes, Java SE 7 Update 4
  138. ^ Update Release Notes, Java SE 7 Update 5
  139. ^ Oracle Java SE Critical Patch Update Advisory – June 2012
  140. ^ Update Release Notes, Java SE 7 Update 6
  141. ^ Java SE 7 Update 6 Released 互联网档案馆的存档,存档日期2012-10-27.
  142. ^ Update Release Notes, Java SE 7 Update 7
  143. ^ Oracle Security Alert for CVE-2012-4681. Oracle Corporation. 
  144. ^ Update Release Notes, Java SE 7 Update 9
  145. ^ Java SE 7 Update 9 Released
  146. ^ Update Release Notes, Java SE 7 Update 10
  147. ^ Update Release Notes, Java SE 7 Update 11
  148. ^ Oracle Security Alert for CVE-2013-0422. Oracle Corporation. 
  149. ^ Oracle Java SE Critical Patch Update Advisory – February 2013
  150. ^ Oracle Java SE 7 U15 Release Notes
  151. ^ Oracle Java SE 7 U17 Release Notes
  152. ^ Oracle Java SE 7 U21 Release Notes
  153. ^ Oracle Java SE 7 U25 Release Notes
  154. ^ Oracle releases fixes for 40 Java holes
  155. ^ Oracle Java SE 7 U40 Release Notes
  156. ^ Java™ SE Development Kit 7 Update 40 Bug Fixes
  157. ^ Oracle JDK 7u40 released – security features, hardfloat ARM, Java Mission Control and more 互联网档案馆的存档,存档日期2013-10-02.
  158. ^ Java SE Development Kit 7, Update 45 – Update Release Notes
  159. ^ Oct 2013 CPU
  160. ^ Java™ SE Development Kit 7 Update 51 Release Notes
  161. ^ Oracle to patch Java, other products Tuesday, ZDNet,
  162. ^ Oracle Critical Patch Update Advisory – January 2014
  163. ^ Java™ SE Development Kit 7 Update 55 Release Notes
  164. ^ Oracle Critical Patch Update Advisory – April 2014
  165. ^ Java™ SE Development Kit 7 Update 55 Bug Fixes
  166. ^ Java™ SE Development Kit 7 Update 60 Release Notes
  167. ^ Java Mission Control 5.3 Release Notes
  168. ^ Java™ SE Development Kit 7 Update 60 Bug Fixes
  169. ^ Java™ SE Development Kit 7 Update 65 Release Notes
  170. ^ Java™ SE Development Kit 7 Update 65 Bug Fixes
  171. ^ Java™ SE Development Kit 7 Update 67 Release Notes
  172. ^ Java™ SE Development Kit 7 Update 67 Bug Fixes
  173. ^ Java™ SE Development Kit 7 Update 71 Release Notes
  174. ^ Java™ SE Development Kit 7 Update 71 Bug Fixes
  175. ^ Java™ SE Development Kit 7 Update 72 Release Notes
  176. ^ Java CPU and PSU Releases Explained
  177. ^ Java™ SE Development Kit 7 Update 72 Bug Fixes
  178. ^ Java™ SE Development Kit 7 Update 75 Release Notes
  179. ^ Java™ SE Development Kit 7 Update 75 Bug Fixes
  180. ^ Java™ SE Development Kit 7 Update 76 Release Notes
  181. ^ Java™ SE Development Kit 7 Update 76 Bug Fixes
  182. ^ Java™ SE Development Kit 7 Update 79 Release Notes
  183. ^ Java™ SE Development Kit 7 Update 79 Bug Fixes
  184. ^ Java™ SE Development Kit 7 Update 80 Release Notes
  185. ^ Java™ SE Development Kit 7 Update 80 Bug Fixes
  186. ^ Oracle Critical Patch Update - January 2016. 
  187. ^ Oracle Security Alert for CVE-2016-0603. 
  188. ^ Java™ SE Development Kit 7, Update 99. 
  189. ^ Proposed new schedule for Java 8. 2013-04-18 [2013-04-19]. 
  190. ^ JDK 8. OpenJDK. 2013-04-18 [2014-01-28]. 
  191. ^ JDK 8 features. OpenJDK. 2014-01-28 [2014-01-28]. 
  192. ^ JSR 337. [2014-01-30]. 
  193. ^ Java 7 Features. Sun Microsystems. 2010-02-09 [2010-04-16]. 
  194. ^ Interface evolution via virtual extension methods (PDF). Brian Goetz. 2011-07-20 [2014-03-27]. 
  195. ^ Lambda Expressions for the JavaTM Programming Language. Brian Goetz. 2012-10-23 [2014-03-27]. 
  196. ^ The Java Tutorials: Default Methods. Oracle. [2014-03-27]. 
  197. ^ http://openjdk.java.net/jeps/104
  198. ^ https://blogs.oracle.com/darcy/entry/unsigned_api
  199. ^ http://openjdk.java.net/jeps/120
  200. ^ http://openjdk.java.net/jeps/150
  201. ^ http://openjdk.java.net/jeps/178
  202. ^ http://openjdk.java.net/jeps/153
  203. ^ http://openjdk.java.net/jeps/122
  204. ^ Oracle JDK 8 and JRE 8 Certified System Configurations. Oracle Corporation. [2014-04-15]. 
  205. ^ Stahl, Henrik. Updated: The future of Java on Windows XP. Oracle Corporation. 2014-07-11 [2014-11-11]. (原始内容存档于2014-11-11). JDK 8 is not supported on Windows XP. Early versions of JDK 8 had known issues with the installer on Windows XP that prevented it from installing without manual intervention. This was resolved in JDK 8 Update 25. The important point here is that we can no longer provide complete guarantees for Java on Windows XP, since the OS is no longer being updated by Microsoft. We strongly recommend that users upgrade to a newer version of Windows that is still supported by Microsoft in order to maintain a stable and secure environment. 
  206. ^ Blog By Tori Wieldt-Oracle on Oct 27, 2014 存档副本. [2014-11-24]. (原始内容存档于2014-11-29). 
  207. ^ Java™ SE Development Kit 8, Update 5 (JDK 8u5). oracle.com. [2014-04-28]. 
  208. ^ Java™ SE Development Kit 8, Update 11 (JDK 8u11). oracle.com. [2014-07-16]. 
  209. ^ 18 security bug fixes. oracle.com. [2014-07-16]. 
  210. ^ Java™ SE Development Kit 8, Update 20 (JDK 8u20). oracle.com. [2014-08-27]. 
  211. ^ Java™ SE Development Kit 8 Update 20 Bug Fixes
  212. ^ Java™ SE Development Kit 8, Update 25 (JDK 8u25). oracle.com. [2014-10-14]. 
  213. ^ Java™ SE Development Kit 8, Update 31 (JDK 8u31). oracle.com. [2015-01-21]. 
  214. ^ Java™ SE Development Kit 8, Update 40 (JDK 8u40). oracle.com. [2015-03-04]. 
  215. ^ Java™ SE Development Kit 8 Update 40 Bug Fixes
  216. ^ Java™ SE Development Kit 8, Update 45 (JDK 8u45). oracle.com. [2015-04-15]. 
  217. ^ Java™ SE Development Kit 8, Update 51 (JDK 8u51). oracle.com. [2015-07-14]. 
  218. ^ Java™ SE Development Kit 8, Update 60 (JDK 8u60). oracle.com. [2015-08-18]. 
  219. ^ Java™ SE Development Kit 8 Update 60 Bug Fixes
  220. ^ Java™ SE Development Kit 8, Update 65 (JDK 8u65). oracle.com. [2015-10-20]. 
  221. ^ Java™ SE Development Kit 8, Update 66 Release Notes. oracle.com. [22 October 2015]. 
  222. ^ Java™ SE Development Kit 8, Update 71 Release Notes. oracle.com. [20 January 2015]. 
  223. ^ Java™ SE Development Kit 8 Update 71 Bug Fixes. oracle.com. [20 January 2015]. 
  224. ^ Java™ SE Development Kit 8, Update 73 Release Notes. oracle.com. [6 February 2016]. 
  225. ^ Java™ SE Development Kit 8, Update 74 Release Notes. oracle.com. [6 February 2016]. 
  226. ^ Java™ SE Development Kit 8, Update 77 Release Notes. oracle.com. [23 March 2016]. 
  227. ^ Java™ SE Development Kit 8, Update 91 Release Notes. oracle.com. [23 March 2016]. 
  228. ^ Java™ SE Development Kit 8, Update 92 Release Notes. [23 March 2016]. 
  229. ^ Java™ SE Development Kit 8, Update 101 Release Notes. [19 July 2016]. 
  230. ^ Java™ SE Development Kit 8, Update 102 Release Notes. [19 July 2016]. 
  231. ^ Java™ SE Development Kit 8, Update 111 Release Notes. [19 October 2016]. 
  232. ^ Java™ SE Development Kit 8, Update 112 Release Notes. [19 October 2016]. 
  233. ^ Mark your calendar: Java 9 finally has a release date. 
  234. ^ JavaOne: JavaFX 2, Java on iOS. 
  235. ^ Cloud; Security; Australia; Vmware; Microsoft; dive, NASA starts countdown for Cassini probe's Saturn death; rc8, Linux 4 8 probably needs; Oracle takes aim at AWS with cheap, fast public and hybrid cloud. JDK 9 release delayed another four months. [2016-10-14]. 
  236. ^ Project Jigsaw. OpenJDK. 
  237. ^ Java Module-System Requirements — DRAFT 12. Oracle. 
  238. ^ Project Jigsaw delayed until Java 9. JavaWorld. 
  239. ^ jshell: The Java Shell. 
  240. ^ OpenJDK: Project Kulla. 
  241. ^ Vladimir Kozlov. JEP 295: Ahead-of-Time Compilation. Oracle Corporation. 2016-10-13 [2016-10-13]. Compile Java classes to native code prior to launching the virtual machine. 
  242. ^ JEP 268: XML Catalogs. Oracle Corporation. 2013-08-26 [2016-11-01]. Develop a standard XML Catalog API that supports the OASIS XML Catalogs standard, v1.1 
  243. ^ JEP 266: More Concurrency Updates. Oracle Corporation. 2016-09-01 [2016-11-01]. Interfaces supporting the Reactive Streams publish-subscribe framework, nested within the new class Flow, along with a utility class SubmissionPublisher that developers can use to create custom components 
  244. ^ Humble, Charles. HSA Foundation Targeting Heterogeneous GPU-CPU Execution for Java Virtual Machines by 2015. InfoQ. Sep 18, 2013. 
  245. ^ Rose, John; Goetz, Brian; Steele, Guy. Value Types for Java. 
  246. ^ Rose, John. JEP 169 Value Types for Java. 
  247. ^ Project Currency and Money. (原始内容存档于2012-07-15). 
  248. ^ JSR 354 – Money and Currency API. 

外部链接

  • 官方 Java SE 下载
  • Java早期版本
  • Full list of changes for J2SE 1.3
  • Full list of changes for J2SE 1.4
  • Full list of changes for J2SE 5.0
  • Java SE 7 release notes
  • Sun Java Supported versions and EOL
  • 下载Java旧版本的封存档

相关推荐