How does Garbage collector(GC) works in .net
Answer Posted / suresh.gv
Garbage CollectorMark-sweep algorithm)
If there is any memory defeciency then only GC will called
by CLR.
Low priority thread its run on its own thread.
It calls JIT compiler.
It maintains Apps_route table there all the objects are
maintained.those will seen by garbage collector
3 types of objects:
1. Short Leaved Objects/young objects
 Objects which are less referenced.
2. Long Leaved Objects/Older Objects
Objects which referenced more
3. Oldest Objects
Objects which are globally accessed
It maintain these objects in to 3 Generations:
Gen0 Gen1 Gen3
promote to --> promote to -->
contains object1 contains object2 contains object3
First goes to Gen-0::
If any object is used then it swaps/promote that object to
Gen-1.otherwise it destroys that object immediately.
Same will happen for Gen-1
Still the memory is adequate then it goes to Gen-2
Still memory is adequate it raise exception
memory insufficient exception
This is called as Non-Deterministic Finalization.
GC destroys only Managed Objects only not UNManaged Objects
Determenistic Finalization queue.
In this
Supress Finalize:: in this destructors will not CALLED
UnManaged Objects:
1.ADO.Net
2.Networking/Socket Programming.
3.IO(File Handling)
4.RCW / CCW / PIS
All the classes can have
 Close()/dispose()
We have to call them after completion objects usage.
Is This Answer Correct ? | 17 Yes | 4 No |
Post New Answer View All Answers
How can you handle errors in Web API?
Why mvc is faster than asp.net? : Asp.Net MVC
Is there any property names “isnavigating”?
Which method is used to force all the validation controls to run?
8. Why do you want to work here?
Explain the code Access Security (CAS) in .net Framework?
Why mvc is better than asp.net? : Asp.Net MVC
Why do we need a web application session?
i want to implement grid view value in paypal site. so how to create this code in asp.net with C#
What is the use of session?
What are the benefits of Razor View?
Explain the difference between debug.write and trace.write? When should each be used?
What is the purpose of using MVC programming pattern in ASP.NET?
What are the session variables?
Why Unload event of MasterPage Calls first in ASP.net ?