Under the Hood of .NET Memory Management

Download free PDF

Download your free eBook.

About the eBook

by Chris Farrell and Nick Harrison

Buy from Amazon.comKindle
Buy from

As well-engineered as the .NET framework is, it’s not perfect, and it doesn’t always get memory management right. To write truly fantastic software, you need to understand how .NET memory management actually works. This book will take you from the very basics of memory management, all the way to how the OS handles its resources, and will help you write the best code you can.

The .NET framework is a triumph of software engineering – a complex edifice of interlocking parts, so it’s no wonder concrete information is a little hard to come by. For all that the framework is very good at what it does, it is not infallible, and a deeper understanding of how it works can only improve the quality of the code written by those in the know.

This book starts with an introduction to the core concepts of .NET memory management and garbage collection, and then quickly layers on additional details and intricacies. Once you’re up to speed, you can dive into the guided troubleshooting tour, and tips for engineering your application to maximise performance. And to finish off, take a look at some more sophisticated considerations, and even a peek inside the Windows memory model.

Chris and Nick, with decades of development experience between them, and methodical approach, provide a clear, well-lit path into what has previously been misty and half-seen territory. There’s much, much more they could have written, but we only have one book to fill, so consider this instead to be your first solid stepping stone.

Table of Contents

  • Chapter 1: Prelude
  • Chapter 2: The Simple Heap Model
  • Chapter 3: A Little More Detail
  • Chapter 4: Common Memory Problems
  • Chapter 5: Application-Specific Problems
  • Chapter 6: A Few More Advanced Topics
  • Chapter 7: The Windows Memory Model

About the authors

Chris Farrell has over 20 years of development experience, and has spent the last seven as a .NET consultant and trainer. For the last three years, his focus has shifted to application performance assurance, and the use of tools to identify performance problems in complex .NET applications. Working with many of the world’s largest corporations, he has helped development teams find and fix performance, stability, and scalability problems with an emphasis on training developers to find problems independently in the future.

When not analyzing underperforming websites or writing iPhone apps, Chris loves to spend time with his wife and young son swimming, bike riding, and playing tennis. His dream is to encourage his son to play tennis to a standard good enough to reach a Wimbledon final, although a semi would be fine.

Nick Harrison is a software architect who has worked with the .NET framework since its original release. His interests are varied and span much of the breadth of the framework itself. On most days, you can find him trying to find a balance between his technical curiosity and his family/personal life.


  • Twitter
  • Facebook
  • LinkedIn