12 2023 档案
Net 高级调试之十五:经典的锁故障
摘要:一、简介 今天是《Net 高级调试》的第十五篇文章,这个系列的文章也快结束了,但是我们深入学习的脚步还不能停止。上一篇文件我们介绍了C# 中一些锁的实现逻辑,并做到了眼见为实的演示给大家它们底层是如何实现的,今天这篇文件就主要介绍一些如何查找和解决在项目调试中遇到的锁的问题,比如:死锁、孤立锁、线程
阅读全文
Net 高级调试之十四:线程同步的基础知识和常见的同步原语
摘要:一、介绍 今天是《Net 高级调试》的第十四篇文章,这篇文章我们主要介绍和线程相关的内容,当然不是教你如何去写多线程,更不会介绍多线程的使用方法和API,今天,我们主要讲一下锁,一说到多线程,就会有并发的问题,也可以说是线程安全的问题,锁是没有办法避开的一个话题。我们今天不讲锁的使用方法,主要是关注
阅读全文
Net 高级调试之十三:托管堆的几个经典破坏问题
摘要:一、介绍 今天是《Net 高级调试》的第十三篇文章,这篇文章写作时间的跨度有点长。这篇文章我们主要介绍 经典的案例,如何查找问题,如何解决问题,最重要我们看到了问题,要有解决的思路,没有思路就是死路一条了,当然,这个过程也不是一帆风顺的,我是做了很多遍,最终猜得到了想要的东西。当然了,第一次看视频或
阅读全文
Net 高级调试之十二:垃圾回收机制以及终结器队列、对象固定
摘要:一、简介 今天是《Net 高级调试》的第十二篇文章,这篇文章写作时间的跨度有点长。这篇文章我们主要介绍 GC 的垃圾回收算法,什么是根对象,根对象的存在区域,我们也了解具有析构函数的对象是如何被回收的,终结器队列和终结器线程也做到了眼见为实,最后还介绍了一下大对象堆的回收策略,东西不少,慢慢体会吧。
阅读全文
Net 高级调试之十一:托管堆布局架构和对象分配机制
摘要:一、简介 今天是《Net 高级调试》的第十一篇文章,这篇文章来的有点晚,因为,最近比较忙,就没时间写文章了。现在终于有点时间,继续开始我们这个系列。这篇文章我们主要介绍托管堆的架构,对象的分配机制,我们如何查找在托管堆上的对象,我学完这章,很多以前很模糊的概念,现在很清晰了,知道了对象代的分配,大对
阅读全文