What is the region of memory that .NET objects are allocated to and where they will be automatically destroyed by the garbage collector sometime in the future?
The managed heap
When you use the C# new keyword, the return value is a reference to the object that is stored on the heap. Where is the reference stored?
The stack
What is a short and incomplete answer to the question of how the .NET garbage collector knows when an object is no longer needed?
When it is unreachable by any part of the code base
What does the .NET runtime build during a garbage collection process that represents every reachable object on the heap?
An object graph
What does the managed heap maintain to identify exactly where the next object will be located (C#)?
The next object pointer
What will the .NET runtime do if it determines that the managed heap does not have sufficient memory to allocate the requested type when processing a newobj instruction?
It performs a garbage collection
How are objects on the managed heap in .NET divided so that the runtime does not have to literally examine every object there?
Each object on the heap is assigned to a "generation"
When the .NET garbage collector investigates the generation 0 objects and finishes getting rid of objects, what happens to any objects that survived?
They are promoted to generation 1
What happens when the .NET garbage collector examines and gets rid of generation 0 objects that it can but additional memory is still required?
It then evaluates generation 1
Previous card
First card
Random order
Next card