00:00
那下边呢,我们来看一下Java在发展过程当中的几个重大事件,那作为已经开发的小伙伴呢,可能对这里边的一些事件呢,也是比较熟悉的,那这里吧,我们把这个跟GVM相关的一些内容,包括一些重大的事件呢,在做一个重温,好那九零年的时候呢,散公司啊,由这样的几个人主导开发的一个叫green的一个项目,那这个项目的话呢,开发了一门新的语言,那命名为呢叫oak,后来呢,改名为叫Java语言,那在这里边我们看到了叫詹姆斯高斯林,他呢是作为这个团队的一个领导者出现的啊,也后来呢,号称为叫Java语言之父啊,是高斯林,那九五年的时候呢,S公司正式的发布了Java和hot Java这个产品,这呢,我们也可以认为是Java语言的一个起始的元年,嗯,就是九五年开始,那九六年的一月份呢,发布了JDK的1.0的版本啊这样,然后九八年的时候发布的是JDK1.2的版本,同时呢,在we部方面呢,发布了像。
01:00
SPSOEGB规范啊,以及呢,把Java呢,划分成了三个具体的领域,应用的领域,G two EE在企业级方面应用,G two I SE在桌面级应用,然后g two me呢,是在这个移动端啊来应用啊,像这个我大学的时候呢,买的那个诺基亚手机,这个装的那个游戏,其实它的后缀呢,都是点炸文件,然后打开以后呢,第一个画面呢,就是一杯咖啡啊,就是典型的这个Java的这个图标。啊,那说这个事的话呢,呃,八零后应该是比较有共鸣啊,九零后零零后有可能就不知道在说什么了,因为现在大家使用的都是安卓或者iOS这样的平台的,相当于在g two me方面的三公司,现在就是移动端这块啊,已经是呃,基本上没有这个市场了啊,当然了还有一些小型设备啊,这个咱们就不多说了,这个2000年的时候呢,JDK是发布的1.3,嗯,1.3这个版本,基本上我们看到差不多就是两年这样的一个周期哈,发布一个新的版本,那这时候呢,提到了叫hotport虚拟机,那成为成为了这个Java的一个默认虚拟机,那直到现在呢,这个Java呢,使用的虚拟机仍然是hotport虚拟机啊,但是今天的虚拟机house已经今非昔比啊,不同于往年,在很多方面都做了大量的迭代更新啊,是这样子的啊,直播过这个名字呢,没有变,这个零二年的时候呢,发布的是JDK1.4啊,古老的classic虚拟机呢,推出历史舞台,这个classic虚拟机呢也是。
02:30
嗯,这个JDK最初提供的虚拟机啊,叫classic虚拟机,退出历史舞台。这个零二年的话呢,还有一个比较大的一个事件啊,就是这个微软呢,导net这个平台呢发布那大家也会发现啊,无论是从技术实现上,还是从这个目标用户上,呃,这个都跟咱们Java呢有很大的相似之处啊,包括到现在呢,其实二者都还在竞争啊,是这样子的,呃,零三年的时候呢,年底这个Java平台呢,迎来了像skyla语言,像go语言进入了Java阵营,就是我们提到了GM呢,作为跨语言的平台啊,这个时候呢,就体现了其他语言的一个加入啊,然后这个零四年的时候发布的叫JDK1.5。
03:12
那童年的话呢,在这个时候呢,做了一个命名上的修改哈,呃,一个呢是我们前边呢,大家发现都是叫一点几一点几,那么在1.5的时候呢,改名为叫5.0,像我们现在呢,说JDK最新的版本是13.0,那其实呢,你要按照原来的命名呢,应该叫01:13这样子的,那同时的话呢,我们也不叫g two e g two s SE了,改成叫JAVA1 Java s SE,哎,是这样子的,呃,这个5.0呢,也是大家公认的是Java jdk迭代版,这个历史上呢里程碑式的一个版本,因为很多新的特性都是在5.0的时候呢加入进来的。哎,就是大家现在在公司之中,公司中你装GDK的话呢,你最起码最起码啊呃老的话呢,也不能是5.0之前的了啊,也必须得是5.0之后啊,因为大量的新特性都是在5.0的时候加入进来的啊,这样然后零六年的时候呢,是JAVA6这个发布,呃同年呢,这个Java进行了一个开源啊,它是在基于这个叫GPL这样一个协议呢,就是做了一个开源,呃建立了叫open jdk。
04:17
呃,注意这时候呢,其实是算是有两个产品啊,一个产品的话呢,是叫sun公司的,叫sun jdk,呃,另外一个产品呢,叫做open jdk,两两个产品啊,那很自然而然的呢,就house呢,也就成为了open jdk当中默认的虚拟机啊,是这样子的,这个Oracle open jdk的这个当时的这个主管说呀,就是S公司发布的这JDK和open的这个JDK说,除了在这个代码文件头的版权注释之外,说二者呢,基本上没有任何区别。啊就就这样,所以呢,我们就可以认为是Java呢,相当于是做了一个开源,诶这样啊,然后零七年的时候呢,这个Java呢,迎来了一个新的伙伴呢,叫closure啊,这也是个新的语言,使用Java呢,作为这个它的一个解释运行的平台出现,然后零八年这个Oracle呢,收购了BAA公司,得到了GE rockcket的虚拟机,啊重点呢,我们强调一下,叫做GE rockck的虚拟机,嗯。
05:14
目前的话呢,我们说市面上有三大主流的虚拟机house power呢是其中一个,那J呢,就是其中的第二个啊,第三个呢,就是我们后边一会要提的G9啊虚拟机啊,然后零九年的时候,哎,零九年的时候呢,这个Twitter把它的后台大部分程序呢,从Ruby呢迁移到了这个,诶skyla是Java平台呢,又一次大破的应用啊,了解一下,然后一零年,那这呢有一件比较重大的事件哈,前面呢是Oracle跟呃这个收购了这个g rocket,按说跟S公司Java没啥关系哈,但是紧接着在一零年的时候,这个大家知道,零九年左右美国发生了这个经济危机哈,这个一零年这个时候呢,Oracle把S公司给收购了啊,S公司经营不善,然后Oracle给他收购了,那自然而然的呢,Oracle就获得了Java的商标和最具价值的,我们说叫hotport虚拟机。
06:06
啊,那这时候呢,就意味着Oracle现在在市面上获取了使用率最高的两款虚拟机,一个呢叫houseport,一个呢叫做GE rockcket,而且呢,他说在未来呢,对他们进行一个整合,那事实上呢,也确实这样做了,嗯,在这个2014年的时候啊,我这没写这个时间,2014年的时候呢,发布的叫GDK8,其实呢,就算是整合好了,嗯,它也在内部呢起了个名字啊,叫hot rocket,就把这俩名字合一起了,嗯,但是事实上呢,两个虚拟机其实整合起来的难度很大啊,因为二者的架构呢,其实存在明显的差异啊,Houseor呢,其实能借鉴的内容呢也非常有限,所以到现在呢,我们看到这名字呢,其实呃,咱们昨天这个也带大家看过了啊。到目前为止呢,其实我们这个名字呢,仍然是称为叫这个houseport。对吧,哎,实际上呢,已经算是做过整合了啊,是这样子啊嗯,这里呢,比较这个感慨的是什么呢?这个散公司呢,其实当年市值最高的时候呢,达到2000亿美元,2000亿美元啊,但是在收购的时候只花了74亿美元。
07:15
啊,进行一个收购,那这个Oracle呢,最主要的就是把这个Java的商标呢,获取到了,但是这个Java语言本身呢,是呃,归到这个称为叫JCP啊这样一个组织进行管理。诶,这个管理谁呢?管理咱们这个,诶Java语言只不过呢,在GCP这个组织当中呢,Oracle呢,他的话语权是比较重的啊,是这样子的哈,呃,其实Oracle公司呢,非常善于这个商业化运营哈,嗯,他获取到这个Java商标以后呢,这个同时呢,他还发布了一个新的叫Java SE support啊我记得是啊呃,这样的一个计划就是计划呢把Java语言在开源的同时呢,也进行商业化运营,呃,这个很聪明哈,或者很精明,这个一一年的时候呢,是叫GDK7发布,嗯,在这个时候呢,提到了一个垃圾回收器,叫做G1,呃G1的垃圾回收器,那到目前呢,我们应该说呢,主流使用的垃圾回收器还是G1,呃最后呢,我们这个内存和垃圾回收,哎,我们也会讲到这个G1啊,呃,一七年的时候呢,是JDK9发布,那G1呢,呃,就变成了默认的垃圾回收器,来替代一个并发的垃圾回收器,叫做CM。
08:29
S啊,CMS后边我们都会讲到啊,然后童年的时候呢,IBM的G9开源,那就形成了现在的叫open g9的社区,G9呢,就是我们提到了商业化的最成功的三大虚拟机,Get houseboard和IBM的G9。啊是这样子的啊,就是他也进行了一个开源,然后一八年啊,一八年有几个比较重大的事件哈,呃,安卓的Java这个侵权案呢,有了最终的一个判决,注意这是最终的哈,因为二者呢,打了很多年的这个官司,最终呢,谷歌需要赔偿Oracle呢88亿美元。
09:04
啊,这个。大家想想当年sun公司被Oracle收购呢,才花了74亿美元哈,然后现在谷歌呢,光赔Oracle就赔了88亿,很牛是吧?这个大家都传言说这个Oracle公司的这个法务人员比开发人员还多啊,果然名不虚传哈。那同年呢,Oracle宣告JAVA1亿呢成为历史名词,呃,像GDBCGMSS等赠予呢,叫eclipse基金会进行打理。呃,这样子啊,就是,呃Oracle呢,他在Java整个产品线上这个思路非常的清晰啊,嗯,这个交给他打理了,那相对应的来的一些这个这个要求什么呢?就是eclipse呢,就是不允许再使用这个Oracle的这个商标了,就商标呢要完全归Oracle所有啊这样子,然后同年呢,是GDK11发布啊,JK11发布,嗯,JD11呢,我们说是一个长期支识的版本,嗯,在11当中呢,发布了一个革命性的垃圾回收器,呃是叫ZJC啊ZJC,这个Z呢,其实也没有特殊的含义哈,不知道他是不是想表达这个Z是26个英文字母的最后一个啊,想要说明就是它这算是一个final的JC了,是吧,说这个功能很强大啊,嗯,不知道是不是是不是这意思,这个J1的话呢,是我们所说的这个目前算使用的比较主流,这个ZGC呢,还属于一个叫实验性的,但是呢,未来肯定是G1要替换成ZJC,这个没什么疑问性,很多的实验数。
10:34
去测试呢,已经性能远超过这一了啊,所以这儿呢,我们把它呢也提一下啊呃,同时呢,它在这个呃,JDK实际当中进行了JDK的一个授权许可的一个一个一个变化哈,就以后的话呢,会会非常明确的发布两个版本,我在下个图当中也列举出来了,那个一个版本呢叫open jdk,一个呢就叫做Oracle jdk,就是以后每次发布新的版本的话呢,诶都会同时发布两个版本,而这两个版本呢,它的主要区别呢,实际上是算基于的,基于的这个协议不同啊,Open jdk呢基于的是GPL协议,这个Oracle jdk呢,基于的叫OTN的这样的一个协议啊协议不同啊,这样子,那还有一点不同呢,就是这个open jdk,咱们知道现在发布这个Java的版本的速度很快啊,每六个月呢就更新一个版本,那open jdk的话呢,它的维护期间也只有半年,那超过半年,如果呃,你要存在一些bug怎么办呢。
11:29
那你需要装一个更新的版本,比如说你13里边有些问题,半年以后呢,你就必须得去升级为JDK14啊这样子,那如果你要选择Oracle jdk的话呢,那就还要好一些,因为它会持续的更新三年。啊,那那大家可能会想,那那挺好,那我就选择Oracle jdk,那当然你选择它的代价呢,就是它是需要付费的啊,如果你商用的话呢,需要付费啊,个人使用的话呢,不用不用付费啊是这样一个特点。行,那么关于二者的区别呢,你看这也写了啊,嗯,这个在JDK11当中可以认为呢,他们二者呢,在实质上呢,是完全一样的,诶就是呢,一个更新的周期不太一样啊,其实这里边所说的叫完全一致呢,也稍微有点虚哈,因为呢,前脚奥刚说了它二者完全一致,然后在11这个版本当中就有一个区别啊,这个区别呢,就是在呃,在在这块你看提到了一个叫什么呢?叫嗯。
12:30
深都,呃,神神都啊啊,这个单词特别难念哈,它是美国的一个河哈,这个我查了查美国的一个河流,拿这个呢来做这个命名,这个呢?呃,大家说上面已经提到这ZJC了,怎么下边又跑出这么一个垃圾回收器呢?呃,这个垃圾回收器呢,它是首个非Oracle或者叫非散公司这种正统开发的一款垃圾回收器。啊,是由这个红帽公司哈,Red公司发布的,其实这款垃圾回收器呢,相较于G1来讲呢,性能有大幅度的提升,但是呢,跟ZJC比呢,呃,他们二者呢,现在都是处于实验阶段哈,嗯,这个互相竞争,当然目前来看这个ZJC呢,要稍微占领先一些,但是他们二者呢,主要是在低延迟方面呢,呃,这个目标的追求是一致的,所以说有非常强烈的这个竞争关系啊,那对于Oracle公司来讲,他肯定支持他自己的ZJC啊,那对于这个red TD公司发布的这样一款JC的话呢,希望呢要冷落他,对吧?那所以呢,在JDK11当中啊,其实呃,包括后续版本中,他就刻意的呢,在这个open jdk当中是多多了这个像red TD公司发布的这款JC,但是Oracle jdk中竟然没有,所以呢,会出现一件比较奇怪的事情,就是呃,商用的这个版本竟然比open jdk版本的内容还要少一些啊,就会出现这样一个比较。
13:57
特别的现象啊,行,那啰里啰嗦呢,刚才我们把这个,呃,Java发展过程当中几个重大事件呢,带着大家稍微回顾了一下啊,这个大家有个印象就可以了。
我来说两句