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
I have an external link in my application say www.xyztest.com. Today this site works on http protocal. Tommorow it may run on https. So i cant hardcore the protocal in the site. When a user clicks on the link how can i know if the external site works on http or https and takes him to that place?
How can we Validate a Controls in ASP.NET page using JavaScript?
Explain server control extensibility with reference to asp.net 2.0 ?
What is the function used for removing an event listener?
What is difference between session and cookie?
What are assemblies and namespaces and explain the difference between them ?
How to reduce the width of textbox in editcommandcolumn of datagrid?
Why is it preferred to not use finalize for clean up?
What is asp.net response object?
What is an assembly? Explain its parts.
How many types of server controls do we have?Also explain differance between them taking an example of ASP.NET?
What parameters can you pass in the url of the api? Can get and post use the same url?
Explain server-side scripting?
What are the ways to sending the data in ASP.NET page?
What is server side in asp.net?