背景知识
- JCP:
JCP(Java Community Process)成立于1998年,是使有兴趣的各方参与定义Java的特征和未来版本的正式过程。
关于版本号
7是指jdk版本 7.0版本 u是update 更新的意思 45 是第45次更新
为什么要新建u开头的project?http://openjdk.java.net/projects/jdk8u/qanda.html
b07是不是发布JDK6u1时,JDK6作为开发分支的最后一个buid号?
每个release(无论是大版本的第一个release还是后面小版本的update release)在真的发布前都会经过很多次build。开发过程中通常是每周一build来做整合测试,临发布前会选择一个build作为候选版本跑更完整的测试,当这些测试都通过之后就发布。
所以6u18b07的意思就是针对JDK 6 update 18这个release,这是第07个build。
每个release的build number都是独立递增的,从1开始。
实现
OpenJDK 是一个自由开放源始码软件实现在Java Platform, Standard Edition (Java SE)。
在OpenJDK之前,许多各式各样不同的公司和组织推出好几个免费的Java实现。其中一个例子是Apache
Harmony。 IBM也有提供Java实现,而RedHat则是通过IcedTea项目提供它:一个用于OpenJDK的架构和集
成项目。
历史
版本 | 年份 | new feature | 其他 |
---|---|---|---|
JDK Beta | 1994 | ||
JDK 1.0 | 1996 | 几百个类 | |
JDK 1.1 | 1997 | 内部类、JDBC、RMI | |
J2SE 1.2 | 1998 | collections框架 - 作者Joshua Bloch | |
J2SE 1.3 | 2000 | HotSpot JVM | |
J2SE 1.4 | 2002 | 仿照perl的正则、NIO | |
J2SE 5.0 | 2005 | 大量语法糖: 泛型、自动封装、枚举等 | 三千多个类 |
Java SE 6 | 2006 | ||
Java SE 7 | 2011 | ||
Java SE 8 | 2014 | ||
Java SE 9 |
JDK源码
openJDK
- 官方源码:http://hg.openjdk.java.net/ 采用
Mercurial(Hg)
管理,类似git Github
镜像:https://github.com/dmlloyd/openjdk- 这是对
官方Git仓库
的实时同步。很赞。怎么做到的?用的github插件?
- 这是对
阅读笔记
- Jdk1.8源码解析 https://github.com/wupeixuan/JDKSourceCode1.8
- JDK源码阅读笔记 https://github.com/seaswalker/JDK
- https://github.com/codefollower/OpenJDK-Research
参考
- java 1.0.2 源码 - 第一个稳定版JDK
- java 1.4 源码 对比1.5来看
- java 1.5 源码
- java 7 源码 对比8来看
- java 8 源码