00:00
好,那接下来呢,我们就开始来讲这样的一些新特性,那首先呢,我们就开始说这个酒的新特性,哎,刚才也提了一些这样的基本的点,那我们就先来始说这个酒啊,今天呢,我们讲这个新特性呢,呃,是哪个版本的,我们就尽可能的给它还原到哪个版本里边,虽然说在11当中也能够用九的,那既然是九的,我们就讲九的,那先就看这个JDK9,说JDK9或者叫JAVA9,提供了超过150项新的这个功能,那备受期待的叫模块化系统,可交互式的re PL工具,G shell啊,JDK的一个编译工具等等等等等啊,可以说JAVA9是一个庞大的系统工程,完全做了一个整体改变,应该说呢,在这个九当中啊,确实做了很多事儿,不能白跳票啊。呃,他这个之前呢,想做很多的改变,尤其是这个模化系统非趁,但是呢,这个之所以来回调票,就是因为模块化系统啊,超出他的一开始的工作量的一个预估了啊,觉得这个时间OK,但实际上这个是一个很系统的一个大的工程啊,花的时间呢,有点超出这个预计的这个时间了,所以呢,持续的跳票啊,那么每一个版本呢,基本上都会说是一个大的改变是吧。
01:07
嗯,那这个当然九这块呢,说改变也是有道理的,只不过呢,呃,他这个改变呢,相当于把这个功劳呢,回头都改成11了。呃,11的话呢,说是长期支持,其实呢很多,11里边这个相较于八的啊,相较八是一个长期支持,后边呢,大家要切换,直接就换成11了,11里边这些变化其实很多都是九里的。啊,都是酒里的,只不过酒呢,不是一个长期支持的版本,所以大家没有装它而已啊。行,那我们主要关注哪些新特性呢?九里边呢,比较重要的两个特性,咱八呢说过叫拉曼表达式和死人vpi,那么九的话呢,我们要说就是叫模块化系统和g shell的命令,这两个呢是比较重要的,或者说一说到酒的话呢,主要两个变化就是它,那这个绿色的这块呢,想说的就是语法层面的一些改变,我们看到在接口中还可以定义私有方法,诶钻石操作符就是我们的这个泛型。
02:02
长得跟个钻石一样。他就要算式操作符了啊,DIA operator啊,这个人家英文就这样叫,那关于这个TRY这个语句的一个改变,异常处理方面的啊,然后这呢是语法层面的改变,然后下边这块呢,黄色的呢,是关于API层面的改变。啊,这个string的存储结构啊,我们说了底层呢,变了不是差型数组了,变成BA数组,这个呢,你可以拿出去当一个残谈资去说了,是吧,那说呢,String底层是差值速度,你说不对。或者说不完全对是吧?啊,九就变了,你没有看源码嘛,是吧?啊对,这就是一个大的改变啊,那另外呢,关于这个集合恶物方法增强的string API,通过这儿呢,你也能看到它在原有的基础上呢,还在不断的去更新迭代,说明这个东西呢是要被重视的啊,然后全新的HTTP客户端,这个呢,咱们讲网络编程的时候呢,叫http URL connection,如果你还有印象的话啊,那现在的话呢,真正开发中呢,就不喜欢去用http ul connection了,他要用HTTP啊,就是有一个新的联网的方式的实现,当然这个呢,九中提供了http client,实际当中呢还叫http client,但是这个包名变了。
03:22
那具体这些细节呢,有调整啊,后边呢,还涉及到一个关于叫depar的一些相关API,这呢是API层面的一些变化,那其他的这些呢,我们就顺带着说一下就可以了啊,在这个九的版本当中,对我们八中提到的这个呃解析这个GS的这个引擎叫nice号又进行了一个升级啊,这个九中升级了,让我们感觉呢,这个呃引擎或者这个呢,还是被重视的,但是很遗憾在11当中呢,把它给干掉了。就是又失宠了就啊行,那我们就按照这个顺序呢,往下呢走一走,呃,这呢提到一些官方的关于九这个版本的新特性的列表,呃,Open的JDK就是我们可以看到一些源码这些特性的啊呃,另外呢,关于在线的这个JAVA9的这个文档啊,大家呢,如果你要学习可以直接呢CTRLC。
04:09
哎,这块呢,CTRLV一下一回车,哎这呢就是九的这个官方文档,哎,What's new有哪些新的东西呢?哎下面呢有所罗列,哎然后呢,具体这个点你可以再点开去看是吧,那八成呢,你是不是也不愿意这样看,对啊,这个陷进去的话还是很难跳出来,我们这块呢,对于咱们程序员来讲呢,咱主要关注的就是一些在我们呃写代码层面都有哪些变化,嗯,看觉我都已经标识出来了,像这个关于这个垃圾收集器的一些优化呀等等啊那个就更底层了。啊,那个咱们暂时呢,可以就先不考虑啊,以后呢,咱们有机会了再慢慢的讲这个这个垃圾回收器用的什么算法啊,为什么他要进行一些优化,优化成什么样子了,那就更深的一些东西了啊咱们这呢,更多的还是在这个API的使用层面。好,首先的话呢,提到第一个改变,叫JDK和j re的这个目录结构的一个改变。啊,这呢是咱们JDK8,包括之前的版本呢,也都是这样的一个结构啊举个例子啊,咱们呢,以前刚开始装JDK的时候呢,装的是八,装完这个八以后呢,咱们很自然的就会打开八的这样一个目录,结构长得是这个样子的啊,而且呢,相对来讲我们也会比较熟悉一些,像这个B下面呢,提供的就是我们一些啊这个开发工具啊,像我们最熟悉的。
05:23
java.exe哎,Java c.exe Java do。Java do这是吧,点exe这样的一些这个指令啊,都在这里边,嗯,然后呢,还有其他的一个跟Java DB相关的啊,Include这块呢,提到了我们要调用这个C或C加加的一些这个头文件,比如说像这个ji Java native interface啊,Java本地的一些接口就涉及到调用底层这个C,诶或者这个C加加了啊,这样一些这个头文件啊,啊GRE整个这个运营式环境。啊,这这里边啊,像这个lib啊,这里边又听了很多这个炸文件啊,像这个RT点炸RT呢叫runtime。
06:05
运行时的一个jar文件啊,这个炸文件里边呢,其实就包含了咱们整个呢,呃,在运行的时候呢,用到的那些啊类库啊,咱们用到的比如object啊,String啊,这个JA里边都在这儿呢啊,这个这里边呢,存在都是一些点class解码文件啊就啊。行,然后这里边当然还有这个lib啊,相应的一些这个属性文件啊等等这样的情况啊啊然后呢,呃,Lib啊src这整个的话都是我们说的是哎JDK8JK8之前的版本,这个目录结构跟它是一样的,但是在我们这个九当中就变了啊这呢是我装的九,你看打开以后明显变了。九变了,那后边十呢,十呢,你看一下,十跟九是一样的。那11呢,11跟这个九也是一样的,那说白了就是以后呢,就都这样了啊,就变了啊,就变成一种新的这种这个目录结构了,哎八呢,我这列举出来,咱们刚才说的这样的一些结构,主要是干有什么啊,然后呢,这个哎九十十一那基本上你可以预见后边呢也都会变,它变成这样的一个体系了,这里边的话呢,不像之前还专门再提供一个GRE,这个你大家看以后没有GRE了。
07:18
把这GRE这个结构呢,给它打散分开了啊,这个B目录你看一眼,咱们以十一十一就11啊,反正九十十一都一样啊,B里边呢,他把这个有一个动态链接库哈,点DL这个文件,其实这个原来呢是在我们这儿的。比如酒。嗯,九诶这不能看九了,看八的啊,看这个八里边,嗯,这个GRE lib。嗯,它不在这个力里了。在这是吧,这里边呢,是我们这个动态链接库这个D这个文件drre呢,不是给干掉了吗?所以在我们这个后续的这个版本当中,直接就放到这个病例了。然后呢,在后边的这些这个java.e啊,Java c.e啊,还在这个目录当中,所以你配环境变量呢,不受影响啊,你要是Java home的方式呢,就还是把这个结构拿过去配的呢,还是这个B的这个实体的它的这个结构啊,哎,Con,这是一些相关的配置了啊,这个include啊,包含相当一些这个还是刚才提到的也是这个ji啊,然后呢,这个其他的这个是一些这个法律上的一些声明啊,吏部呢,还是相那一些这个JA文件,咱们想用的源文件就是这个源码。
08:28
原来呢,这不直接放在JDK下了,它在这呢,现在哎,如果你想在我们这个eclipse或者idea当中想看源码,原来的时候呢,你这不直接在我们这个八里边,这就是。现在呢变了,现在你要找的话呢,哎,你得去这个叫哎lib下边去找。在这儿呢啊。九十十一啊都在这儿,这是我们说的这个目录结构的一个改变啊,这是这样的一个事情啊。行,这先停一下。
我来说两句