00:00
这个第六节啊,其实就是一个小节啊,这个前面的话呢,我们讲推空间呢,大家也知道呢,它其中的内部的细节结构了,涉及到新生代老年代,然后呢,新生代呢,又分成伊甸园区,新增者零区,新增者一区啊垃圾回收呢,也涉及到叫media j c major j c for c是吧?诶涉及到这样的一些内容,就是这三种JC呢,其实就针对我们这个堆空间,这个分带思想呢,咱们引出来的不同的这个JC是吧?那现在呢,我们要问一个问题,说为什么呀,我们需要把扎瓦堆呢进行一个分带,那不分带呢,就不能正常工作了吗?对吧,诶有这样的一个问题啊,那我们主要呢,这一节小视频呢,就来说明一下这个事儿,哎这呢有一个背景,就是经过研究表明说不同的对象的生命周期啊是不一样子的,70%~99%的这个对象呢,是临时的对象,所以呢,我们是可以呢,对他们进行及时的一个呃,垃圾清理是吧?啊就是内存回收。啊,那这里边儿就提到了,说我们新生代啊,这个它的一个构成,老年代的一个构成啊,老年代主要呢,存放的就是我们说新生代当中历次啊,经历过这个J些之后呢,仍然存活的对象,那我们涉及到一个阈值的问题是吧?好,那么还是回到这个问题上说,说呢不分代呢就不可以吗?说不分代呢也完全是可以的,我们分带的唯一的理由就是为了优化JC的性能。
01:15
体会一下,我们分带的唯一理由呢,就是为了优化这些性能啊,大家看说如果没有分带的话呢,所有的对象呢,是不是都在一块儿啊,就类似于咱们把整个学校的人啊都关到一个教室里边了。啊,都关到一个教室里边,那我们进行一些这个这个检测的时候是吧,这每一个人呢,我们看成是一个对象,有的对象呢,他其实就是朝生夕死的,你关到一起,那每次我们要JC是不是把所有的人都得遍理一遍,看看哪些呢是这个垃圾,垃圾哪些需要被回收,是吧?那你这个呢,花的时间是不是就更长一些,那如果呢,我们明确呢,说有一些对象啊,就是很容易死的,我们就往这个伊甸园区放,那我们践行进行这个垃圾回收的时么,是回收的时候呢,是不是就高频的去回收,我们一定园区就可以了,而对于那些呢,不太容易这个被回收的,或者不太容易死的这些对象,生命周期比较长的对象,比如说呢,像我们说的这个数据库连接池中的一些连接啊,是吧,一些流资源等等,他们的生生命周期呢,相对比较长,那我们呢,就可以考虑呢,把他们放在这个叫老年代啊,就不是那么高频的去回收咱们这个老年代中的这个对象了。
02:21
因为本身回收老年代的话呢,我们花费的时间也比较多,所以咱们把这个老年代的垃圾回收呢频率降低,诶这呢就是提到了一个分带,然后目的呢,就是为了优化咱们这个GC性能。对吧,大家体会一下,那再举个例子的话呢,就好比是咱们当前这个疫情。啊,那当前这个疫情的情况下,举个例子,你就比如说我现在住的这个小区,这个小区里边呢,住的人不少,那很多呢,是比如说就是咱们北京当地的这些居民啊,那这的都属于这个比较安全的一些对象是吧?那么还有一些呢,就属于呢,从比如说前段时间呢,湖北呢,已经这个解封了,哎也有很多呢,小区里边这个是从湖北回来的一些这个咱们的这些这个这个这个叫什么呀?叫老乡,好像还不是老乡是吧,咱们呃回来的从湖北回来的一些这个朋友们是吧?然后还有呢,就是比如说小区里边还有一些是得过这个新冠肺炎的一些人,他们治好了,诶还有这样的一些人等等吧,类似的这样的一些情况,那么大家想,那现在这个小区的这个就是一个封闭的一个系统了,我们呢,呃,现在呢,咱们说对象这块呢,是进行JC,咱这呢需要做的就是检疫,比如使用这个试纸呢,去检疫,看看谁呢是呈阳性,那就需要被带走,那相应的这这一小波人呢,就需要被隔离,那么这时候我们。
03:38
做检疫的时候,大家想我们有必要呢,对整个这个小区的人天天呢都做简疫吗?天天都做检疫,那你想想花费的时间,包括这个成本是非常高的,哎,我们说呢,就没有必要,有点类似于呢,比如说本身在这个北京那个小区里边没有疫情的这些人,就好比是我们放在老年代,不不需要呢,很高频的对他们进行检疫检测,对吧,他们本身就是安全的。
04:01
啊,就是不需要被回收的,那么对于从湖北回来的这些啊,这个朋友们啊,包括呢,是已经得过这个新冠的这些人,有可能他从阳又转阴。咱们好像看新闻有过这样的情况是吧,那对于这些人的话呢,咱们是不是要经常的对他们进行一些检测检疫啊,包括呢,就是给他们隔离起来。啊,这个我昨天发现呢,我我住的这个对门这个邻居啊,他就是从湖北这个黄石回来的啊,因为我有一次这个听到他这个门响了,但是始终没看看到过人,那因为小区呢,就是要求他必须在居家隔离不能出来啊,在门上呢,还贴了一个封条啊,这感觉还挺吓人的哈,就是呃,对于这些特殊群体的话呢,这个工作站的人就需要呢,经常对他们进行一个检疫啊,直接监控,那就类似于我们新生代中的这个对象一样,我们需要呢,频繁的去回收他们这些空间。那我们没有必要呢,就是对于没事的这些人呢,天天还是检疫检测的是吧,诶浪费人力物力,那主要目的呢,是为了提升我们这个工作的一个效率,就类似于我们分店呢,为了优化这个这些性能是一样子的啊大家呢,去体会一下我们这个堆空间为什么要分带就可以了。
我来说两句