00:00
那接下来呢,我们可以快速的回顾一下在JDK1023之前,诶,我们从1.01直到JDK11诶各个版本及其主要特性,那在九六年的时候呢,是正式推出了JDK1.0的版本,这呢属于初代版本,具有一个里程碑式的意义,诶只不过这个时候呢,我们Java生成的C版文件呢,还需要进行纯解示运行,还需要使用外挂的叫即时编译器,所以呢,性能来讲稍微的是要差一些,那么在九七年的时候呢,推出的叫JDK1.1的这个版本,这时候呢,我们引入了叫JDBC啊,使用了一套通用的接口,实现对数据库的通用操作,包括反射的引入,包括呢远程方法调用啊等等,那九八年的话话呢,是推出了JDK的1.2,那在JDK1.2的时候呢,对集合框架呢,进行了梳理,呃,就像大家之前学习到的collection啊,Map等等这些接口呢,以及主要实现类都是在我们这些1.2的时候呢引入的啊这个时候呢,我们引入了叫其时编译器,呃,可以使得我们在解示运行程序。
01:01
的时候呢,呃,速度呢更加的快速,OK,那么也是在这个1.2这个版本当中,S呢发布了GSP和sol,以及呢EJB的一些规范,这时候呢把Java呢整个梳理成了三个方向,叫g two e g two SE和g two me,分别呢是在企业级后端服务器方面,桌面级和移动端啊三大领域呢,去这个显示Java的一些具体应用啊,也能够看到呢三公司的一些雄心啊,当然目前来看的话呢,Java主要的市场呢,是在这个企业企业端啊,后台服务器方面,以及呢这个移动端呢,现在不是g two密了,而是呢安卓这样的主要的一个移动端的操作系统上。那JDK1.3的时候呢,是在2000年发布的啊,这时候呢,我们主要想提的一个事就是houseboard虚拟机啊,此时呢,就把house bar虚拟呢,作为我们Java的一个默认虚拟机了啊,直到今天为止,我们用的默认的虚拟机仍然是houseport。啊,这是在1.81.3的这个版本当中就做了一个确定啊,那JDK1.4是零二年推出的啊,主要新特性方面呢,有这样的一些,嗯,主要提到的话呢,或者比较有代表性的就是断言啊,那么也是在这个时候呢,古老的classic虚拟机呢,推出了历史舞台,那一年后呢,Java平台呢,这个skyla语言啊正式发布,同年呢,Gro呢也加入了Java阵营当中,这时候呢,才凸显了Java整个生态的一个强大生命力,相当呢有了一些其他语言的支持。
02:30
那么在JAVA5当中是零四年推出的这个版本呢,大家并不陌生啊,为什么这么讲呢?诶,现在咱们使用的很多新特性其实都是基于JAVA5的啊,也就是说呢,在整个Java的这些版本更新的历史当中呢,JAVA5是一个具有里程碑式的一个版本啊,像我们提到这个innu关键字,像我们用到的泛型啊,包装类和基本数据类型的自动装箱拆箱这个注解的使用,包括呢,增强for循环这个可变型参import static哎等等这些呢,都是来源于我们JAVA5。
03:04
也就说大家现在在企业当中,如果你使用的是JAVA4啊或四之前的,呃,这个呢,想鄙视你都呃无力了啊,或者说大家你现在要找工作,呃,问了一下说这个项目经理说咱们现在公司用的Java版本是什么?如果他提到的是五之前的,那你可以转头走人啊,因为实在是太老了啊。呃,这里边还提到一个instrumentation啊instrumentation嗯,这个呢是开发者可以使用instrumentation呢,构建一个独立于应用程序的代理程序。啊,用来呢,来监测和协助运行在GM上的这个程序啊是这样的,那也在同年呢,由于这个J这个JDK呃1.5,那之前呢,我们都叫这个一点几啊呃变化比较大,所以同年呢,把它也做了一个更名啊,更名为5.0,所以后续的话,你会发现我们呃都开始叫呃六啊七啊等等这样的一些数值了啊也就是说你在企业当中,比如说你的一个朋友,呃,他在公司当中,你问了问,说你们JDK用什么呢?说我们JDK呢用的1.8啊,你说哎呀,那你们用的太老了,因为我们用的呢是7.0,一看呢差着好多数,但其实呢,你知道7.0其实就相当于是1.7,诶其实呢,你没有人家用的心啊,是这样的啊,这个别出这样的笑话就可以了,那在零六年的时候呢,推出了叫张二六。
04:25
JAVA6啊,这个里边呢,我们主要想提的还是下边一些事情啊,同年Java呢开源并建立了叫open jdk。啊,Open jdk相当于把JDK呢提供了一个对应的开源版本,那顺理成章的house bar呢,也成为了open jdk的一个默认的虚拟机,那在零七年,也就是说06年一年后,呃,Java平台呢,又迎来了一个新的小伙伴啊叫呃CR这个呢,也是使用GVM作为它的一个解释,运行的一个环境,嗯,那么在零八年的时候呢,这个金融危机,Oracle呢收购了BA公司,那比较主流的现在市面上的这个扎va虚拟机呢,应该算是有三个,一个呢是本身sun公司的叫house bos虚拟机,另外一个呢,就是BA公司呢叫g rocket的虚拟机,还有一个呢,就是IBM的叫G9虚拟机。
05:12
啊,其实能看到IBM呢,在Java这个体系当中,这个显示的挺大的一些雄心哈,但是事实上呢,目前走的可能并不是特别好啊,比如说大家之前使用的这个eclipse做Java开发的,这个肯定是都了解的啊,那呃,这个写错了eclipse,那eclipse的话呢,其实也是啊,这个IBM开发的。啊行,那么市面上现在比较主流的三个虚拟机当中两个呢,已经输入到Oracle旗下了,嗯,这个IBM呢,没有把这个G拿下啊,这个很遗憾,那这个零九年的时候呢,Twitter宣布呢,把后台大部分的程序呢,从Ruby呢迁移到这个skyla啊这呢也是对于Java平台来讲是一个大规模的应用,嗯,其实这里边呢,就给大家闲聊一句啊嗯,如果你是一个语言的一个初学者的话,或者说呢,你现在呢在学自己的语言,你想看一看它有没有前景,是不是要学习一些其他的语言,你就看一个指标,就是你看,呃,咱们现在跟美国基本上算是两个两套体系了啊呃,美国这块呢,你就要看,但是更多的呢,也要看国内,你就看国内的这些大厂他们在支持什么,那现在所谓的国内大厂呢,这个有我们传统所谓的叫BAT啊,还有呢,现在叫TMD对吧?诶这几个厂商你看他们主要支持的是什么语言,那么他们支持的这个语言,那必然呢,也是为。
06:33
未来呢,在市面上具有一定分量的语言,那么大家呢,可以去学习这里边的一些语言。啊,是这样个情况啊,比如说BAT典型的啊,为什么Java在国内生态建立的这么好,也是源于传统BAT的一个大力支持。啊包括呢,像阿里巴巴他们也推出了自己的啊淘宝虚拟机啊,也是Java虚拟机的一个变种啊属于那么头条,那头条的话呢,我们能看到就是它,呃从后台,呃以前用的Python居多,然后后台呢,现在再替换成用go语言,那你也能够看到go语言呢,呃未来是要占有一定的市场份额的啊,属于一个啊要崛起的一门语言啊等等,就大家呢,你就看国内一线厂商他们支持的语言是什么,那么这个语言呢,就一定会具有相关的一些生命力啊,你比如说像这个之前这个PPPP的话呢,一开始这个Facebook用的就是PP,但是呢,由于他的一些这个兼容性的问题,后来呢,就替换成了他这个叫呃汉NK这门语言。
07:29
啊,所以说不是特别支持他了,那这个PP这个也就是需求量呢,就急转直下了啊,属于这样个情况啊,那么在这个一零年的时候呢,Oracle收购了这个三公司啊,这个很顺其自然的,他就获取了最具价值的叫house虚拟机,那现在的话,他要把这个GI跟HOUSE2个虚拟机呢,要整合在一起啊属于这样,那么在扎va器当中啊,是2011年推出的啊,这里提到一个叫钻石型的一个语法啊,钻石型的个语法一呢,在一个语块当中捕获多种异常啊,这呢算是两个主要的特性啊,包括呢,这个NIO在JDK4的时候呢引入了,那JDK7的时候呢,又引入了新的一些啊NIO方面的一些这个API啊。
08:09
那在1.7的时候呢,正式启用了新的叫垃圾回收器,叫G1啊,咱们叫G,其实准确说那个叫啊g first啊,就是垃圾回收优先啊,支持呢60系统的一个压缩指针啊,这呢是我们这个1.7当中提到了一个G的虚拟机,这也是我们目前啊使用的最主流的一个R圾回收器啊,叫g first,那扎巴扎巴的话,应该算是我们历代版本除了五之外的第二个具有里程碑式的一个版本,这里呢提到了两个主要的特性,一个呢叫做拉姆达表达式,这呢具体细节就不多讲了,再一个呢,就叫做string vpi,当然除此之外呢,提到了像接口当中的默认方法啊这个呃,静态方法啊,这个还包括呢,这个基于拉姆达表达式的这个方法,引用新的日期时间API,包括呢,针对于控制帧问题解决的叫optional类啊等等,诶这呢都是扎JAVA8当中的一些新特性,嗯,也是非常重要的一个啊,里程碑式的一个版本,诶大家如果想学习JAVA8新特性的话呢。
09:10
我这附了一个链接啊,你可以点开这个链接,这呢就是商务五之前录制的JAVA8的这个新特性,好,那JAVA9的话呢,啊,也有很多的新特性哈,主要呢,其实想提两个,一个呢叫做模块化系统啊,另外一个呢,叫做g shell,相当于我们在命令行可以直接来编写Java代码进行运行了啊,用不着呢,先这个写一个Java源文件,先编译后运行就非常重啊,可以直接呢进行交互式啊,那当然还有其他的一些特性啊,包括集合当中的一些呃,新添加的方法啊,结果中的私有方法啊等等,诶这个呢就诶不过多的去说了,那张阿九的这个新特性,大家如果想观看的话呢,也可以点这个链接啊,进入到张VA9这个新特性的一个学习啊,那张VA10的话呢,是在18年八月份,呃,三月份推出的,嗯,主要的新特性呢,就提一个叫做war啊,局部变量的一个类型推断。
10:00
那局部变量,我们在声明这个变量类型的时候呢,不需要再指明明确的一个类型了,可以用腕呢去替代,其实是一个类型推断啊。好,这是这个JAVA10,那JAVA11呢,是在一八年的九月份推出的,这也是我们Java机,呃,JAVA8之后的,呃,第一个叫LTS就长期支持的版本啊,一会呢,我们还会提这样一个概念,呃,那在JAVA11当中,其实从这个语法层面啊,对于咱们主要程序员来讲,其实大家更关心的是呃,增添了哪些新的API,语法上呢,有哪些变化,诶我们主要关心的是这个,那么在Java实一当中呢,其实可能会让你失望啊,诶或者说你你感觉兴奋也有道理,就是你不需要去学习更多的新的API了哈,或者新的一些语法规则,那在JAVA11当中,其实主要提到两个事,就是关于虚拟机的一个变化,提到了一个新的叫ex虚拟机,呃,不是虚拟机了,垃圾回收器啊,这个提到了一个叫exce呢,Garbage garbage collector啊,Exce的一个垃圾回收器,另外呢,提到一个叫ZJC。
11:01
ZJC呢,这个呢也是一个比较重要级的一个垃圾回收器了,我们现在主流用的呢,其实都是g first,但是这个ZJC呢,我们看到在后续的嗯,这个Java新的版本当中,对它呢也在进行不断的优化,那么未来呢,它是具有一定的这个使用场景的啊,ZJC呢,它是一个可伸缩的叫低延迟的一个垃圾回收器。啊OK,这个我们后续呢还会介绍啊,包括我们讲到JAVA1023的新特性当中还会再提到它,那么关于JAVA11的这个新特性呢,大家可以去看这个链接啊,进行一个学习就可以了,好,这呢是我们对Java的各个版本进行的一些介绍啊,大家关注其中的一些主要新特性,主要的一些历史事件啊就可以了。
我来说两句