Why is it preferred to not use finalize for clean up, DOT NET Programming

Assignment Help:

The Problem with finalize is that the garbage collection has to make 2  rounds in order to remove the  objects which have finalize methods.

The figure below will make things clear regarding the two rounds of garbage collection rounds performed for the objects having finalized methods.

In this scenario there are 3 objects Object1, Object2 and Object3. The Object2 has the finalize method overridden and remaining objects do not have the finalize method overridden.

Later  when garbage collector runs for the first time it searches for the objects whose memory has to free. He can see 3 objects but it only cleans the memory for Object1 and Object3.The Object2 it pushes to the finalization queue.

Now garbage collector runs for the second time. He views that  there are no objects to be released and then checks for the finalization queue and at this moment it clears object2 from the memory.

So if you notice that object2 was released from memory in the second round and not first. That's why the best method is not to write clean up Non.NET resources in Finalize method rather use the DISPOSE.

 

2474_Finalize.png


Related Discussions:- Why is it preferred to not use finalize for clean up

Sorting 2 arrays & merging into 1 - c# program, Sorting 2 Arrays & Merging ...

Sorting 2 Arrays & Merging into 1 - C# Program Hello, i didn't find the correct way to implement Array in my project. I am beginner for this language.  Please suggest me some

Explain Add References Dialog Box, What is the difference between "using Sy...

What is the difference between "using System.Data;" and directly adding the reference from "Add References Dialog Box"? When you compiles a program using command line, u add th

Locate bug in website, Locate BUG website Project Description: Can yo...

Locate BUG website Project Description: Can you find a bug in easports fifa 14 ultimate team web app (easports/fifa/football-club/ultimate-team) so that i will earn a lot of

Live projects, current available topics on computer graphics

current available topics on computer graphics

I want a c# windows app, I want a C# Windows App Project Description: ...

I want a C# Windows App Project Description: Windows App written in C# that can: Check for Internet connection Load dynamic web site If Internet connection drops rec

Web server connections, Question 1 Discuss the following with respect to ....

Question 1 Discuss the following with respect to .NET Technologies Web Applications Web Server Connections Question 2 Write a sample program using ASP.NET explain

Xpath, Define XPATH. XPATH is an XML query language to select specific ...

Define XPATH. XPATH is an XML query language to select specific section of an XML document. By using XPATH you can address or filter elements and text in a XML document. For il

Dispose method in .net, What is Dispose method in .NET? The .NET provid...

What is Dispose method in .NET? The .NET provides "Finalize" method in which we can clean up our resources. But relying on this is not always better so the best is to implement

What are the differences between ajax and javascript, What are the differen...

What are the differences between AJAX and JavaScript? The differences among AJAX and JavaScript are given as follows: AJAX sends request to the server and does not wait for

We want help in asp.net mvc developer, We want help in ASP.NET MVC Develope...

We want help in ASP.NET MVC Developer I want an expert ASP.NET MVC, C#,LINQ, SQL Server2012, JQuery, Angular JS, Bootstrap Responsive UI developer for more 6+ months. Desired

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd