00:00
同学们,我们呢,下面呢开始上课。大家都收到收得到屏幕了吧。那么接下来我们来继续。那么讲解我们今天的重点垃圾回收器。昨天呢,给大家呢,讲了第六道题目,那今天的话呢,我们呢,来看一下我们的第七道题目,那么开始之前,那么先带着大家呢,把我们以前讲的GC给大家呢,简单的呃,再串讲一下,我打开一下PPT给大家看一下。好,那么同学们呢,跟着我复习的呢,也挺对哈,那么这些的话呢,就不再多废话,那么这些大部分的呢,都给大家讲过了。那么OK,那么接下来呢,我们不浪费时间了,这道题昨天讲过了,那么给大家再看一下这道题的延伸的一道题目,现在问的非常多。怎么查看服务器默认的垃圾收集器?生产上如何配置配置垃圾收集器,谈谈你对垃圾收集器的理解,我把这种题目呢都归为了一类哈,说穿了就是考一个。
01:07
GC的垃圾收集器。那么这哈同学们,我们把六七两道题目,昨天晚上讲的和今天早上要将要讲的那么结合起来,首先在这块呢,它主要是考你的GC这个知识点,那么现在呢,就是说以前是考GM多,然后呢又考GMM多,现在呢,尽量的呢区分人才,区分你的知识的深。透明细,也就是说你学知识啊,基本上这四个字啊,哈,要婉转哈,建建出一张知识体系的网,要深刻。通透。明白。细致。深、透、明、细这四个维度是现在你对大厂技术挑战必须要做到的那么好。同学们,杨哥常年讲过一句话,你只要听过我的课,一定听过这么一句话,叫天上飞的理念必然有落地的实现,那么这个天上飞的理念就是一种思想。
02:02
那么这个时候的话,基本上我们是什么呢?四大垃圾。回收。这样的话呢,一种算法。或者说是一种算法思想。那么这四个分别是什么呀?同学们,那么第一个是不是引用计算,第二个是复制拷贝,第三个是标记清除,第四个是标记整理,也就标记压缩整理,我们就简写了哈,那么这四种思想。我们已经反复的说过很多了,不再重复啊,只是给大家梳理重要的是什么天上飞的理念,以前你就跟人家讲讲垃圾回收算法的思想有哪些啊,这四个答一下,哎呀,哪些好哪些,那比方说这个有什么,那个碎片,那么这个呢,浪费了空间等等,这个呢,最终什么都解决了,但是性能又下降又慢,对吧,它要压缩整理嘛。那么现在的问题就是。天上飞的理念有了,那么落地的实现呢?那么昨天我们粗略的呢,讲了四种。
03:02
那么分别是什么东东啊?那么大家都明白是不是串行回事。那么。那么呢,然后呢,并行回收。然后呢,我们是不是又讲了并发回收。然后呢,我们又讲了记忆。那说穿了。一个。多个这两个,下面这个。以一个打扫卫生说过一个问题。多个人,多个清洁工来打扫,是不是要比一个人清洁工打扫要快一点,但是他们两个中间会产生什么?S tw stops word会导致应用程序暂停,那么然后呢,我们的c Mo,那么这块是不是并发标记清楚啊?那么并发标记清楚呢,就可以在某些情况下可以一边运行用户的程序,一边垃圾回收,停顿时间要比前两者更好。但是由于它产生的是什么并发标记清除,叫并发CMS啊,那么言下之意,它有个问题叫什么内存碎片,那么之后不停的迭代优化了以后,我们呢,出现了G1这个。
04:09
垃圾回收的方式。那么说穿了。是不是就这张图那么好。接下来我们再要把这个问题。再要深化,那么言下之意,我们今天要学的是七种什么垃圾回收。好,再把上面这四种思想再让他落地,那么OK了,那么这也就是我们的什么第七题的总纲,其实第七题基本上是什么三题合一,都可以单独的拿出来。好,我们不废话,那么直接开打。首先,怎么查看默认的垃圾收集器是哪一个?那么言下之意,同学们,我们现在杨哥的这个程序,我最简单的就是一个hello GC,这个大家肯定都懂,拿这个做过很多case了,那么你跟我讲我现在Java。
05:05
干嘛呢,运行了以后哈,根本就没有配过任何东西,比方说我们现在hello g。那么跑起来那么好,同学们请看后台什么都没答出来哈,我们这言下之意,Hello TC Java虚拟机的参数选项什么都没配,那么请问。就这么运行它的默认JAVA8,默认的现在装上去的垃圾收集器是些什么东东?那么这我们要学一个默认的命令,首先这个也讲过,叫Java。X print command line flex,是不是打印出它加的一些初始的一些参数那么low一眼同学们。那么我将它复制啊,那么大家呢,露一眼。跑到这儿,我们呢,老规矩,现在哈,什么都没有。在这块切记啊,什么也没配。那么这块我把它删掉,那么大家看这块是不是什么都没有,那么OK,我们干什么呢。
06:05
我粘贴。一回车大家看,那么打打印出这个版本就不多废话了,那么print commander flagx啊,这个就是什么GVM,最初始化的一些默认参数啊,我们前面都讲过了,这个是什么初始对内存大小,最大的对内存大小,那大家请看。这儿有个什么动刀?Use什么?Parallel GC,那么说穿了言下之意就是我们的Java吧,现在它的默认的垃圾回收器是用这个,它上面的一种思想叫并行回收,Parallel GC叫并行垃圾回收器,OK,那么当然同学们如果说还有印象的同学,那么这个时候我们往上翻。查看默认值的时候,大家还记不记得杨哥在前面讲了,为了好讲课,这个时候我讲过这个命令。这是。
07:05
第一种情况,还记不记得这个命令我讲过。第二种情况,我们在说基本参数调优的时候,我为了方便给大家好看参数的时候,大家还记不记得我干过这么一件事。拿过来。这个命令前面我们是不是运行过,这个时候干嘛。看英语单词也知道,这种情况下是不是就是用串行回收的方式开始使用串行垃圾回收器,这个就叫并行垃圾回收器。那么Java刚刚开始的时候很弱,干嘛它是用串行,因为什么事情都是从简单到复杂,从低级到高等。那么之后慢慢的优化,现在呢,是用的是什么。并行垃圾回收器,我们讲过了,你多个人打扫卫生,总比一个人要打扫卫生要快,对不对?那么从这我们可以通过前面。前后映照我们可以得到干嘛?下图红色的就是我们的默认垃圾收集器,也就是说假设人家问你说怎么查看默认的垃圾收集器,那么呢,用这个命令可以获得第二个结论,我们可以知道干嘛?现在JAVA8你刚刚抓上去以后没有过多的做设置和调整,直接运行这个参数,我们可以得到现在你默认的垃圾回收器就是什么。
08:25
并行垃圾回收器好,那么对于这个知识点还有这道小题目,怎么查看默认的垃圾收集器?我们就给大家说到这儿。
我来说两句