00:00
那关于方法区啊,咱们就讲到这儿,那方法区讲完以后呢,那基本上咱们关于这个运行时数据区啊,咱们就算是告一段落了,诶大家想想咱们前面呢,是不是讲过了,叫程序计数器虚拟站,本地方法站堆方法区对吧?诶主要呢,我们说这个运行时处理区就这样几个结构,当然呢,后边呢,咱们再稍微的花一节时间呢,会给大家再讲一个叫直接内存或者叫本地内存,因为毕竟呢,我们说方法区呢,在这个JD8以后呢,所谓的这个圆空间,诶我们使用的是不是说本地内存是吧?诶到时候我们把这个呢再稍微的提一下,但是这呢,都属于一个细枝末节的一个诶内容,那整体上来讲,我们关于这个内存结构呢,就讲到这儿,那最后呢,简单的画了一个图啊,也算是做了一个小结,那这个图呢,看PPT呢是在这儿,那看我们这块呢,就是整个呢,下边有一个图。嗯,找一下,嗯在这儿行,那这个图里边呢,我们想描述的就是咱们讲到的这样的一些结构,哎,咱们说呢,线程私有的涉及到呢,叫程序计数器,本地方法站和这个虚拟基站。
01:02
啊,虚拟战呢,我们说这个战本身呢,叫管管运行对吧,这里边呢,存放呢,就是我们一个一个的战争,那每一个这呢一个篮筐呢,就是一个战争,每个战帧的话呢,我们存储了这样的几部分的一个结构,这个是返回值本地变量表,或者叫局无变量表,这呢叫操作数站,哎这呢叫动态链接,就是指向了我们运行时常量池当中当前方法的一个引用。啊,就知道呢,你当年这个方法呢,它引用的是我们长线池里边哪一个具体的方法啊,通过这个方法出发呢,里边有调用其他结构我们都能够,诶有所指向。行,那这呢是指向我们这个方法区的,方法区呢,是咱们刚讲完的这个内容,涉及到呢,有类型信息,域信息,方法信息啊等等啊这样的一些结构。好,那方法区的话呢,是我们说这个虚拟机Java虚拟机规范里边提到的一个概念,那具体落地实现呢,那得看一下我们是什么虚拟机了,咱们讲的过程当中,主要呢,针对的是不是还都是叫houseport群机啊,诶在这里边呢,涉及到了叫永久贷,涉及到了叫员空间诶这样的概念啊,那么在这个面试当中,如果没有说明的话呢,默认情况下呢,咱们谈的呢,都是houseport,诶这个大家要稍微注意一下这个问题,行就除非呢,你面试的时候呢,你其他几个虚拟机呢,也比较清楚,你可以说一下说一下说houseport这样的是吧?哎,J是这样子,哎,这是可以的啊,那么堆空间的话呢,我们说相对来说结构就要复杂一些,它呢主要是管存储,就是我们所谓的new的对象存放在这个堆空间当中,涉及到了叫伊甸园区E啊SURVIVOR0SURVIVOR1啊,那整个在这个新生代呢,这个区域里边,我们涉及到呢,叫mini j c,或者叫young j c,对吧,老年代这个区域呢,我们涉及到叫me j c啊for j c能不能叫for jc呢?这个是看一下我们这个具体的这个这个。
02:44
这个怎么讲呢,就咱们前面说过了是吧,在这个具体的PPT里边,我们说过这个事情,就是说,呃,因为housewa虚拟已经发展了很长时间了,所以我们现在呢,一说到这个mini j,经常呢,把这个跟for j呢,是不是就混到一起来讲了,对吧?那严格上来说呢,MJ咱们指的就叫老年代的一个垃圾回收,那这个for j呢,是针对于整个这个堆区,乃至于说呢,包括这个方法区在内,诶我们进行回收的时候呢,才叫forc。
03:09
诶,这个大家稍微注意一下行,那么整个呢,咱们讲完这个运行时数据区以后呢,大家脑子里边呢,应该浮现这样一个整体的一个场景,当然这个细节问题的话也很多,那就是针对具体问题呢,咱们再去研究啊,再去说明就可以了,行这呢就是一个总结啊,然后的话呢,这个呃,后边呢,我也附了几个关于咱们这个运营时数据区啊,这块的几个大厂的这个面试题。啊,这个大家你看一看,是不是这个面试题呢,对你来讲现在呢,是不是变得so easy。啊,这个呢,就是原封不动这个面试题,百度蚂蚁金服小米这个呃,头条的母公司私接跳动啊,京东天猫拼多多,美团啊,这个呢,都是咱们所谓的这些大厂是吧,那大家呢,基本上你过一下这些题。哎,我呢,就不一个一个咱们给大家去讲了,实际上呢,这里边儿的问题啊,是不是咱们都讲过。什么时候对象进入老年代讲过吧,都说过啊,这个比例什么样子的,以及呢,我们还说过这个伊甸元区要是过大了怎么办呀,过小的时候又如何呢?都说过啊,为什么有两个VI区啊,那这个的话呢,要想把这个事说清楚,咱们后边还要讲一个叫复制算法是吧?诶复制算法里边呢,我们这个涉及到他们两个互相交换,避免这个叫碎片化啊这样的就里边呢,会有一些涉及到咱们,呃后边讲完这个JC的时候呢,会更清楚那绝大部分的内容啊,咱们在讲这个内存呃,运营时数据区的时候呢,诶都谈到过这个问题。
04:29
大家看一看是吧,包括后边这块问说GM的永久袋中是不是会有这个垃圾回收策略吗?会有这个垃圾回收行为吗?咱们刚才呢,是不是刚说完这个问题,那这个题目的话,你是不是可以答的非常的饱满啊。啊,从古至今是吧,谈论古今啊,从这个Java虚拟机规范一直谈到咱们具体的落地实现啊,有的有有的也没有啊ZJC不去卸载这个类是吧?然后我们这个耗磁包虚拟机呢,它又回收,那回收呢效果又不好,吃力费力不讨好啊主要回收什么,为什么费力不讨好,诶是不是都可以给他侃侃而谈,侃侃而谈是吧?这个大家真正在面试的时候呢,如果说面试官抛出个问题,你能这块侃侃而谈,面试官呢,诶就不断的去点头,那这呢是一个绝对非常好的一个行为策略是吧?当然呢,你要想达到这一点,那就需要你对这个知识啊,有非常清晰的一个认识。
05:16
啊,那基于我们前面讲的这个运行式数据区,大家呢,再去回答这个问题啊,那就不是事儿了,所以呢,我讲课一般的这个套路呢,不是会专门针对于我们要讲的这个面试题,咱们去突击是吧?哎,我一般呢讲东西不擅长是这样的一种方式,或者我不喜欢这样方式,就是我们突击一个东西,就像大家在大学的时候呢,去考试,呃,这个一个学期也没学这门课是吧,到最后呢,马上要考试了,利用三天或四天的时间呢去做突击,这个时候呢,就好费是你要面试了,马上这个这个必须要成是吧,然后你去突击一下,这个是可以的,那如果是放到平时的话呢,那肯定还是要完整的把这个知识呢都掌握。啊,这叫什么坦克递推式是吧?诶把所有的这个知识点呢,都整清楚以后呢,这个面试题他爱怎么问就怎么问,诶当然有一天呢,你变成这个面试官的时候呢,你是不是就变成想怎么问就怎么问了。
06:06
哎,那这种状态呢,是不是非常的不错呀。那现在呢,诶大家看一看这些问题对你来讲是不是so easy啊,他的easy呢,不在于说这些厂子问的问题呢不高端,而是因为呢,你的能力啊提升了。行,那么关于这个内容,咱们就说到这儿。
我来说两句