Java Reference
In-Depth Information
< Day Day Up >
7. Instance Creation and Destruction
This section concerns constructors, pseudoconstructors, instance initialization, and finalization.
7.1. Instance initializers execute before constructor body
Prescription: If a self-typed instance field causes recursion during construction, ensure that the
recursion terminates.
References: Puzzle 40 ; [JLS 12.5].
7.2. Invoking an overridden method from a constructor causes method
to run before instance is initialized
Prescription: Never invoke an overridable method from a constructor.
Use lazy initialization to resolve initialization cycles.
References: Puzzle 51 ; [EJ Items 15 and 48].
7.3. Failure to null out references can cause memory leaks
Prescription: Null out obsolete object references in long-lived objects. Failure to do so results in
memory leaks, more properly known as unintended object retention s in garbage-collected
languages, such as Java.
References: [EJ Item 5].
7.4. Failure to add a private constructor makes a class instantiable
Prescription: If you want a class to be uninstantiable, add a private constructor.
More generally, always provide at least one constructor; never depend on the default constructor.
References: [EJ Item 3].
7.5. Finalizers are unpredictable, dangerous, and slow
Prescription: Avoid finalizers.
References: [EJ Item 6].
 
 
Search WWH ::




Custom Search