What is the difference between Finalize and Dispose (Garbage collection)
Answer Posted / kirti
Class instances often encapsulate control over resources that are not managed by the runtime, such as window handles (HWND), database connections, and so on. Therefore, you should provide both an explicit and an implicit way to free those resources. Provide implicit control by implementing the protected Finalize Method on an object (destructor syntax in C# and the Managed Extensions for C++). The garbage collector calls this method at some point after there are no longer any valid references to the object. In some cases, you might want to provide programmers using an object with the ability to explicitly release these external resources before the garbage collector frees the object. If an external resource is scarce or expensive, better performance can be achieved if the programmer explicitly releases resources when they are no longer being used. To provide explicit control, implement the Dispose method provided by the IDisposable Interface. The consumer of the object should call this method when it is done using the object.
Dispose can be called even if other references to the object are alive. Note that even when you provide explicit control by way of Dispose, you should provide implicit cleanup using the Finalize method. Finalize provides a backup to prevent resources from
permanently leaking if the programmer fails to call Dispose.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
what is .edmx file and what it contains?
what is entity framework advantage?
what is lazy loading in entity framework?
What is the importance of NonActionAttribute?
Is dapper better than entity framework?
If we write any code for DataGrid methods, what is the access specifier used for that methods in the code behind file and why?
What are the 3 main components of an asp.net mvc application?
Explain the request flow in asp.net mvc framework?
Please explain me what the project manager will ask in the interview.The interview is for senior position in .Net (5 years experience )
What is page life cycle?
Can any particular component of .net framework 3.0 be removed?
Give an example for authorization filters in an asp.net mvc application?
What is difference between viewbag and viewdata and tempdata?
Explain the methods used to render the views in ASP.Net MVC?
What are authentication filters in web api?