1-Java历史-概述
2017-12-18 本文已影响13人
宠辱不惊的咸鱼
1.0
- 1991.4
- 传奇大牛:James Gosling
- 项目:Green Project
- 用途:消费性电子产品(机顶盒,冰箱,收音机)
- 名称:Oak
- 1995.5.23
- Oak -> Java
- Java 1.0
- Write once, run any where.
- 1996.1.23
- JDK 1.0
- 虚拟机:Sun Classic VM(纯解释执行)
- 代表特性
- JVM,Applet,Awt
- 1996.5
- 首届JavaOne大会, 每年一度
1.1
- 1997.2.19
- JDK1.1
- 代表特性
- JDBC,JAR,JavaBeans,RMI,Inner,Class,Reflection
- 1999.4.8
- JDK 1.1.00 ~ JDK 1.1.8
- 1.1.4-Sparkler
- 1.1.5-Pumpkin
- 1.1.6-Abigail
- 1.1.7-Brutus
- 1.1.8-Chelsea
1.2
- 1998.12.4
- JDK 1.2-Playground
- 新命名:J2ME J2SE J2EE
- 代表特性
- EJB,Java Plug-in,Java IDL,Swing,JIT
- 语言和API层面
- 增加关键字strictfp,集合类
- 并存三个虚拟机
- Classic VM
- HotSpot VM
- Exact VM(只在Solaris出现过)
- HotSpot VM和Exact VM内置JIT,Classic VM只能以外挂形式使用JIT
- 1999.3
- JDK 1.2.1
- 1999.7
- JDK 1.2.2
- 1999.4.27
- HotSpot VM发布
- 由一家小公司Longview Technologies开发,1997年被Sun收购
- JDK 1.2中作为附加程序存在
- JDK 1.3开始,成为默认虚拟机
- HotSpot VM发布
1.3
- 2000.5.8
- JDK 1.3-Kestrel
- 代表特性
- 数学运算类库
- 新的Timer API
- JNDI开始作为平台级服务(以前仅仅是扩展)
- 使用CORBA IIOP来实现RMI的通信协议
- 对Java 2D做了改进
- 新增JavaSound类库
- 2001.5.17
- JDK 1.3.1-Ladybird
- 从1.3开始,大约每2年发布一个大版本,以动物命名;期间的各个修正版本以昆虫命名。
1.4
- 2002.2.13
- JDK 1.4-Merlin
- 真正走向成熟的一个版本
- Compaq,Fujitsu,SAS,Symbian,IBM等公司都有参与,甚至实现自己的JDK 1.4
- 直至现在,SSH框架都还有支持1.4的版本发布
- 代表特性
- 正则表达式
- 异常链
- NIO
- 日志类
- XML解析器
- XSLT转换器
- 2002.9.16
- JDK 1.4.1 Grasshopper
- 2003.6.26
- JDK 1.4.2 Mantis
- 2002年前后
- .NET Framework发布,对Java的发展产生较大影响
1.5
- 2004.9.30
- JDK 1.5 Tiger
- 语法易用性上做出非常大的改进
- 自动装箱
- 泛型
- 动态注解
- 枚举
- 可变长参数
- 遍历循环(foreach循环)
- 虚拟机和API层面
- 改进了Java的内存模型(Java Memory Model)
- 提供了java.util.concurrent并发包
- 官方声明可以支持Windows9x的最后一个版本
1.6
- 2006.12.11
- JDK 1.6 Mustang
- 结束从1.2开始的长达8年的J2SE,J2ME,J2EE命名
- 启用Java SE6,Java ME6,Java EE6命名
- 代表特性
- 动态语言支持(通过内置Mozilla Javascript Phino引擎实现)
- 编译API
- 微型HTTP服务器API
- 对JVM做了大量改进
- 锁与同步
- 垃圾收集
- 类加载算法
- JDK 1.6开始,由于种种原因,两年一个主版本的进度被打破
- 2012.10.16
- Java SE6 Update37
- 2006.11.13
- JavaOne大会,Sun宣布最终会将Java开源
- 随后的一年多时间内,陆续将JDK的各个部分在GPL v2(GNU General Public License v2)协议下公开了源码
- 建立OpenJDK组织对开源源码做单独管理
- 除了一部分Sun也没有产权的代码外,基本所有代码都已被开源
- JDK 1.7中,除了版权注释外,OpenJDK 1.7与Sun JDK 1.7的代码已基本一致
1.7
- 2009.2.19
- JDK 1.7-Dolphin
- 第一个里程碑版本
- 原本设计中有10个里程碑
- 于2010.9.9完成
- Lambda项目(Lambda表达式和函数式编程)
- Jigsaw项目(虚拟机模块化支持)
- 动态语言支持
- GarbageFirst收集器
- Coin项目(语言细节进化)
- 2009.4.20
- Oracle收购Sun(74亿美元)
- Java商标归Oracle所有
- Java语言本身不属于哪家公司,由JCP(Java Community Process)组织进行管理,尽管JCP主要是由Sun或者Oracle领导的
- 此时,Oracle已经拥有三大商业虚拟机中的两个,之前收购BEA得到的JRockit,以及Sun的HotSpot
- 剩下的1个是IBM的J9
- 2011.7.28
- JDK 1.7正式版本在Oracle发布
- Lambda,Jigsaw,Coin项目部分改进,被延迟
- 提供G1(试验阶段)
- 加强对非Java语言调用的支持(JSR292)
- 升级类加载架构。
- 2012.4
- Java SE7 Update4
- G1从试验阶段转正,开始支持Mac OSX
- xxxx.x
- Java SE7 Update6
- 对Mac OSX达到完全支持
- 对ARM指令集架构提供支持
- 2012.10.16
- Java SE7 Update9
1.8
- 2014.3
- JDK 8
1.9
- 2017.9
- JDK 9
缩写
- JEP:JDK Enhancement Proposal(改进提议)
- JSR:Java Specification Requests(规范提案)
- JCP:Java Community Process