00:00
行,那关于方法区的演进细节啊,咱们就说到这儿啊,花的这个时间呢,相对来说也是多了一些啊,但我们认为呢,还是有必要的,就是这个呢,需要大家记住,在一个呢,是面试当中呢,经翅会被问到你能够说清楚这个原因对吧?那当然也有很多同学呢在讲说哎呀,我这个开发当中呢,总感觉自己的这个技术呢提升不了,或者呢,不知道该怎么去提升,那实际上呢,有一个非常简单的一个呃小技巧什么呢,就是你不断的去问为什么对吧?那你答出这两个点以后,你问为什么是这样子的,然后呢,你去找原因,找到这原因以后呢,你看基于那个原因你再解释,诶那个原因又是为什么对吧?诶你不断的去深入,那其实呢,就会让你这个技术水平呢,就不断的去提升,就是你深挖呢,就越来越深,呃大家呢,应该有这样的一个共识哈,就是呃去面试的时候呢,对尤其对于这个大厂来讲啊,如果呢,大家你学习咱们这套GVM这个视频呢,你不是为了去这个大厂,也不是为了加深自己的技术,那我觉得呃,你只是了解一下的话呢,那你就看看就得了,是吧?诶如果呢,你希望自己的技术有一个更深的,更深的。
01:01
这个提升,那你呢,才需要细致的来看咱们这套gbm的视频,而且呢,对于大厂来讲呢,他也更多的是关注于并不是每一个人的,你这个进入站的一个广度,当然广度呢也会关注,对吧,他更多的关注呢,实际上是我们在对于不变的这些知识的一个理解的深度上啊,是更关心的,因为我们知道哈,这个GM呢,咱们是在底层,上层呢是Java的API,再往上层呢,是我们用的不同的这些框架,对吧?这个框架的话呢,咱们实际上是日新月异的都会在变的。这个是经常会变对吧,以前呢,像我们用的SSH,后来呢,咱们变成SM,现在又用这个微服务框架等吧,诶等等对吧,诶改成分布式的呀,高并发呀等等各种场景,我们用过的相关的一些框架呢,经常会做变化。那么呃,那变化的时候呢,你说你是广度非常广的,那有可能它会变,那更多的关注呢,就是说你在对于一个呃不怎么变的一个问题呢,你理解的一个深度啊,你深度的理解深呢,那我就认为呢,你的学习能力呢,是比较强的,那么经常变的东西呢,我们再换一套呢,你也能很快的去上手,对吧?那再换一个角度来讲,那即使咱们夸张一点说,有一天呢,比如说Java不用了,Java不用的话呢,如果说你学习的能力比较强,那也能够比较快的去上手一门新的语言。
02:14
就像这个头条,以前的头条呢,后台呢,是基于这个Python来做的,现在呢,呃,整体上呢,会替换成这个go,那你说把公司的所有呢,做后台的Python的人全开除掉吗?那不可能啊,对吧,那就相当于做Python的这些人的话呢,他也认可公司的文化,他也能明白公司的这个各种开发的一些流程,那不可能开掉重来,那你这块呢,就需要呢,原有的这些工程师,那需要他们有能力呢,去切换到这个构言上,对吧?哎,就这样子的,那这个深度上呢,其实就体现了你一个呃,学习能力的一个深浅。啊,深度怎么增加,就刚才说的这个小细节小技巧,大家呢,就不断的去问为什么啊,比如说呢,为什么要有这样的一个变化,官网是这样说的,那我们说这个了解的不透彻,那在为什么呢?我们谈到了哦,原来是有这样的一个解释,那这两个解释你怎么去理解,咱们刚才呢,也已经讲到过了,对吧?哎,那就不多说了,那这里边呢,我们诶再问大家一个点哈,说你说为什么咱们要把这个自符串常量值和这个静态变量呢,做一个变化呢。
03:10
诶,这个是不是又是一个新的问题,没有没有谈过是吧,那那这块呢,咱们就来谈一谈这个问题,那搜R常量池和这个静态变量啊,为什么要变化,或者说呢?呃,这个是不是真的变化了,那咱们看一看,首先呢,咱们来说一下,这个叫字符串常向池啊,或者我们说叫字符串字变量是吧,我们在这个翻译的时候呢,经常看到的是一个叫intend spring。呃,在哪,这一下还不好找。String啊,这个咱们搜索一下可能,诶在这呢是吧?啊找着了啊,哎,Internet Internet string啊,就是字符串的一个字变量啊,其实呢,就是我们所谓的字符串常量池里边放的这个,哎,自变量啊这个情况,那为什么我们要要将这个spring table呢,做一个调整,从这个永久带是吧,放到我们这个对空间中呢。诶这呢有个解释,嗯,在GD个期的时候呢,咱们做了这样一个变化,说因为啊,这个永久袋这个垃圾回收的效率是比较低的啊,那咱也知道,确实呢,永久袋呢,也不建议它老是回收,对吧?呃,那么在这个for jc的时候呢,咱们才会去触发这个永久带的一个垃圾回收,那这个for jc什么时候会触发呢?就是当我们这个老年袋的空间不足的时候,哎,这里又涉及到这个for,这C跟他们说这个major j c啊,就又混着混着来谈了啊混着来谈了就是我们当老年代空间不足的时候,或者这个永久贷呢,这个不足的时候,空间不足的时候,然后呢,我们会触发这个叫for jc,只有for jc的时候呢,咱们这个string table,也就是说呢,你这个方法区啊,或者我们叫永久带啊,它这里边的这个字符串呢,才会被回收,这呢,就导致咱们这个string的这个回收效率呢,是不是就很低啊。
04:43
那在开发当中,咱们会有大量的字幕串呢,会被创建,那事实上呢,也确实如此。啊,事实上也确实如此,咱们这个后边有一个章节。咱们在这个呢,哎,专门呢,给大家去讲一下这个spring table啊,它的一个前世今生是吧,到时候呢,咱们再提到关于这个spring的一个细节的描述,那如果我们有大量字串被创创建的话呢,你的回收呢,又呃由于你放到这个方法区,导致我们这个方法区的话呢,它回收的频率又非常低,那就不会使得我们这个字符串呢及时的被回收,所以呢,显然呢,呃,不能及时被回收啊,会导致我们这个内存空间呢不足,所以这样就不好是吧,我们放在这堆里边呢,就相对来说,它回收的频率呢,要更高一些啊这这个问题呢,就解释清楚了,好,这就过了。
我来说两句