00:00
那下面的话呢,我们来重点介绍一下S公司的houseport虚拟机,那如果说大家呢,只知道一个虚拟机的话呢,那恐怕呢就是houseport虚拟机了啊,它呢至今我们仍然都在使用啊,这也是三公司里边推出的第三个虚拟机啊,其实这么说的话呢,还不是足够准确,为什么说呢?因为house po虚尼,其实啊,它不是血统纯正的sun公司的产品,它最初的话呢,是由一家诶这个公司来设计的,在九七年的时候呢,这家公司被萨公司收购了。啊,那所以呢,又归萨公司所有了,那在零九年的时候,我们知道sa公司呢,又被甲骨文收购了,所以现在呢,我们说这个house war呢,它的这个东家呢,应该算Oracle啊,甲骨文公司,那在JDK1.3的时候呢,Houseport就成为了默认的虚拟机,一直到现在啊,所以说呢,Houseboard呢,我们说它具有绝对的市场地位啊,这个从武林的角度,我们说叫称霸武林啊,就绝对的市场地位,呃,这个这个地位啊,这个大家应该都很清楚,那怎么来体现它这个市场地地位呢?首先呢,从JDK的不同版本来说。
01:09
不管是呢,到现在还仍然广泛使用的JK6,还是呢,现在大家开发中用的最多的JDK8,乃至于到目前的我们这个JDK版本都使用的是默认的house群机啊,这是其一,那其二的话呢,是针对于不管是sun公司也好,Oracle公司也好,它的这个JDK还是呢,诶发布的open jdk也都选择house呢,作为它的默认虚拟机啊,那基于这样两点,所以我们今天来讲解这个GM课程的时候呢,呃,主要的介绍的,或者说我们默认情况下呢,诶都是用到houseport,那相关的一些机制呢,咱们也是以houseport为主啊,但是呢,也会兼具到其他我们说常用的一些商用的虚拟机啊,当然是以houseport为主的啊,所以大家在这个呃面试的时候啊,如果提到了Java虚拟机的一些具体实施了,除非你很清楚哈,呃,否则的话呢,大家你就按照这个houseport说就行,最好不要怎么着呢,如果面试官问到你相关的一些机制啊,你首先来了一句。
02:09
说呃,请问这个您问的是hotport虚拟机还是呃,其他的虚拟机呢?如果你要这样问的话呢,面试官可能紧接着一句话说,那你把各个都说一下吧。那恐怕呢,你就给自己挖了一个坑啊,所以说呢,默认情况下,如果大家都不说,那么这个心照不宣的都是指的house虚拟机,当然了,你要确实有本事,你说OK,我都给你讲一下,嗯,那那那厉害,那你得提前准备好是吧,OK,嗯,另外其他俩商用商用的这个虚拟机,我们一会来说啊,这个这块提到了一个什么问题呢?就是说另外两款商用的虚拟机都没有方法区的概念,咱们在前面介绍当中说到了,说虚拟机的话呢,它有一个哎,整体的一个结构是吧,我们来这看一下吧。这个整体结构当中呢,我们提到了一个方法区啊方法区,那这个方法区的概念呢,其实就是针对我们说houseport虚拟机来讲的,那像g rockcket,像G9都没有方法区啊,也就是说我们提到这个,大家如果听说过这个永久带的话啊,这些永久带呢,只是针对于houseport来讲的啊,在JDK8的时候呢,嗯,这个house bar呢,引入了叫原空间啊,那这个原空间呢,其实用的就是本地内存了哈,那其实就跟这个g rocket是一样了,说白了就是跟人家靠拢了,诶方法区的概念只有我们port才有,那从服务器桌面到移动端嵌入式诶,都有houseport的身影。
03:39
啊OK,这呢就体现它的一个绝对的市场地位,那下面呢,提到了这个house,它这个名字呢,啊,Houseport就是体现了叫热点代码的探测技术。啊,咱们在前一个这个exit vm当中,其实也提到这个点哈,那只能说呢,Exit vm它具有了高性能虚拟机的一个雏形,那真正呢,落地实现,包括现在还在不断的去优化,诶就是houseport,呃,通过计数器找到最具编译价值的代码,诶然后我们把它称为的热点代码,呃,这个将这个自解码指令呢,诶翻译成机器指令,然后呢,在本地缓存起来。
04:17
哎,又得看一下这个图。在本地呢,缓存起来,下次再需要的时候呢,直接执行就可以了,那这呢,它是已经是机器指定了啊,直接被CPU呢,可以去这个执行的啊,执行效率就非常高了。那它还可以呢,去就是诶他找到这个热点代码以后呢,就是要么呢是呃及时编译缓存起来还可以呢,触发的叫站上替换,呃站上替换我们想体现的就是对象呢,其实也不一定都需要创建,在堆空间中,我们还可以在站上去分配这个对象啊,当然呢,这个垃圾回收啊,管理起来啊就更方便一些啊,效率更高一些,嗯,OK,那另外的话呢,就是编译器和解释器呢,可以协同工作,呃在最优化的程序响应时间和最佳的执行性能当中取得平衡,哎,咱们在讲classic vm当中其实提到过这个事儿,这个解释器呢,它主要来负责的是响应时间。
05:12
啊,因为解释器呢,一上来就逐行解释,它的响应时间是比较快的,而编译器呢,呃,它主要解决的问题呢,是执行的性能,所以呢,在他二者协同工作的时候呢,我们能够达到一个平衡,诶这呢就是我们重点要给大家讲解的house,那其他的这个内容的话呢,我们接下来这个章节其实主体都是针对于houseport,所以我们就先介绍这样的一些基本的点。
我来说两句