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

Black box testing & white box testing, What is black box testing & White bo...

What is black box testing & White box testing? The Black box testing is also termed as functional testing. It ignores how the internal functionality of a system works & depends

Data set and data reader, What is difference between data set and data read...

What is difference between data set and data reader? Some major differences between dataset and datareader are as folows :- 1) The DataReader gives forward-only and read-onl

What is the difference between sub-procedure and function, What is the main...

What is the main difference between sub-procedure and function? The sub-procedure is a block of multiple visual basic statements within Sub and End Sub statements. It is used t

Create page website to catalog some of the music, Create page website to ca...

Create page website to catalog some of the music: A homepage:  that automatically comes up when you go to 127.0.0.1:3000 (instead of the default Ruby-on-Rails pa

Payroll managment, how can i construct er diagram for payroll managment

how can i construct er diagram for payroll managment

I want decompile ex5 files, i want decompile ex5 files Project Descripti...

i want decompile ex5 files Project Description: i want decompile some ex5 files like indicators, scripts and eas i need in format mq5 can do this to me? Skills required

Mention the execution process for managed code, Mention the execution proce...

Mention the execution process for managed code. A piece of managed code is executed as follows:     Choosing a language compiler     Compiling the code to MSIL     Com

Types of dependencies in cache, What are the types of dependencies in cache...

What are the types of dependencies in cache? Whenever you add an item to the cache, the dependency relationships is define that can force that item to be removed from the cache

C# application creates a minimal student enrolment system, This assignment ...

This assignment is about writing a C# application that creates a minimal student enrolment system. The application will display lists of papers and students. The user can enrol stu

Need software reconfiguration, Need Software Reconfiguration Project Des...

Need Software Reconfiguration Project Description: I have a small program -exe that after selecting an item from the menu it start an .xls file and executes a security proces

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