Java 历史及特性

总结自:深入理解Java虚拟机:JVM高级特性与最佳实践 第2版

Java 历史

年份 纪事
1991年4月 James Gosling 的 Green Project 开始执行,该“绿色项目”的结果是 Oak(Java 前身)。
1995年5月23日 Oak 改名为 Java 并在 SunWorld 发布 Java 1.0 提出 “Write Once, Run Anywhere(一次编写到处执行) ”的口号
1996年1月 Sun Classic VM 发布
1996年4月 10个主要操作系统供应商嵌入 Java 技术,大约 8.3 万网站使用了 Java, 首次举行 JavaOne 这个后来的 Java 技术大会
1997年2月19日 JDK1.1发布,添加了新技术和Java语法
1997年2月19日 ~ 1999年4月8日 JDK1.1.0 ~ JDK 1.1.8发布: 1.1.4-Sparkler, 1.1.5-Pumpkin, 1.1.6-Abigai, 1.1.7-Brutus, 1.1.8-Chelsea
1998年12月4日 里程碑式版本 JDK 1.2-Playground 发布,分为三个版本:J2MEJ2SEJ2EE
1999年3月 JDK1.2.1
1999年7月 JDK 1.2.2
1999年4月27日 HotPot VM 发布,JDK 1.2 可选 VM, JDK 1.3 后默认的 VM 。
2000年5月8日 JDK 1.3-Kstrel, 对数学运算作出了改进,JNDI 作为平台服务,基于 CORBA IIOP 实现 RMI 通讯协议, Java 2D API,Timer API改进以及添加了 JavaSound 库
2001年5月17日 JDK-1.3.1-Ladybird
2002年2月13日 JDK-1.4-Merlin 发布,这是第一个走向成熟的版本。
2002年9月16日 JDK-1.4.1-Grasshopper
2003年6月26日 JDK-1.4.2-Mantis
2004年9月30日 JDK-1.5-Tiger 语法易用性上的改进,以及改进内存模型,提供了 java.util.concurrent 并发包。最后一个支持 Windows 9.x 平台的 Java。
2006年12月11日 JDK-1.6-Mustang 结束 J2SE、J2EE、J2ME 的命名, 启用 Java SE 6、 Java EE 6、Java ME 6 命名方式。
2006年11月13日 OpenJDK 初现。
2009年2月19日 JDK-1.7-Dolphin 第一个JDK 1.7规划的里程碑版本发布。于 2010年9月9日 所有的JDK 1.7 里程碑才完成。没有按计划完成
2012年10月16日 在 JDK 1.6发布后,Sun 公司,由于代码复杂性、JDK 开源、开发 JavaFX、经济危机、Sun 公司收购案等原因,Sun 公司被拖累。无法再进行两年一主版本。 JDK 1.6 一共发布了 37个更新

Java 特性

JDK 1.0

  1. JVM
  2. Applet (网页小程序)
  3. AWT

JDK 1.1

  1. *.jar 文件格式
  2. JDBC
  3. JavaBeans
  4. RMI
  5. 内部类 (Inner Class)
  6. 反射(Reflection)

JDK 1.2

  1. EJB
  2. Java Plug-in
  3. Java IDL
  4. Swing
  5. JIT
  6. strictfp 关键字
  7. Collections 集合类

JDK 1.3

  1. Timer API
  2. 平台级 JNDI
  3. 基于 CORBA IIOP 实现的 RMI
  4. 改进的 Java 2D
  5. JavaSound

JDK 1.4

  1. 正则表达式
  2. 异常链
  3. NIO
  4. 日志类
  5. XML 解释器
  6. XSLT 转换器

JDK 1.5

  1. 自动装箱
  2. 泛型
  3. 动态注解
  4. 枚举
  5. 可变长参数
  6. 遍历循环(foreach 循环)

JDK 1.6

  1. 启用动态语言支持(Mozilla JavaScript Rhino)
  2. 提供编译API
  3. 微型HTTP服务器 API
  4. 锁与同步改进
  5. 垃圾收集算法改进
  6. 类加载算法改进

JDK 1.7

  1. G1收集器
  2. 非Java语言调用支持(JSR-292)
  3. 升级类加载架构

我给自己写的名言

我们总是无法避免未知。重要的是如何对待未知。(2018/5/2)
事情已经发生现实已不可逆转,所能做的就只不过是让自己未来不再糊涂不再后悔。(2018/9/9)
班级干部是一种用于负责任并用于出气的吸血蚂蚱。(2018/9/16)
优秀的潜质在于对自己所处的环境以及周围变化的了解。(2018/9/17)
活着不是为了谁,也不是为了什么,仅仅是为了解脱自己。(2018/10/18)
历史总是惊人地相似,未来总是频繁地改变。不再重蹈覆辙,取决于你的努力程度!(2018/11/3)
节约时间的唯一方法是专注,计划只能帮助你专注。(2018/11/3)
什么都会什么都不会,什么都会是无能的特征。(2018/11/11)
只要察觉了问题,一切都将解决。(2018/11/30)
拖延意味着任务还没有完成,甚至还没有开始。(2018/12/4)
期限会在最后一天给你亲切的恶意,你有机会改变局面,但又让你感觉到无力。(2018/12/5)
一切事物都会朝着熵增的方向,失去控制?还是全力管制?(2018/12/9)
对事物开始的期望,对事物结束的失望。(2018/12/10)
所有到来的一切都是有原因的,但最终都归结于自身的失败。(2018/12/25)
结束是另外一个开始,永无止境的开始,永无止境的结束。(2018/12/25)
琐碎的事情是一切时间不够的根源,小麻烦滚成大麻烦偷走你的时间。(2018/12/26)
相信客观证据告诉你的话语,而不是一时的不合预期的全盘否定。(2019/7/10)
因为坚信着可能性,所以没有放弃自身的可能性。(2019/8/9)
努力的力量来源于身边重要的人由衷相信的期望。(2019/8/9)
纠结之人莫纠结。无意义的纠结不会给你带来任何有意义的结果。(2019/9/17)
宣誓向正确的方向而努力,痛苦而坚持,疲倦而不敢忘。(2019/10/13)
人性慵懒不可相信拖延之词,重蹈覆辙不断,离开原处如何?(2019/12/12)
如何度过这小小的一生?分清是非,追求可能性,体验丰富的生活,不沉沦于过去,不迷失掉自我。(2019/12/13)