00:00
下面我们来看JAVA11的官方更新列表啊,有17个GDPGDP,我们刚才讲了JP就是JDK的一个,哎,增强题意,增强题意,那么这个增强题意有17个,哎,17个编号越靠前越是早提出来的,哎越晚呢,越大呢,还是越晚提出来的,那么这个181,我们来看它是n based access control,它是基于嵌套的一个访问控制,这个编号比较靠前了,也就是他意味着什么啊,这是很早就提出来的一个,一直没有实现,那么在JDK11当中,哎,它终于实现了,哎,他终于实现了,那么这个基于嵌套的一个访问控制,哎,访问控制,那么对访问控制进一步的细化。
01:00
来进一步的细化,好,那么第二个309DYNAMIC class file constants,好,那么这是一个什么东西啊,这是一个常量,诶什么常量呢?类文件的一个标识啊,新加了一个,新加了一个动态的一个,这个常量池当中的一个啊,动态的一个类型啊,一个类型,那么我们说这个类型不是我们Java当中的这个数据类型,而是Java的类文件里面的一个描述符啊描述符,那么这个需要我们对类文件的结构啊非常熟悉的情况下啊,我们再去理解它,当然目前诶了解一下就可以了啊,这是类文件它的一个新加的一个东西,诶对于类文件新加的一个东西,对于我们之前有影响吗?哎,是没有影响的,好,那么315它改进了这种架构的一个,哎,执行的一个效率。那么这个。
02:00
的AR64,这是个什么东西啊,诶,这是一个平台,那么它是基于ARM的IGARM的,那么我们说Java Java程序在这个平台上面,它的执行的效率,诶improve是不是改进了,哎,速度更快更好,诶更快和更好那么相同类似的道理,其实就是啊,我们的JDK11在这个docker这样的容器当中,它的执行呢,啊也在。变快,所以我们说这个JDK的越来越发越来越来越更新,那么它的执行速度也是在更新,也是在变快的啊,不仅其实体现在某一些个特定的特定场景当中,那么它的呃,普遍的一些个应用场景当中,它的速度也是在提升的,不断提升啊,不断提升,好那么这是他在这个平台上面,诶,它的可它的一个改进,它的一个增强,好JEP318EP con appyon,哎,注意这是什么东西啊,这是个GC啊,刚才我们特别重点的聊了一下ZGC,那么这个FCZGC呢,啊是另外一个GC,那么这是个什么GC呀,哎,No op。
03:19
诶,No什么意思呢?哎,没有任何没有任何的操作,也就是说这个垃圾收集器它并不会。干什么?他并不会做真正的垃圾回收,但是你创建对象是没有问题的,诶那么这个垃圾收集器有什么生产意义吗?哎,都注意没有生产意义,它仅仅是用于哎实验或者是测试啊,测试虽然是作为测试或实验,它也是非常的重要的,因为这个是一个没有真正的收集垃圾的。GC,那么它就可以对我们的程序本身的逻辑是不是有一个很非常好的一个问题的一个发掘啊,如果我们的程序,那么在使用这个垃圾收集器的时候,诶,我们的内存一直是保持稳定的,那么我们的程序就没有问题啊,哎,所以它对于我们的呃是研究是非常有帮助的,找着找着我们程序当中的隐藏的bug是有很很有帮助的,比如哪个地方有内存泄露,诶我们就可以通过它来去。
04:26
找出来,大家找出来发现至少能够发现问题,那么这个FCGC,它其实也不完全算是一个新的东西,因为我们在之前的版本当中可以通过一个选项,哎,可以把这个GC的动作给它禁掉,哎禁掉只不过用FC了呢,它更方便你直接使用这个作为GC就OK啊,直接把它作为GC就OK,好那么这是一个改进啊,那当然我们说这个APPC垃圾收集器,它仍然现在还是啊实验实验性质的,实验目的的,那么生产环境当中啊,生产环境当中不可能用它啊,那么这是这个第一个GC啊,然后呢,第二个,诶,我们它删除了,移除了Java EE和kaba模块,那么这个移除为什么要移除呢?哎,显然是用处不大了呗,用处不大了,然后呢,有一些啊累赘,哎,就把它去掉了,哎,注意这这个地方用的是。
05:26
不删除了,也就是说他你现在想用在Java实习当中,想用这些能用吗?不能了啊,那么在Java显然我们说他要真正的去删除的时候之前,它在之前一定是在JAVA9或十当中,哎,就加上那个注解at deepreated,哎注意它一定要之前预告一下啊,预告一下depreated。哎,这个注解就是过时了,不建议大家使用废弃塔,哎,而在JAVA11当中,这两个模块就真的被移除了,所以我们的程序如果依赖这两个模块怎么办呢?呃,那我们就不能用加VA11了吗?哎,是可以的,我们把之前的GDK当中这两个模块,诶单拿出来是不是就OK了?哎,单拿出来就OK诶,当然我们说真正真正用到的场景肯定是不会很多,否则的话,呃,Oracle不会把它去掉啊,不会把它去掉,好,那么这是去掉了一个,哎,去掉了两个模块,好321。
06:31
HTTP的客户端,刚才我们在呃简介的时候呢,就提到了这个客户端现在变成了标准的什么API,并且使用流式的操作,哎流式操作,那么这个A使用原生的API,我们就可以完成客户端,那么我们就不需要再依赖第三方的一些个炸,不需要依赖第三方的一些个呃API了,那么这样的话,使得它的这个集成度啊,诶效率啊都是很好的,哎都是很好的好,然后呢,323这个GP,这个GP当中特别提到了是局部变量的一个,哎语法for luda parameters。
07:16
哎,专门为了局部变量而增强了一个哎语法,哎拉姆达表达式的一个参数,当然我们说这个它不仅是可以用在拉姆DA当中,我们也可以用在普通的变量当中,哎普通变量当中,那么它的核心就是什么?哎,就是使用哇作为关键字,哎来声明一个变量,哎比如vaa被复制为十,哎那么之前这是不可能这样写的,哎我们说这个写法在javascript当中是啊原生的支持的,那么在Java当中呢?啊也改进了,呃,向他学习,当然我们说在Java当中,他有没有说这个A类型是哇类型啊,不是,哎注意这是个语法的一个调整,要语法调整,我们说Java仍然是什么强类型语言,强类型就保证了效率,哎保证效率和它的确定性。
08:16
准确性好,那么这是一个语法上面的改进,诶我们后面会啊研究它的细节,好然后呢,324324,就是诶两个加密算法来加进来,好,然后327 unicode10 unicode10 unicode10是这个比较新的一个版本,那么unicode,我们说unicode制定和我们JA Java是两回事,Unicode是这个标准,也会在制定这个编码的时候,那么啊不断的在改进,不断在改进,不断的收集更多的字符啊,更多的字符,诶我们就发现更新这个苹果的时候,他特别提提醒我们,诶更新了又添加,添加了一个什么哪些个字符表情啊,哎,那么我说在之前的unicode当中是这些是没有的,哎,那么在比较新的版本的里面,这些个各种表情,诶,它也加进来了,那么就可以很方便的使用它,很方便的使用它,那么这。
09:16
这个我们JAVA11也跟上时代的潮流,支持UNI的十支持UN10,但九和八更也是支持的,哎,所以我们发现Java不断的在来兼容最新的技术和标准,328FLIGHT recorder就是飞行记录仪,它可以用来记录虚拟机的内部运作细节,对于我们分析来分析程序是很有帮助的,哎,后面我们讲细节,然后呢,SR9是两个加密算法,诶两个加密算法好330呢是一个非常有意思的更新,那么它是单文件源程序,单文件的一个源程序可以直接执行launch,诶就是执行,诶可以直接执行,那么这对于我们之前来说呢,是这个感觉,感觉不太现实的,现在呢,它变成现实,也就是说一个源程序可以直接运。
10:16
可以直接运行,它特别像什么?给人感觉特别像。像什么解释型的代码,诶不需要编译,哎,不需要编译好,那么后面的那更多的细节我们在后面展开讲,诶也就是他给我们提供了一个执行程序的更另外一种更简便的途径,好然后331就是一个低成本的堆分析来堆分析,那么这个低成本的堆分析对于我们对于进行这个大大型的应用是非常有帮助的,哎,非常有帮助的。好还有就是332也是一个安全方面的更新,安全方面的更新我们是一直是非常重视的,哎非常重视的,那么光安全的更新,其实我们就看到有几个啊,啊有三处啊,有三处啊,那么可见这安全很重要,好那么3GP333,哎需要大家重点来了解一下ZGC,它是一个什么啊,Low latency。
11:19
Low是什么?低延迟哎,我们刚才看那个图对比的时候就会发现太逆天了,哎,所以我们说ZGC可以说在是JAVA11当中。最令人瞩目的一个更新,哎,好,最后两个是移除的啊,当然是也还没有完全移除,是废弃了,将来的版本当中要把它移除,335346,一个是这个na javascript引擎,哎,这个原来我们是直接支持在Java当中去运行这个javascript脚本,现在呢,哎,我们不这么做了,诶不这么做怎么办呢?哎,我们建议来迁移到另外一个平台上去啊,那么最后一个PACK200,哎PACKC200是一个压缩工具啊,压缩工具,那么这个压缩工具呢,也弃用了,哎将来也要真的去移除,所以我们任何基于这两个功能的代码都要考虑,哎都要考虑了,都要考虑它,这个将来要废弃啊,要废弃好,那么为什么要废弃啊,那显然是啊,臃肿不值得保留啊,不值得保留好,那么这是我们说这个官方的一个更新列表。
12:32
简单的给大家介绍,下面我们就进入诶细节,每一个每一个GP我们都来去学习和分析它。
我来说两句