Java的前世今生

1991年4月,James Gosling博士的带领下,Java语言的前身:Oak(橡树)诞生。
1995年5月,Oak更名为Java,SunWorld大会上正式发布了Java1.0版本。
1996年1月23日,JDK1.0发布,第一个正式版本的纯解释执行的Java虚拟机(Sun Classic VM)。代表技术:JVM、Applet、AWT
1996年4月,10个系统供应商申明将在系统中嵌入Java技术。
1996年5月底,首届JavaOne大会,从此JavaOne成为全球Java爱好者每年一度的的技术盛会。
1996年9月,大约8.3w个网页应用由Java开发
1997年2月19日,JDK1.1代表技术:JAR文件格式、JDBC、JavaBean、RMI,语法发展:内部类和反射机制
1999年4月8日,到目前为止JDK共发布了1.1.0~1.1.8九个版本,每个版本都有特定的名字。
1998年12月4日,工程代号为Playground(竞技场)的里程碑式版本JDK1.2,sun将Java技术体系拆分为三个方向:面向桌面应用开发J2SE(Java 2 Platform,Standard Edition)、面向企业级开发的J2EE(Java 2 Platform,Enterprise Edition)和面向移动端开发的J2ME(Java 2 Platform,Micro Edition)。代表性技术:EJB、Java Plug-in、Java IDL、Swing等,Java虚拟机内置JIT编译器。语言和API级别上:Java添加了strictfp关键字和Collections集合类。
1999年4月27日,HotSpot虚拟机发布,在JDK1.2作为附加程序,JDK1.3以后作为默认虚拟机。
2000年5月8日,工程代号为Kestrel(美洲红隼)的JDK1.3发布,新增:数学运算以及新Timer API等。JNDI在JDK1.3开始作为平台级服务提供,使用CORBA IIOP来实现RMI的通信协议等。Java 2D的改进:新增大量Java 2D API,新增JavaSound库。此后几乎就是每两年一个大版本发布。
2002年2月13日,工程代号为Merlin(灰背隼)的JDK1.4真正的走向了成熟。
2004年9月30日,工程代号Tiger(老虎)的JDK1.5发布,语法易用性上的改进:自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach)等语法.虚拟机和API层面:改进Java内存模型(Java Memory Model,JMM)、提供了java.util.concurrent并发包等。JDK1.5官方声明支持window 9x平台。
2006年12月11日,工程代号Mustang(野马)的JDK1.6发布,Sum终结了J2EE、J2SE、J2ME的命名方式,启用Java SE 6、Java EE 6、Java ME 6的命名方式。JDK的改进:提供动态语言支持(通过内置Mozilla JavaScript Rhino引擎实现)、提供编译API和微型HTTP服务器API等。JVM的改进:锁与同步、类加载等方面的算法做了相当多的改进。
2006年11月13日,Sun在JavaOne大会上宣布最终将Java开源。
2009年2月19日,工程代号为Dolphin(海豚)的JDK 1.7完成了其第一个里程碑版本。根据JDK 1.7的功能规划,一共设置了10个里程碑。最后一个里程碑版本原计划于2010年9月9日结束,但由于各种原因,JDK1.7最终无法按计划完成。

到目前为止,JDK 1.7已经发布了9个Update版本,最新的Java SE 7 Update 9于2012年10月16日发布。从Java SE 7 Update 4起,Oracle开始支持Mac OS X操作系统,并在Update 6中达到完全支持的程度,同时,在Update 6中还对ARM指令集架构提供了支持。至此,官方提供的JDK可以运行于Windows(不含Windows 9x)、Linux、Solaris和Mac OS平台上,支持ARM、x86、x64和Sparc指令集架构类型。

2009年4月20日Oracle公司以74亿美元的价格收购Sun公司。
2014年3月18日,Oracle正式发布JDK1.8(Java 8),开始支持函数式编程(Lambda表达式)、新JavaScript引擎、新日期API、新Streams API、默认方法(接口中有一个实现方法)、新编译工具、Date Time API加强对时间的处理、Optional类用来解决空指针异常。
2017年9月22日,Oracle正式发布Java 9,新特性:引入模块系统、RERL(JShell)交互式编程、HTTP2客户端、改进的JavaDoc、多版本兼容Jar包、私有接口方法、进程API、改进的Stream API、改进try-with-resource、改进的弃用注解@Deprecated、改进的钻石操作符(Diamond Operator)、改进 Optional 类、多分辨率图像 API、改进的 CompletableFuture API、轻量级的 JSON API、响应式流(Reactive Streams) API 
2018年3月20日,Java10正式发布。新特性:局部变量的类型推断(类似于JavaScript的var,弱类型)、应用类数据共享(CDS)、额外的 Unicode 语言标签扩展、基于时间的版本控制、根证书、并行全垃圾回收器 G1、移除 Native-Header 自动生成工具、垃圾回收器接口、线程-局部变量管控、在备用存储装置上的堆分配、试验性的基于 Java 的 JIT 编译器、合并 JDK 多个代码仓库到一个单独的储存库中

源:《深入理解Java虚拟机》 一书中摘抄与总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值