0%

【java源码系列】导读

背景知识

  • 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

参考

Oracle JDK