00:01
我们接着向下看。那么,下一个新特性叫什么?非意识性?映射字典缓冲区。也就是说,我们在JDK14中。啊,在GD当中,哎,我们新增了特定。特定JDK的。文件映射模式。好吧。就说我们。可以使用the fair channel。是吧,可以使用这个文件通道,哎,创建引用这个非。易实现。一直性。存储器的。存储器的字典缓冲区。叫。Map by。Buff。好吧。就是我们这个file channel,就是这个文件通道啊,它有一个方法,Map可以把文件,整个文件或者文件当中的部分字叠映射到我们的虚拟内存当中。
01:12
对不对,那么映射到我们的虚拟内存当中,它会把这块虚拟内存包装为一个字节缓冲区,是不是啊,包装一个字节缓冲区。那么在这个GDK14当中,那么他这个地方提供了一个新的映射模式啊,提供了一个新的映射模式啊。那么这个我们用的比较少,我就不做过多的。去介绍了。下面看一下这个。啊,看record。那么我们通过这个record增加增增强了这个Java,是不是变成语言就是这个record。它提供了一种。
02:00
一种什么叫紧凑的?紧凑的语法来声明类。好吧,这是什么?这是一个pre view。预览功能。好吧,它是一个preview预览功能啊,他不是正式的功能啊,就是前面这三个好吧,前面这三个啊。就说Switch。表达式还有什么空指针异常,还有这个是正式的。好吧,那后面这个什么record模式匹配文本块。对吧,还有什么外部存储器的API,这都是一些预览功能。啊,是一个预览功能啊。那么这个。
03:03
它可以看作是。一种新的。类型啊,可以看作是一种新的类型。就是类似于类似于这个枚举啊,类似于这个枚举。那么record用的时候怎么用呢?好吧,就说我们只需要。只需要使用这个record。这个定义。定义一个什么呀,名称。及及他的属性。啊,它的属性即可,你比如说你比如说我这个地方写一个record。是不是,然后呢,我们你说person是不是person。
04:01
那么这个地方有一个string。Name。印的。Eight。写。那么后面是一对空的大括弧。好吧。那么系统系统会自动的啊,会自动的来生成person。的一些什么标准的成员?哪些呢?第一个。就说我们。中的每个属性。是吧,它都定义为定义为什么private。Final修饰的字段。是不是啊,那你说每个属性。每个属性它都提供公共的。
05:02
Get方法。公共的get方法。它有一个公共的构造方法。也就是说,这个构造方法的签名。与与你这个声明相同。也就是说几几谁呀。有公共的构造方法是不是啊,然后呢,它会生成equals,还有哈code。这个方法的实现。是不是啊,那么他会。生成to。方法的重写。这么个东西。你要注意啊,你要注意啊,就说。
06:03
你这个地方它的属性啊,都是private final修饰的。啊,Private final修饰的。好吧,哎,不能改啊,发音的修饰字段是不是不能改啊,对不对,但是你可以读啊,可以读。那么这个地方需要注意啊,注意注意一点是什么呢?就注意这个record。他不能继承。是不是不能继承?然后呢,这个。Yell。或者record。Record类是不是它蕴含?隐含是什么,Final?
07:00
Finally及。即即也不能被继承。就是你不能继承其他类是不是啊,哎,他也不能被继承。好吧。哎,我给你演示一下,演示一下啊。零三。你别说。后面跟容就是写这个什么person string。Name。It。过户。是不是?哎,那我们可以怎么办呢?你说我们可以person PE等于new person,谁呀,李四。
08:01
25。是不是啊,然后。P2等于六。李四。是不是30。对吧,那我们输出一下。输出一下这个P1,那输出一下P1是不会调用P1的to string,输出一下P2会调用P2的to string。会调用皮衣的。死者。对不对,那么我们现在你也可以输出一下p1.equals。Peter。Equals谁啊?片。是不是?Can。保存一下。
09:03
那么我们我们现在同学们,我们现在来编一下子啊,那么来编译一下子,那你怎么编译呢。如果说还跟我们之前一样,你说Java c。后面跟着什么?T03.java。他这个地方。是不是歧视你?错误。用record它翻译过来记录,它是一个预览功能,默认情况下它不启用,那么我们在编译的时候,它需要通过enable-preview来启用这个预览功能,就说Java c。Enable。Pre,那么这个地方你还要选择它的版本,你们14。吧,还是选择它的版本啊,点Java。
10:03
这才可以。是不是同样我们在运行的时候,在运行的时候我们也要启用。他的。预览功能。是不是?那么你输出一下25PERCENT 30p1和P2EQUALS。说反。好吧,那么我们也可以Java p-C编一下啊,反编一下person。反编一下person。是不是啊,那么它你看是final修饰的是吧,修饰的。好吧,那么你person这个类类它继承谁啊,继承了record。我们说一个类最多只能有一个负类,所以我们在这个地方,我们在这个地方你就不能再通过extend。
11:06
继承别的类了,是不是就是你这个person类,它不能继承其他的类,因为它默认继承谁啊继承了。对不对,那么这是它的什么构造方法?对不对,那么这他重写的to string重写的哈希code。是不是啊,这是什么呀?Equals,那么你看这些内幕属性。A值属性。在这好吧,定义一个name属性,定义什么age属性。是吧,它只有get方法啊,只有get方法,这是内部属性的get方法是吧,A属性的get方法。好不好?哎,这是这个啊,这是个record。OK。
我来说两句