00:00
呃,然后呢,我们补充的第二个内容呢,叫做垃圾回收器的一个分类啊,我们希望呢,不光给大家去讲解我们这个新特性了啊,也希望大家对这个垃圾回收器呢,有一个更全面的一个认识,那关于垃圾回收器的分类呢,这块我们从不同的角度呢进行一个说明,呃,这个呢,我们可以这样啊呃,后续呢,咱们在十月底啊,或者是11月初的时候呢,这个我会录制一个课哈,叫Java虚拟机的一个核心技术啊,这个课件呢做的差不多了啊,当然还需要花这个时间呢去给大家讲解哈。呃,那么第三章关于垃圾回收算法和垃圾回收器,那么我们到目前为止呢,使用的垃圾回收器大概有哪些呢?这块呢提到了这样的一些。啊,Sial回收器啊,帕EL回收器parallel啊回收器CMS和G1啊,这呢是我们针对JAVA8这个版本的哈,后续呢,咱们知道在呃这个JAVA11当中提到这个ZJC啊,伊克龙JC啊,包括我们12当中提到这个呃,神豆啊JC啊,这都属于这个新的垃圾回收器了啊,那么这些垃圾回收器啊,后边呢,也标识了它的主要的一个特点是什么啊,那我们进行一个区分啊,就说垃圾回收器呢很多,那我们进行个分类,首先呢,是按照这个线程数来分,可以分成呢,叫串型垃圾回收器和并行的垃圾回收器,呃,下边这个图呢,比较清楚,这叫串行,这叫并行。
01:20
啊说呢,这个不管你是有几个CPU啊,我们在进行垃圾回收的时候啊,这个都提到一个叫stop the word了啊,那串行呢,就意味着我们只能有一个CPU呢,进行垃圾的回收啊,这叫串行的操作。那么并行操作呢,就指的是我们在停止了这个应用程序的线程的情况下,也有stop the word这个情况下呢,我们可以有哎多个线程,哎多个CPU呢,哎并行的去执行啊,这就自然而然的分成叫串行和并行,那么很显然,哎我们这个并行的垃圾回收的这个效果呢,要更好一些,因为更快嘛,多个线程呢去执行。那这是按照这个区分的,那么在我们这里边呢,就要提提到一个就是传统的叫zero,它就属于一个串行的回收啊,来实现呢,对新生代的一个垃圾回收啊,那么这个诶帕new呢,就是实现了一个叫并行的回收,哎,它的收集效果呢,比我们这个CE呢要更快一些啊,效率更高。
02:15
好,这是说的这个问题,那么接下来呢,提到一个叫按照按照这个工作模式来分,可以分成叫并发式的回收和毒占独占式的垃圾回收,什么叫并发式呢?就是我们这个垃圾回收和我们应用程序的这个线程啊,可以交替的工作,哎这样的话呢,我们尽量少的去减少应用程序的一个stop the world的这个时间啊,这个也是我们后续啊垃圾回收去不断的更新的一个主要原因啊,我们现在给大家讲解的叫神豆,我呢叫第一停顿时间啊,主要目的呢,其实也是为了要减少这个应用程序时间,这个停顿时间,那很显然我们这个神豆啊呢,就属于一个并发式的垃圾回收。啊,那在我们这里边呢,像这个CMS,包括G1诶,他们都属于叫并发式的垃圾回收啊,你像CMS也是比较典型的,呃,实现这叫低延迟啊,我们这里边神豆呢,也是这样个特点啊,那么所谓的独占式呢,就是一旦我们在进行垃圾回收的过程当中啊,应用程序的线程都不能够再去工作了啊,就是完全的是一个stop the word的一个状态,哎,我们称为叫独占式。
03:20
OK,这是一种分类的角度,下边一个呢,是按照这个碎片的一个处理方式啊,分成叫压缩式的和非压缩式的啊这就涉及到啊垃圾回收的具体的一些算法了,那么所谓的这个压缩式的垃圾回收呢,指的是在回收完呃回收完这个垃圾以后呢,我们对存活的对象呢,是否进行一个呃压缩整理,呃,那关于这个是否进行压缩整理呢?就提到了这个压缩的呃这个垃圾呢在清除过程当中的一个算法了,比如说呃复制算法,这个主要是针对这个新生代的啊啊你是标记清除还是标记压缩啊,就涉及到你会不会对呃已存活的对象呢进行一个压缩处理啊,这呢就直接导致了我们会不会产生这个碎片的问题啊,你要是压缩的话呢,那就不会产生碎片啊,没有压缩就会产生碎片啊,这个细节呢,我们就先不展开来说了啊好,那么再接着呢,是按照这个工作的这个内存区间,诶,我们是针对于堆空间中的这个年轻带或者是叫新生带回收的,还是针对于老年代回收的,诶我们进。
04:21
进行了一个划分啊,这呢是相当于对垃圾收集器的一个划分的角度,那么我们这里边讲的叫神豆啊,大家呢,在我们讲解完以后,你也可以给他归归类,你看呢,是按不同的角度来分,它应该是叫什么垃圾回收器啊这样。
我来说两句