00:00
好,那么各位同学,那么接下来我们来先来玩新生代,那么言下之意,新生代123可以用几种算法,共计三种,那么来我们来看看新生代主要有创新。并行还有什么并行回收,好,那么这个时候注意一般哈,你新生代根据这一张生态圈,你基本上你新生代配了什么一种算法,言下之意,你不用再去特别的去强调老年代配哪种算法,说白了他们两个是相互关联的,如果有点类似于,就是假设你现在新生代用了这个Siri创新垃圾收集器,那么自动。老年代会被激活这个垃圾收集器来对你进行遥相呼应,一一配合。所以说新生代的垃圾回收机制。非常重要,那么过来我们来看第一种叫串行g c Siri,那么这两个名字,言下之意,这个两个名字是等价的,这么说能跟上,因为刚才杨哥这上面是不是还有张图,别到时候让同学们误会了,所以说我干脆我备课的时候,我就给你们全部一锅端了,来先学最简单的一种叫串行GC。
01:19
好,那么这个时候什么叫创新GC呢?那么同学们跟我讲。Siri收集器,也就是我们这儿的左上角的第一个Siri,一句话是一个单线程的收集器,在进行垃圾收集的时候,必须暂停其他的工作线程,就是用户的这些业务逻辑正常的应用程序停直照等他收集完成,有点类似于兄弟们请看这张图,创新收集12344个。应用线程四个顾客正在吃饭呢,STW前面讲过了,什么叫s tw stop the word是不是暂停应用程序?这四位顾客,不好意思啊,我们现在要打扫卫生,麻烦你们先离开餐桌出去一下,我们要暂停一下你们的吃饭的这个应用。
02:03
那么同学们你懂的,这个是不是用户体验肯定不好,然后等你打扫干净了,我们再回来吃啊,那么以此类推,这个就叫串行收集器,那么干嘛呢?它是最古老,最稳定以及效率最高的收集器,简单嘛,就是要么干活,要么收集,要么干活要么收集,那么没有牵扯到什么。这个互相的交替出现,它只使用几个,一个单一嘛,肯定简单,那么我相信这个也好理解,那么它呢。坏处就是在收集过程中需要暂停其他的工作线程,本来这些是APP application线程,应用线程暂停,我要GC线程上来了,你们给我暂停,我要去收集垃圾回收,腾出空间来,你们才能够更好的什么。运行,所以说它呢,不好,就是要暂停好处啊,简单高效一个嘛,那么所以说。对于限定单个CPU的环境来说,就是单核只有一个CPU,那么现在回答我这个东东现在还是可能是硬件上是单核嘛,所以说这个呢,就了解说穿了创新垃圾收集器,那么工作中也不会用了,那么呢,没有现成的交互开销可以获得最高的当线程垃圾收集效率,换句话说,它就是client模式下的新生代。
03:17
是吧,哪个带的新生代的垃圾收集器那么好,同学们,它对应的参数是这样一个情况,你怎么样开启这个串行垃圾收集器呢?就要加这个参数,你只要开启后默认在样区就会用这个串行收集器在。Old的区就会用Siri old,那么这两个进行组合,也就是说我只要配这么一个参数,自动就会激活是吗?新生代用创新收集器,老年代用the old也是创新收集器的组合,也即配这个参数,也就是这个参数using use s g线,就把这个这个这条线给打通了,秒懂。
04:05
OK,那么来,同学们,我们只要一配了以后,我们就会发现,在新生代。和老年代都会使用串行回收收集器,那么新生代我们用复制算法,老年代用标记整理算法,好,那么同学们,我们在这儿请大家看杨哥刚才是不是带着大家看了这些英文单词啊,叫参数的预先说明啊,放心,如果只讲这样的一种理论,那就是干嘛。胡扯淡,杨哥的风格永远是三板斧理论。代码小总结,那么现在理论讲完了。什么理论?第一个串行垃圾收集器只要,那么用哪个参数来激活?我们是不是要用这个参数来激活,那么然后激活以后结果是怎么样,是这个,那杨哥你讲的是否正确,那么这个时候我们是不是第二步进行到我们的代码实操的这样的一个演示啊,那么所以说为了保证同学们对于七大垃圾收集器的掌握,我每一种收集器都会给同学们干嘛详细的讲,那么这个时候。
05:12
提前写好,那么来同学们第一种我们呢,就是配这个,那么来看看我们的这个参数。初始空间十兆。最大的实兆打印出GC的回收的detail细节,这个参数还记不记得是干嘛的,是不是打印出我们家尾巴那些参数,看看当前的默认拉接收器是谁,现在看我们说过了显示的定义,这个我们相当于说是什么,是不是符合我们现在讲的这个参数要激活这样的一种垃圾回收,说穿了是不是把这条线给激活,那么好,同学们,我们来看一下。我们现在呢是GCDEMO这么一个APP,那么GCDEMO好,那么这个时候来兄弟们,那么假如说我现在已经把它改为了创行GC,那么OK,那么来看看我们的结论和效果是什么,那么大家请看。
06:06
当然啊,下面的程序可以先大家看一下哈,下面程序是我随便,哎呀,这个都不多说了,就是故意。OK,不废话,那么这个呢,不重要,重要的是看我们的,因为只有这样不停的去666 666是不是GC和负GC才会产生,然后产生GC和负GC,看看你用的是在年轻贷和养老袋分别各自用了什么样的垃圾回收器,那么好,同学们,我们来看一下我们的效果。那么这个时候干嘛呢?初始值不废话,你看屁股后面跟着什么,是不是现在?串行GC垃圾回收器我们设置正确,那么好GC负GC,那么来请看DEF尿,那么就是说明什么?默认的如果你用这个垃圾收集器就是所谓的创新垃圾收集器,那么new generation,那么言下之意def new什么意思啊?同学么,DF6是不是叫default new generation讲过了,那么言下之意说明什么?新生代就会用起默认的哪一个就是创新垃圾会受限,那么杨哥老年代呢,就变成什么ten yard的,那么这个时候大家请看,直到最后负GC了以后,那么呢,同学们呢,就会看到。
07:17
最下面看。D new generation,下面你看我们都明白多是不是有新生区,养老区和space构成下面的OM,不要管我故意给他弄出来的对不对,那么来弟兄们,我们这儿可以看到,所以说如果你配置这个。探索代表启动是吧,串行垃圾回收器,那么其械效果就是年轻袋用的是串行垃圾收集器,养脑袋用的也是创行垃圾收集器,那么言下之意就是新生代要停,养袋也要停,这个要用。串行垃圾收集器thei这个药老年代也用了这个thei o的收集器的组合好,那么这个就是我们的thei是吗?串行垃圾收集器,那么就给大家先介绍到这儿。
我来说两句