00:00
各位同学大家好,下面呢,我们继续来演示native隐蔽构建过程,刚才咱们完成了第一步安装GVM的编辑器,第二步安装C加加的编译环境,那下面呢,我们进入到第三步,第三步呢,咱们做主要是有三步给大家写一下啊,首先我们的第一步咱们先编写一个Java代码。就是编写一段Java代码,比如咱一会儿我们就写一个基本的做个测试可以了,然后写完代码之后,第二部分我们使用这个就是C加加这个环境的这个工具进行代码的编译。就是咱们说那个Java c进行编译,然后编译之后第三部分还是通过这个工具啊,使用C加加环境这个工具进行,这个就是最终的native隐的构建,这个过程中咱用命令最终进行实现,所以咱们做的主要是里边的这个过程,那下面呢,咱们来具体写一下,或者实现一下这个过程,那我们来做一下啊,首先第一部分这个工具呢,刚才我们已经打开了这个工具,然后工具默认目录是这个目录啊,但是这目录你可以改成别的目录是可以的啊,比如你给他CD啊,或者什么进入到别的目录也要我为了方便我就找到这个目录啊,赶紧看一下我们装这个位置啊,因为默认装的应该都在这里,我这是在D盘这个位置。
01:28
Program。Microsoft,然后里边二在这里边,那我现在这么来做,在这里边呢,我就来建一个文,咱们编写一个Java代码,那这文件我给它起个名字啊,比如说这个名字呢,我就叫这个user。Java啊,咱就叫这个名字。是一个Java文件,然后在里边呢,我给他加上这么一段基本代码,我在里边写一下啊,这代码很简单,就快写一下,加上一个public class。
02:03
USA。然后在里边呢,我加上一个方法,我们加上啊,Public static,然后里边加上参数这个string的数组啊,这个代码不用说了,各位应该很熟悉啊,咱就快速写一下,然后as,最终我在里边做一个输出啊,就是system.out点上print,然后加上,比如说加上一个就叫hello。所以现在啊,咱们把这段基础代码就完成了,咱们检查一下,不要写错啊,Public class user啊跟这名字一致,然后public sta加上一个方法是一个,然后最终把它进行输出,用system print输出,Hello,所以现在啊,这个基础代码我们就完成了,给各位给他快速写下可以了,然后完成之后,下面我们来做一下具体操作,咱们在这个目录下,因为目前目录里边有咱们。
03:06
相关这个文件就这个user.java所以咱们下面我们进行编译,这个编译各位应该都会啊,Java c加上user.java回车,咱们进行这么一个编译,然后咱看一下啊,编译之后呢,他说这里边报了一个错啊,咱看报了什么错啊,应该是咱们少写点东西,因为这是记事本直接写的,可能有时候少一些符号啊,它也没有提示。咱看一下啊,大家看什么错误,一个很低端的错误啊,我这里少写了一个分号,呃,就就这么一个问题啊,咱给它加上,然后我这里边重新做编译,它也提示我们需要一个分号。然后啊,快速执行,现在应该就编译了,编译之后我们到这里边看一下是不是有这个文件user.cars然后之后呢,我们开始做这个的,那怎么建呢?大家看到咱们刚才呢,比如我们打这个CD窗口,刚才咱们下载了一个插件,这个native image,通过它我们进行构建,那这里边给大家写下怎么做啊,我们用。
04:15
Native杠隐秘值加上这个叫哈,现在就开始进行构建,那下面我们回车构建这一过程需要花费点时间啊,咱需要多等一会儿,那我现在回车咱们进行。咱们等它开始进行构建啊,咱们多等一会儿啊,然后这里边报了一个错啊,咱看他报什么错,给他改一下啊。啊,我们看啊,呃,你看这名字啊,我们的名字应该叫user啊,咱不叫哈啊,怎么写个hello啊,然后但是user,我课件中写的是hello,咱看一下啊hello啊,但是我现在名字我故意改成了user,注意啊,别再犯这种低级错误了啊,我这里是都写错了啊,应该是user,他提出我们说这个找不到,因为确实咱没有这个东西,现在回车咱们最终构建。
05:05
然后咱们看最后的结果啊,这个过程需要多花费一点时间,咱需要多等一会儿啊,为了视频的效果,我视频先暂停一下,然后等它出来之后,我们再继续往下来看。啊,大家看啊,现在我们等了一会儿,大概会有这么,呃,我因为我的程序比较小,大概我这里花费了有十几秒钟的时间,最终这里边构建完成了,然后你看到啊,最终这里边也都成功了,告诉我们完成了这个花费了这么长时间,然后之后呢,我们在这目录中,咱们来看一下啊,里边会多出来一个内容,大家看这个。叫什么user,点是不是exe,这就是咱们最终构建之后那个native image,就是本地镜像啊,这个咱就完成构建,它叫user.e然后这个构建之后,下面呢,咱们做个执行,怎么执行呢?写一下啊,如果说啊,咱用普通方式,那就是Java user是不是执行,但是现在我们已经提前编译好了,我们直接输入这个user回车。
06:10
大家看这里边是不是也可以执行,比如说我们现在就把它构建好了这么一个可运行的文件,这是提前编译,咱把它直接执行可以了,它里面就是提前编译好执行,不像之前的一边编译一边运行,所以现在啊,咱们就演示出来里边这个基本的过程。这个咱们就演示到这里。然后这个之后我们看一下我们的课件里边啊,咱往后面来看,我课件中呢,这位置有一个就是这个运行时间的比较,这个比较呢,或者说启动时间的比较,是它官网上一个图,大家看啊,这个里边你看有红色,有这个蓝色,蓝色是GI,就是咱说的动态编译,或者说一边运行一边编译AOT提前编译,大家看时间啊,Startup这个时间你看红色时间是不是极大缩短,包括里边这个内存的占用,你看啊红色是不是占用的很小,所以咱们现在啊,通过这个就演示出来这个隐秘构建过程,比如咱们现在把AOT的部分,我们就最终完成了。
我来说两句