Atul
Atul

Reputation: 2711

classes managing own memory

Effective Java: Item 6: Eliminate obsolete object references.

Generally speaking, whenever a class manages its own memory, the programmer should be alert for memory leaks. Whenever an element is freed, any object references contained in the element should be nulled out.

I don't think I fully understood the description.

What are the examples of a class managing its own memory - I can think of array, list, maybe map.

Could anyone explain the item in somewhat more details it is there in the book? Thanks

Upvotes: 7

Views: 245

Answers (2)

ColWhi
ColWhi

Reputation: 1077

It maybe speaking about programming your own classes as well as the other answer. So for instance if you have a class that manages memory or resources, then you need to make sure you release the memory or resource when the class is destroyed. A good example of this is if you have a class that manages a connection to a database. The connection would have to be closed to release the resource before your class is destroyed.

Upvotes: 1

L. Cornelius Dol
L. Cornelius Dol

Reputation: 64036

One simple example is ArrayList, where, when an element is deleted from the end of the list it has to null the array element, not simply decrease the "last element" index. Otherwise the object removed remains reachable by the ArrayList.

Upvotes: 4

Related Questions