After becoming the .NET Compact Framework (.NETCF) dynamic memory management module owner I am continually learning a lot about the subject. Based on hallway discussion I figured out that a lot of developers are not very clear about the subject and would like to learn more. Most online material I encountered gets into too much of details and implementation for most casual readers.
So here is my attempt to write up a series on GC. I plan to cover the basic stuff and then move into details of .NET CF GC including performance, profiling. I plan to cover bits of desktop .NET GC as well (but for that Maoni’s blog is a better resource) The first two in this series is already published. I will keep this post updated to act as an index into the series.
- Memory allocation, a walk down the history
- Why use garbage collection
- Reference Counting Garbage Collection
- Mark-sweep garbage collection
- Copying garbage collection
- Optimizing reference counting garbage collection
- Handling overflow in mark stage
- Generational Garbage Collection
- How does the GC find object references
- More to come … :)
In case you have some suggestion send it my way and I will try to include that as well…