00:00
好,下面呢,我们来说一下这个,呃,JDK12和JDK13的一个下载和安装,相当于整个环境的一个搭建哈,呃,那么这块呢,我已经提供好了关于官方的GPK12的一个下载的链接啊,这呢是整个一个下载的一个索引,我们可以打开看一下哈。啊,把这个链接地址呢,我们拷过来啊,进来这个呢,是涉及到整个二维口官方提供的一个下载的链接啊,我们能看到最新的已经是招SE13啊,大家点击这块呢,就可以进入这个13的一个下载页面,然后呢,如果你要想下载12的话呢,我们现在能看到啊十二点零点二啊相当于是在这个六个月的时间之内更新过两个小的版本,这个我们刚才那会也稍微提到过,呃,点击这个download我们就可以下载呃,Java IC的12。啊,点击一个accept这个license啊,然后呢,你可以根据自己的操作系统的,这个操作系统呢,目前呢,呃都是支持64位的了啊根据你是想下载这种这个点击下一步这种方式还是直接解压呢就可以使用,包括呢其他的一些操作系统,大家可以进行一个选择,这个呢是12,然后13的话呢,大家后退一步上来,这呢就是13啊点击啊也可以进行下载,这呢是刚上线啊,这个9月17号发布完以后呢,18号我看的时候呢,还没有这个JK13的一个下载,呃,现在已经可以了,大家呢,对应下载相应的版本就行,那如果大家能够看到这个视频的话呢,呃,相应的资料其实大家已经有了,嗯,再给大家发的这个资料当中。
01:27
嗯,软件打开的话呢,我们这儿呢,就是12,这个就是13,嗯,大家可以直接使用,我这里边提供的也是OK的,嗯,就不用你再去官网进行下载了,那么它的一个安装的话呢,不用多说了,就点击下一步就可以,嗯,我在自己的本机上呢,12和13呢都安装了,举个例子,我安装在我的这个目录下,Java,那每一个版本我其实都装过这个JT12,就是我们这个JDT12呢点击下一步安装完以后呢,就是在这个目录当中,然后13的话呢,是在这个目录当中。哎,是这样一个情况,那么大家呢,在这个整个开发环境当中,你使用的到底是12类版本还是13版本,乃至于说呢,你看我这块呢,从八一直到13呢,相当于都安装过啊,那到底是哪些版本,主要取决于你环境变量的一个配置,那比如说我现在这个计算机啊,点一下这个属性。
02:18
哎,看一下当前我这个环境变量啊,环境变量的配置属于一个最基本的一个操作啊,大家都需要掌握,我这下边呢,Java home使用的是13啊,然后呢,在我们这个pass里边,我现在引入了这个Java home啊杠B这样的一个路径,所以说呢,我们诶WIN2一下啊,CMD进来,我使用Java-version啊,此时呢,大家能看到就是我这是一个呃JDK13这样的一个版本。啊是这样个情况啊,那如果大家要是使用这个JDK12的话呢,你只需要呢,再去修改一下我们这个Java home这个路径就可以了,比方说我这块呢,改成了诶这22这样一个路径,把它呢CTRLC。诶,占到我们这个环境变量这个位置啊,CTRLV一下好点一个确定啊确定好这个确定一下,然后呢,我们再重新启动一个V2,诶CMD命令行窗口哈,然后再执行Java-version,那此时呢,大家也能看到我们当前这个环境呢,就是呃,十二点零点二哎这样的一个环境了。
03:14
好,那今天呢,我们给大家主要讲解的是张22和13的行特性,那这块呢,我们最好就是装一下这个13,在这个13的环境下呢去演示啊,因为一般情况下呢,我们都是向下兼容的,也就是说呢,我们在这个13的环境当中呢,去演示12是没问题的,那你在12JDK的版本当中去演示13的新特性,这个显然呢是不现实的啊,行,我们把它关掉,然后这块我们重新的再去。这个把这个实单这个路径呢,给它倒过来,它CTRLC。诶,高级系统设置环境变量,诶找我们下边这个Java home诶CTRLV诶做一个替换啊确定确定确定可以哈,这个大家呢,去修改完环境变量以后呢,一定要记得你的这个命令行窗口呢,需要重新的去启动,如果你还在之前的这个命令行窗口当中呢,它显示的仍然是这个,诶配置之前旧版的一个情况啊好,这个呢是一个version。
04:07
OK,这时候大家已经看到了,我这儿呢,现在是使用的JDK13这样的一个版本啊,13啊,9月17号刚发布的,没有问题,行,那么在这呢,想给大家多说几句啊,从这呢,我们能看到的就是在实三的版本,也是我们JDK最新的一个版本,仍然使用的是house虚拟机。哎,House power虚尼这个没问题,64位的,然后后边呢,是一个叫server的一个模式,那这个呢,给大家多说两句哈,这个server模式,嗯,整个的话呢,我们housewa虚拟呢,相当于有两种编译器模式,一种呢叫做client啊,你能看到server呢,对应的一个词呢,就是client了,一种呢叫做server,那这个client computer我们也称作呢,叫做C1编译器,这个server呢,我们也通常称作叫C2编译器,那C1C2编译器有什么区别呢?啊,应该这样讲,这个client这个叫C编译器呢,就是它对此解码呢,能够进行一个简单和可靠的优化啊,以便呢能达到一个更快的编译速度,那对于server的话呢,这个应该说它编译起来这个速度呢,没有C快,但是我们能够获得一个更好的一个编译质量啊,属于这样的一个区别,呃,如果大家用的是32位Windows操作系统的话呢,你会发现你的这个默认情况下呢,就是一个C编译器,那如果说大家用的是64位操作系统,而且呢,这个电脑的配置不低的话,你会显示的是诶默认的叫server CR的一个编译器。
05:31
那配置怎么算高呢?呃,2G的内存啊,双核以上的CPU,那我这儿呢,都是双核以上的,而且内存我这是16个G,呃,远远大于两个G,也就是说大家现在基本上个人电脑配置,只要你别太低的话呢,默认情况下我们这看到呢,哎,都是这个刚才给关掉了啊,诶默认大家看到相当于都是一个C2编译器的一个模式。OK啊,这是我们说的这两个编译器的一个区别,呃,下一个呢,就是我们看到后边这个叫mix mode啊,这是什么意思呢?这个我们想说明的就是我们这个编译生成的自解码文件,这个大家都清楚啊,就是我们使用这个Java c这个命令生成的字节码文件呢,我们需要在使用Java这样一个命令呢,呃,进行自解码的一个加载啊,在我们内存中进行内存的分配啊,解释运行,那这里边的话呢,我们去加载磁解码文件的时候呢,这里边使用的叫混合模式。
06:23
那除了混合模式这个之外,还有什么模式呢?或者混合嘛,它肯定是至少两个以上的事物才能叫加在一起才叫混合,那具体都有什么模式呢?这个我们可以给大家说明一下啊,诶杠X,我这写个T啊杠version。我通过这样一个指令,大家会发现呢,我们这时候这个模式呢,做了一个切换啊,Interpreted这个呢,是一个解释器模式啊啊然后呢,我们再换一下,哎,杠X叫comp。啊,这呢,我们又做了一个切换啊,Compel mode,这是一个叫即时编译器的一个模式,嗯,这两个模式混合在一起,就是我们这里提到叫mix mode,这两个有什么区别呢?呃,这就说到我们这个Java虚拟机了,这个Java虚拟呢,整个这个架构呢,我们涉及到一部分叫执行引擎。
07:15
嗯,稍微的让大家多看一眼哈,嗯,我这有一个高级GVM。嗯,我们来看一下这个内存的结构啊。嗯,GM如果大家比较熟悉的话呢,应该清楚这样一个图的架构,嗯,经过我们这个class loader这个系统呢,子系统,我们把自解码文件呢,加载到我们这个内存的空间当中啊,运行时环境啊,这个运行时数据区,然后呢,我们需要使用即时引这个执行引擎,执行引擎这块呢,我们提到一个叫GI器啊即时编译器,那还有另外一个呢,叫做解释器,那我们现在。大家看啊,如果显示的是一个compile mode,这就相当于是一个即时编译器模式,这个呢,就是一个解释器的模式。啊,那么区别是什么呢?诶,即时编译器啊,我们先说它哈,呃,要想解清解释清楚它的话呢,我们需要再给大家讲一个概念,叫做热点代码。
08:12
诶,什么叫热点代码呢?就是如果我们在执行Java代码的时候,发现有一些方法呢,翻来覆去的被执行,或者说呢,是一个方法内部呢循环体啊,循环的次数比较多,我们把这样的方法或者循环体呢,就称为叫热点代码啊,因为它多次被执行嘛,那么对于这些热点代码的话呢,我们可以使用这个即时编译器,诶把它呢,呃直接编译为本地的机器指令,相当于能够提高我们程序的一个执行效率了。啊,这就是我们叫一个呃编译的一个模式,那么这个模式呢,显然是比较好的,那我们直接用这个模式不就可以了吗?干什么还要引入一个解释器的模式呢?啊这里边就提到了,呃,像这个我们现在这个默认的配置的就是houseport虚拟机,这个BA公司现在已经被or收购的啊,它呢叫j rockcket j rocket呢,其实选的就是这种模式,诶默认的就是这种模式,那house bar没有,那区别在哪呢?就是如果我们是对于服务器来讲啊,在服务器上来说,我们不是特别关注于它的启动时间,呃,我们只希望呢,具有更好的一个这个执行的效率,所以我们选择编译器模式是OK的,但是在有一些场景下呢,我们比较关心启动的一个时间,那么这种即时编译的模式的话呢,那它的启动时间是稍微慢的,那我们在这个编译模式的基础上,又加入一个解释器的模式,能够提高我们这个程序运行的时候的一个启动时间,所以呢,默认情况下呢,是它俩合在一起,这块显示的一个叫mix mode啊,就是能够既考虑到启动时。
09:41
之间啊,同时又考虑到了一个执行效率的问题啊,我们使用Java go version这样个方式啊,显示的就是一个混合模式啊,在这呢,给大家做一个解释,好,那这块呢,我们把这个JDK环境已经配好了啊,就不多说了,然后回过来,嗯,JAVA12或JAVA13当中多少呢都会涉及到一些语法层面的变化,我们希望给大家有一个代码上的一个演示,那这个演示的话呢,我们就需要使用对应的一个集成开发环境,那集中开发环境,由于咱们这个JAVA13呢也是刚发布的,那我们就希望呢,这个集成开发环,这个集成开发环境呢,也得是支持我们JAVA13的,所以这块呢,我们就自然而然的会去使用idea,这也是现在目前进行Java开发,包括呢,像大数据开发等等啊,这个使用最多的一个集成开发环境啊,大家也可以呢,是把我这个链接呢,放到这个浏览器当中啊,这个去打开网页看一看,我们关于这个新的版本的一个情况啊,包括呢在这个页面当中。
10:41
也有对应的一个下载。啊,这个网稍微慢一点啊,那我这儿呢,把这个截图呢,也给大家展示出来了,嗯,我们这里边儿呢,给大家提供的是2019年的第二个版本,注意这个二呢,不是说的是二月份啊,是第二个版本,嗯,它是在这个主赖就是7月24号发布的啊,随后呢,可能还会有19.3,那么在这个点二这个版本当中,我们能看到呢,它已经去支持我们JAVA13的一个预览的特性了。
11:10
啊,所以呢,我们装一下这个2019.2这个版本就可以了,给大家发的这个资料当中,诶上面呢,就是我们IDEA2019.2诶这样的一个版本,诶我这儿呢,都已经装好了。那这个安装的话呢,就不用多说了哈,这个正常大家如果做过Java开发,或者你学习习过Java语言,那应该多少呢,也接触过我们这个idea这个软件啊,你适当的也可以做一个这个激活码的一个激活,或者你就用社区版也可以啊。好这呢我就直接进来了,然后已经呃,创建了一个对应的product,我们在这个下面呢,去演示咱们JAVA12和13的各个新特性,好这呢就相当于提到我们JDK的一个下载安装,以及呢整个开发环境的一个布置,啊这个大家呢,诶可以同步的进行一个操作。
我来说两句