1995年发布第一个测试版本
1996年1月23日,第一个版本发布。随后不久,第一个稳定版本JDK 1.0.2发布
1997年2月19日,JDK1.1发布,主要特性如下:
改进AWT支持内部类添加JavaBeans支持JDBC支持RMI提供运行时内省但不允许改变的反射机制虚拟机引入JIT编译器(非sun公司)Internationalization、Unicode1998年12月8日,代号Playground(竞技场)的JDK1.2发布,主要特性如下:
增加strictfp关键字核心类库集成Swing图形API Sun公司虚拟机首次采用JIT编译器提供Java plug-in插件,解决applet在浏览器的运行问题提供Java IDL(an IDL implementation for CORBA interoperability)添加集合框架2000年5月8日,代号Kestrel(美洲红隼)的JDK1.3发布,主要特性如下: - Hotpot虚拟机 - 针对CORBA改进RMI - Java Naming and Directory Interface (JNDI) - Java Platform Debugger Architecture (JPDA) - JavaSound - Synthetic proxy classes(复合代理类)
2002年2月13日,代号Merlin(灰熊)的JDK1.4发布,JDK1.4是Java里程碑版本,它是按照Java Community Process(JSR59)规范开发的,主要特性如下:
assert关键字(jsr41)Regular expressions Exception chaining 支持IPV6Non-blocking IO (jsr51)Logging API(jsr47)Image I/O APIIntegrated XML parser and XSLT processor (JAXP) (jsr5、jsr63)Integrated security and cryptography extensionsJava Web Start included (Java Web Start was first released in March 2001 for J2SE 1.3) (jsr56)Preferences API (java.util.prefs)2004年9月30日,代号Tiger(老虎)的JDK5发布,它是按照Java Community Process(JSR176)规范开发的,主要特性如下:
泛型(jsr14)注解(jsr175)自动拆箱/解箱(jsr201)枚举(jsr201)可变长参数遍历循环foreach(jsr201)改进Java内存模型(jsr133)Static imports标准库方面改进主要有如下几个方面:
Automatic stub generation for RMI objectsSwing: New skinnable look and feel, called synthThe concurrency utilities in package java.util.concurrentScanner class for parsing data from various input streams and buffersJdk5版本变迁
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.This correspondence continued through later releases (Java 6 = JDK 1.6, Java 7 = JDK 1.7, and so on).
JDK5 updates
2006年12月11日,代号Mustang(野马)的JDK6发布,它是按照Java Community Process(JSR270)规范开发的,主要特性如下:
脚本语言支持(jsr223)改进web服务(jsr224)支持JDBC4.0(jsr221)提供编译器APIJava Architecture for XML Binding (JAXB)更新到2.0(包括Streaming API for XML (StAX)整合)插入式注解(jsr269)改进GUI改进虚拟机JDK开源
2006年11月13日,sun公司宣布将JDK源码以GPL v2(GNU General Pulbic License v2)协议下开源,并建立OpenJDK组织对这些源码进行独立管理
JDK6 updates
2009年2月19日,代号Dolphin(海豚)的JDK7发布,主要特性如下:
JVM支持动态语言64位系统压缩指针Concurrency utilities under JSR 166New file I/O library (defined by JSR 203) adding support for multiple file systems, file metadata and symbolic links. The new packages are java.nio.file, java.nio.file.attribute and java.nio.file.spiTimsort is used to sort collections and arrays of objects instead of merge sortLibrary-level support for elliptic curve cryptography algorithmsAn XRender pipeline for Java 2D, which improves handling of features specific to modern GPUsNew platform APIs for the graphics features originally implemented in version 6u10 as unsupported APIsEnhanced library-level support for new network protocols, including SCTP and Sockets Direct ProtocolUpstream updates to XML and UnicodeJava Deployment RulesetsJDK7未实现特性
Lambda (Java’s implementation of lambda functions), Jigsaw (Java’s implementation of modules), and part of Coin were dropped from Java 7, and released as part of Java 8 (except for Jigsaw, which will be in Java 9).Java 7 was the default version to download on java.com from April 2012 until Java 8 was released.
JDK7 updates
2014年3月18日,代号Spider(蜘蛛)的JDK8发布,主要特性如下:
支持lambda expressions(JSR 335)JSR 223, JEP 174: Project Nashorn, a JavaScript runtime which allows developers to embed JavaScript code within applicationsJSR 308, JEP 104: Annotation on Java TypesUnsigned Integer ArithmeticJSR 337, JEP 120: Repeating annotationsJSR 310, JEP 150: Date and Time APIJEP 178: Statically-linked JNI librariesJEP 153: Launch JavaFX applications (direct launching of JavaFX application JARs)JEP 122: Remove the permanent generationJava 8 updates
