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
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
.
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.
精彩评论