.NET 架構(gòu)設(shè)計與調(diào)試優(yōu)化培訓課程?
?
?
課程簡介:
本課程基于.Net運行時的性能,從開發(fā)、調(diào)試、測試 多個層次剖析性能相關(guān)的因素,講解性能優(yōu)化方法。
|
?
|
培訓目標:
|
·?基于C#語言進行.NET程序開發(fā)
·?開發(fā)高性能的.NET應(yīng)用程序
·?對.NET程序性能進行監(jiān)控和分析
·?優(yōu)化現(xiàn)有應(yīng)用程序性能
·?診斷和修復內(nèi)存泄露、死鎖、程序崩潰等常見問題
·?使用第三方工具監(jiān)控程序行為
|
培訓對象:
基于C#語言進行.NET程序開發(fā),對.NET Framework有一定了解
|
學員基礎(chǔ):
熟悉操作系統(tǒng)基本概念,了解CPU時間片,虛擬內(nèi)存概念,進城和線程的概念
|
培訓內(nèi)容:
|
1.性能檢測
|
·?性能檢測工具概述
·?Windows 性能檢測計數(shù)器
·?CPU profilers –實例和分析解說
·?內(nèi)存分配性能檢測
·?內(nèi)存泄露監(jiān)控
·?并發(fā)性能檢測
·?Windows事件追蹤器
·?Windows 性能檢測工具介紹
|
2.數(shù)據(jù)類型的內(nèi)部結(jié)構(gòu)
|
·?值類型和引用類型的性能區(qū)別
·?同步內(nèi)存索引
·?虛擬化方法性能比較
·?裝箱操作的性能探討
·?比較動作的性能優(yōu)化
|
3.垃圾回收機制?
|
·?引用計數(shù)垃圾回收與追蹤機制
·?堆對象的管理
·?標記交換節(jié)點
·?線程的掛起與垃圾回收
·?非托管資源的管理
·?迭代器與內(nèi)部應(yīng)用計數(shù)
·?虛擬內(nèi)存管理
·?Finalization與性能的管理
·?弱引用對象管理
·?垃圾回收的最佳實踐
|
4.泛型的使用
|
·?泛型在運行時的工作方式介紹
·?.NET泛型與Java 泛型和 C++ templates的比較
|
5.Unsafe Code
|
·?非托管代碼的內(nèi)存管理
·?從非托管內(nèi)容中復制出數(shù)據(jù)
·?C# 中指針的使用
|
6.集合對象的使用?
|
·?集合對象的性能比較
·?CPU緩存與熱數(shù)據(jù)優(yōu)化
·?用戶自定義集合對象的優(yōu)化
|
7.JIT 的優(yōu)化
|
·?JIT 的優(yōu)化
|
8.異常的捕獲
|
·?異常捕獲
·?調(diào)試模式與斷點追蹤
·?內(nèi)存 DUMP
|
9.Windbg 介紹
|
·?Windbg 工作原理
·?Windbg 腳本編寫
·?Windbg 擴展插件
|
10.使用 visual studio 調(diào)試介紹
|
·?斷點與追蹤工具
·?數(shù)據(jù)與函數(shù)斷點
·?線程工具
·?并行任務(wù)分析
·?靜態(tài)代碼分析
|
11.擴展調(diào)試工具
|
·?Performance Counters
·?Process Explorer
·?Process Monitor
·?Application Compatibility Toolkit
·?ETW and Xperf
·?GFlags
|
12.工程實踐經(jīng)驗分享
|
·?靈活的設(shè)置斷點技巧
·?分析內(nèi)存泄露的基本流程
·?監(jiān)控對象技巧
·?監(jiān)控線程和棧的技巧
|
?
|
?