Wednesday, September 2, 2009

What is garbage collection

Garbage collection is a CLR feature which automatically manages memory. Programmers forget to release the objects while coding ..... laziness ( Remember in VB6 where one of the good practices is to set object to nothing).

CLR automatically releases objects when they are no longer referenced and in use.

CLR runs on non-deterministic to see the unused objects and cleans them.

One side effect of this non-deterministic feature is that we cannot assume an object is destroyed when it goes out of the scope of a function. Therefore, we should not put code into a class destructor to release resources.

so. The object which are not currently in use and their is no chances of it to be used in future, then GC can release its memory, but its not guaranteed that GC will relase the memory as soon as it is applicable to GC. but when the remain less in that situation it is guarantee that GC will release the memory.

we can run GC maiually:- System.GC.Collect() forces garbage collector to run.This is not recommended but can be used if
situations arises

Share This!

Powered By Blogger · Designed By Seo Blogger Templates