I present at a lot of the local Florida code camps (and some out of state ones as well) and have a set of presentations that I do which focus on.NET memory management, specifically a "deep dive" on how the GC works and another presentation which talks about how to implement the Dispose pattern properly.
I was doing some additional research today to update my list of resources in the presentations and decided to publish that list here as well. This is not an exhaustive list, but it is a subset of the books, articles, blogs and presentations that I used to form the content for my presentations.
Books
-!(https://www.assoc-amazon.com/e/ir?t=scotdorm-20&l=ur2&o=1) (Jeffrey Richter)
- (Ben Albahari, Peter Drayton, and Brad Merrill)
- (Thuan Thai and Hoang Q. Lam)
- (Venkat Subramaniam)
- (Juval Löwy)
- (Krzysztof Cwalina and Brad Abrams) -!(https://www.assoc-amazon.com/e/ir?t=scotdorm-20&l=ur2&o=1) (Krzysztof Cwalina and Brad Abrams)
Articles
- Garbage Collection: Automatic Memory Management in the Microsoft.NET Framework (Jeffrey Richter)
- Garbage Collection - Part 2: Automatic Memory Management in the Microsoft.NET Framework (Jeffrey Richter)
- CLR Inside Out: Investigating Memory Issues (Claudio Caldato and Maoni Stephens)
- Implementing IDisposable and the Dispose Pattern Properly (Scott Dorman)
- SafeHandle and Constrained Execution Regions (Scott Dorman)
- Production Debugging for.NET Framework Applications (MSDN Library, patterns & practices)
- Automatic Memory Management (MSDN Library, Visual Studio 2008 Developer Center)
- Garbage Collection (MSDN Library, Visual Studio 2008 Developer Center)
Presentations, Webcasts, Podcasts
- (Jeffrey Richter, Tech·Ed 2005 presentation)
- (Justin Smith)
Blogs
- Paul Wilson
- Maoni Stephens
- Using GC Efficiently – Part 1
- Using GC Efficiently – Part 2
- Using GC Efficiently – Part 3
- Using GC Efficiently – Part 4
- So, what’s new in the CLR 2.0 GC?
- Clearing up some confusion over finalization and other areas in GC
- Large Object Heap
- GC Performance Counters
- I Am a Happy Janitor – Part 1: Finding garbage
- DG Update: Dispose, Finalization, and Resource Management (Joe Duffy)
- When GC.KeepAlive Doesn’t (Chris Lyon)
- How To: Tune the.NET Framework (Channel 9)
- (Vineet Gupta)
- Mid-life crisis (Rico Mariani)
- Memory management in the.NET Framework (Johan Straarup)
Tools
- CLR Profiler
- FxCop
- Performance Monitor
- WinDbg
- SOS Debugging Extensions
