一、简介
今天是《Net 高级调试》的第十二篇文章,这篇文章写作时间的跨度有点长。这篇文章我们主要介绍 GC 的垃圾回收算法,什么是根对象,根对象的存在区域,我们也了解具有析构函数的对象是如何被回收的,终结器队列和终结器线程也做到了眼见为实,最后还介绍了一下大对象堆的回收策略,东西不少,慢慢体会吧。我们了解了对象出生、成长、终结的整个生命周期,明白了托管堆的分类、对象的分类、GC 的回收策略,对托管对象和非托管对象都有了跟深入的认识,这些是 Net 框架的底层,了解更深,对于我们调试更有利。当然了,第一次看视频或者看书,是很迷糊的,不知道如何操作,还是那句老话,一遍不行,那就再来一遍,还不行,那就再来一遍,俗话说的好,书读千遍,其意自现。
如果在没有说明的情况下,所有代码的测试环境都是 Net Framewok 4.8,但是,有时候为了查看源码,可能需要使用 Net Core 的项目,我会在项目章节里进行说明。好了,废话不多说,开始我们今天的调试工作。