• 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++,用过COMATL,写过.Net,做过互操作,写过services用过WCF,可以说十八般武艺至少都尝试过,不敢说精通,但是至少对大部分的问题有自己的理解。

    首先我把目标锁定在Windows平台,因为我的工作要求我在这个平台下去做,实战经验也都是在这个平台上面积累起来的。对于LinuxJava我也会关注一些相关的东西,也会去学习,但是限于个人兴趣,同时也是为了更好的在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的时候,通过他们你可以看到一切你想看的东西。

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

     
  • 相关阅读:
    AMD64 Instruction-Level Debugging With dbx
    Solaris 10上安装Oracle 11g
    Dave-oracle
    SSD 下的 MySQL IO 优化
    vmware 网络工作方式
    PLSQL Developer 配置Oralce11g连接 转
    LINUX下的21个特殊符号 转
    linux 内核调试相关资料
    mysql 源代码编绎
    Windows Performance Toolkit
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2508064.html
Copyright © 2020-2023  润新知