• 我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:Java及JVM历史上的重大事件


    在这一讲,我会给大家介绍一下Java在发展过程当中的一些重大事件。我想这对于那些已经做过开发的小伙伴来说,其中的一些重大事件相信也是比较熟悉了,不过再重温一遍Java发展过程当中跟JVM相关的一些重大事件也未尝不可,至于那些不了解的童鞋,那就更要谦虚好学了。

    Java发展的重大事件

    下面,我就来给大家详细介绍一下Java在发展过程当中的一些重大事件。

    1990年,在Sun计算机公司中,由Patrick Naughton、Mikesheridan及James Gosling领导的小组Green Team,开发出了一门新的程序语言,并命名为Oak,只不过后期又命名为了Java。

    以上就是Java语言的由来,而且由于James Gosling(中文翻译过来叫詹姆斯·高斯林)是作为Green Team这个团队的领导者出现的,所以后来我们又称呼他为Java语言之父。

    1995年,Sun正式发布了Java和HotJava产品,这也是Java首次公开亮相,这一年也可以认为是Java语言起始的元年。

    1996年1月23日,Sun Microsystems发布了JDK 1.0。

    1998年,JDK 1.2版本发布。同时,Sun发布了JSP/Servlet、EJB规范,以及将Java分成了J2EE、J2SE和J2ME,这表明了Java开始向企业级应用、桌面应用和移动设备应用3大领域挺进。

    像我进大学的时候,老爸老妈给我买的第一个手机就是诺基亚那款的,我还记得型号是X3,遗憾的是后来在食堂吃饭的时候给弄丢了,导致我心疼了好久。诺基亚 X3这款手机它里面安装的游戏,其实都是后缀为.java的文件,打开以后,看到的第一个画面就是一杯咖啡,即典型的Java图标。我想这对于90后的小伙伴来说,应该还是比较有共鸣的,95/00后可能就不知道我在说什么了,因为大家现在使用的都是安卓或者IOS系统的手机,几乎再也不见诺基亚手机的踪影了。

    我说了这么多,其实就是想说,Java在移动设备应用领域基本上是已经没有什么市场份额了,当然,不排除还有一些小型设备还在继续苟且。

    2000年,JDK 1.3版本发布。同时,Java HotSpot Virtual Machine也正式发布,并成为了Java的默认虚拟机。

    从这个时候开始,基本上差不多就是以每两年这样一个周期来发布一个新的JDK版本了。从上面也能看到,就是在这一年正式发布了HotSpot虚拟机,而且它还成为了Java的默认虚拟机,直到现在,Java使用的虚拟机仍然还是HotSpot虚拟机,名字依旧没有变,只不过今天的HotSpot虚拟机已经今非昔比,不同于往年了,因为它在很多方面都做了大量的迭代更新。

    2002年,JDK 1.4版本发布,古老的Classic虚拟机退出历史舞台。大家注意了,这个Classic虚拟机也是JDK最初提供的虚拟机。

    此外,在这一年,还发生了一件比较重大的事件,就是微软.NET平台的发布。其实,无论是从技术实践上还是从目标用户上来看,.NET都跟Java有着很大的相似之处,包括到现在,两者依旧还处在竞争的状态中。

    2003年年底,Java平台的Scala正式发布,同年Groovy也加入了Java阵营。很明显,这就是由于JVM的跨语言的平台的这个特征而导致的其他语言的一个加入。

    2004年,JDK 1.5版本发布。同时,Sun也做了一些命名上的修改,由于Sun发布的这个JDK版本加入进来了很多新的特性,所以它也被大家公认为是Java平台发展史上的又一里程碑,为了表明该版本的重要性,在2004年的JavaOne大会之后,版本由原来定位的1.5直接升为了5.0,并对外宣布成是了JavaSE 5.0。

    之前JDK版本发布的时候,我们都是习惯叫什么JDK 1.3或者JDK 1.4,但是从此刻开始,我们就再也不用像这么叫了,而是改叫JDK 5就行了,就像目前JDK最新的版本我们可以称为JDK 18一样,而要是按照原来的命名方式,那我们就得应该叫JDK 1.18了。

    Sun除了做了以上命名上的修改之外,还将J2EE、J2SE和J2ME相应地改名为了JavaEE、JavaSE和JavaME。

    其实,从上面也能看到,大家现在在公司中安装JDK的话,最起码最起码也不能安装JDK 1.5之前的版本了,要安装也是要安装JDK 1.5之后的版本,例如JDK 6,因为不排除市面上还有些公司依旧在用这个版本,此外,还有一个原因就是大量的新特性都是在JDK 1.5这个版本中加入进来的。

    2006年,JDK 6发布。同年,Java开源并建立了OpenJDK。顺理成章,HotSpot虚拟机也成为了OpenJDK中的默认虚拟机。

    大家要注意,就是在这一年Java基于GPL协议进行了一个开源,即建立了OpenJDK,也就是说这时候Sun其实是有两个产品的,一个是SunJDK,一个是OpenJDK,而且Sun发布的这两个产品,即SunJDK和OpenJDK,二者除了代码文件头部的版权、注释不同之外,其余基本上是没有任何区别的。

    2007年,Java平台迎来了新伙伴Clojure。注意,Clojure也是一门新的语言,而且它依旧使用JVM作为它的一个解释运行的平台。

    2008年,Oracle收购了BEA,得到了JRockit虚拟机。

    目前的话呢,市面上有三大主流虚拟机,HotSpot虚拟机就是其中之一,除此之外,JRockit虚拟机也是其中之一,最后一个就是后面我们待会要提到J9虚拟机。

    2009年,Twitter宣布把后台大部分程序从Ruby迁移到Scala,这是Java平台的又一次大规模应用。

    2010年,这一年发生了一件比较重大的事件,由于前一两年美国发生了严重的经济危机,再加上Sun公司经营不善,于是Oracle便收购了Sun,顺理成章地,Oracle就获得了Java商标和最具价值的HotSpot虚拟机。此时,Oracle拥有市场占用率最高的两款虚拟机,即HotSpot和JRockit,并计划在未来对它们进行整合,以整合成HotRockit。

  • 相关阅读:
    北大肖臻老师《区块链技术与应用》系列课程学习笔记[11]以太坊-概述
    PX4模块设计之十二:High Resolution Timer设计
    读书笔记:《指标陷阱》
    【04】基础知识:React组件实例三大核心属性 - state
    pyarrow 实现hdfs和本地文件传输
    linux创建用户和组、授权、禁止root远程登录、限制SSH的IP登录
    Docker 环境搭建 (centeros)
    为什么感觉中国人月薪过万已经很普遍了?
    Java——JDBC(Java DataBase Connectivity)数据库连接技术
    分享一个由systemd管理tomcat的tomcat.service文件的编写
  • 原文地址:https://blog.csdn.net/yerenyuan_pku/article/details/125918359