好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PPT Garbage Collection in .Net (内存管理)

PPT Garbage Collection in .Net (内存管理)

Garbage Collection in .Net

描述了.Net GC

原理 高性能和稳定性 Demo 最佳实践

PPT下载:  https://files.cnblogs.com/PurpleTide/GC.pptx

范例代码下载:  https://files.cnblogs.com/PurpleTide/Code.7z

工具: windbg sos sosex

备注:很多内容是口述的,ppt只是大纲

最近一直忙于项目,好久没写文章了,今天终于有些时间,把一些沉淀和思考总结一下,希望对大家有所帮助,也是对知识的一次梳理。

转眼做 windows 开发已经有 5 年的时间了, 5 年时间一直徘徊在几个大系统之间,原型设计,组件设计,重构, features 实现,调试,修改 bug ,写过 C++ ,用过 COM , ATL ,写过 .Net ,做过互操作,写过 services 用过 WCF ,可以说十八般武艺至少都尝试过,不敢说精通,但是至少对大部分的问题有自己的理解。

首先我把目标锁定在 Windows 平台,因为我的工作要求我在这个平台下去做,实战经验也都是在这个平台上面积累起来的。对于 Linux 和 Java 我也会关注一些相关的东西,也会去学习,但是限于个人兴趣,同时也是为了更好的在 windows 平台上面完成我的工作。

首先我们来说说做 Windows 开发的必备知识,我们的目标是写运行在 windows 上的代码,所以我们需要对 Windows  本身有所了解,这样在我们写的代码遇到相关问题的时候我们才知道该干什么,什么是对的,什么事不对的,那么以下我所列举的就是最基本的一些知识。

1.         进程和线程的关系以及同步,线程池技术。

2.         什么是用户模式,什么是内核模式,什么是 windows session/terminal 。

3.         什么是虚拟内存,为什么会有内存泄漏,如何去抓内存泄露。

4.         什么叫对象,什么叫句柄,如何监控句柄和对象的泄露。

5.         什么叫注册表,和 COM 有什么关系, .Net 是怎么建立起来的,互操作的原理是什么。

下面说说工具,好的工具往往可以达到事半功倍的效果,对的时候用对的工具很重要。

Procexp.exe :有了这个工具所有 callstack, DLL ,句柄,   调用关系一目了然。

Procmon.exe :这个工具可以帮你监控差不多所有类型的文件。

Wireshark:  遇到网络问题的时候,抓包分析很方便。

Performance:  抓 memory Leak,  分析用户态和内核态相关的问题很有用。

Windbg/SOS :   当你需要调试,客户环境又不允许你用 visual studio 的时候,通过他们你可以看到一切你想看的东西。

时间关系先写这些啦,希望对大家有所帮助。

 

分类:  C++ ,  有感而发 ,  原创文章

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于PPT Garbage Collection in .Net (内存管理)的详细内容...

  阅读:43次

上一篇: REST 入门介绍

下一篇:二叉查找树5