开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜