language-iconOld Web
English
Sign In

Finalization

In computer science, a finalizer or finalize method is a special method that performs finalization, generally some form of cleanup. A finalizer is executed during object destruction, prior to the object being deallocated, and is complementary to an initializer, which is executed during object creation, following allocation. Finalizers are strongly discouraged by some, due to difficulty in proper use and the complexity they add, and alternatives are suggested instead, primarily the dispose pattern – see problems with finalizers. In computer science, a finalizer or finalize method is a special method that performs finalization, generally some form of cleanup. A finalizer is executed during object destruction, prior to the object being deallocated, and is complementary to an initializer, which is executed during object creation, following allocation. Finalizers are strongly discouraged by some, due to difficulty in proper use and the complexity they add, and alternatives are suggested instead, primarily the dispose pattern – see problems with finalizers. The term 'finalizer' is primarily used in object-oriented and functional languages that use garbage collection, of which the archetype is Smalltalk. This is contrasted with a 'destructor', which is a method called for finalization in languages with deterministic object lifetimes, archetypically C++. These are generally exclusive – a language will have either finalizers (if garbage collected) or destructors (if deterministic), but in rare cases a language may have both, as in C++/CLI and D, and in case of reference counting (instead of tracing garbage collection), terminology varies. In technical usage, 'finalizer' may also be used to refer to destructors, as these also perform finalization, and some subtler distinctions are drawn – see terminology. The term 'final' is also used to indicate a class that cannot be inherited; this is unrelated.

[ "Programming language" ]
Parent Topic
Child Topic
    No Parent Topic
Baidu
map