背景:1991年4月,由James Gosling博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个计划的产品就是Java语言的前身:Oak(橡树)。Oak当时在消费品市场上并不算成功,但随着1995年互联网潮流的兴起,Oak迅速找到了最适合自己发展的市场定位并蜕变成为Java语言。 1995-5-23 Oak语言改名为Java,提出 “Write Once,Run Anywhere”的口号。
1996-1-23 JDK1.0
Sun Classic VM、Applet、AWT
1997-2-19 JDK 1.1
JAR、JDBC(Java DataBase Connectivity)、JavaBeans、RMI(Remote Method Invocation)、Inner Class、Reflection
1998-12-4 JDK 1.2
J2SE(Java 2 Platform, Standard Edition)、J2EE(Java 2 Platform, Enterprise Edition)、J2ME(Java 2 Platform, Micro Edition)
JIT(Just In Time)(Classic VM、HotSpot VM、Exact VM)、Collections、JFC(Java Foundation Classes)、Swing 1.0、Java2D、Java Plug-In、EJB、Java IDL
字符串常量做内存映射
对打包的Java文件进行数字签名
控制授权访问系统资源的策略工具
JDBC中引入可滚动结果集,BLOB,CLOB,批量更新和用户自定义类型
在Applet中添加声音支持
2000-5-8 JDK 1.3
数学运算、Timer API、Java Sound API、CORBA IIOP实现RMI的通信协议、Java 2D新特性、jar文件索引
2002-2-13 JDK 1.4
正则表达式、异常链、NIO、Logging(日志类)、XML解析器、XSLT转换器、XML处理、Java打印服务、Java Web Start、JDBC 3.0 、断言、Preferences、IPV6、Imgae I/O
2004-9-30 JDK 1.5
自动装箱拆箱、泛型、元数据(注解)、Instrumentation、枚举、静态引入、可变长参数、foreach(增强循环)、JMM(Java Memory Model)、concurrent(并发)
2006-12-11 JDK 1.6(JDK 6)
命名方式变更、脚本语言、编译API和微型HTTP服务器API、锁与同步、垃圾收集、类加载、JDBC 4.0、Java Compiler、可插拔注解、Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos、LDAP(Lightweight Directory Access Protocol)、Web Services
2011-7-28 JDK 1.7 (Java SE 1.7) 在此期间Oracle收购Sun,很多1.7的计划没能完成,被推迟到1.8
switch语句块中允许以字符串作为分支条件、创建泛型对象时应用类型推断、try-with-resources(一个语句块中捕获多种异常)、null值得自动处理、数值类型可以用二进制字符串表示,并且可以在字符串表示中添加下划线、引入Java NIO.2开发包、动态语言支持 fork/join框架为java8以后并发的分治合并底层基础
2014-3-18JDK 1.8 (Java SE 1.8)
Lambda Expressions Pipelines and Streams(管道和流) Date and Time API(新的日期和时间) Default Methods(默认方法)
Fucntion Interface(函数式接口)Optional对象处理null避免null point exception Type Annotations(类型注解) Nashhorn JavaScript Engine(Nashorn javascript引擎) Concurrent Accumulators(并行累加器) Parallel operations(并行操作) PermGen Error Removed(内存错误移除) TLS SNI(Server Name Identification -服务器名称标识)