The moose likes Java in General and the fly likes Aggregation in Java Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


JavaRanch » Java Forums » Java » Java in General
Reply Bookmark "Aggregation in Java" Watch "Aggregation in Java" New topic
Author

Aggregation in Java

Ravi Kiran Va
Ranch Hand

Joined: Apr 18, 2009
Posts: 2229

Hi

while reading an example for Aggregation .
I got with this from a site .

"My Object consists of other Objects which can live even after MyObject is destroyed ".

Now my question will this be not a memory leak ?

Aggregation: Life times of the objects are not the same, one object can live even after the other object has been destroyed.

Please Can i get a java example for the above statement .

This message was edited 1 time. Last update was at by Ravi Kiran V



Save India From Corruption - Anna Hazare.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 24962
What about Strings which are coded as literals? They remain in the String pool until the class has been unloaded.
What about something which has a second reference in another class, maybe a List?
Ravi Kiran Va
Ranch Hand

Joined: Apr 18, 2009
Posts: 2229

Thank you.

The first point made by you explains nice.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 24962
You're welcome
Rob Spoor
Saloon Keeper

Joined: Oct 27, 2005
Posts: 17194

Ravi Kiran V wrote:Now my question will this be not a memory leak ?

Only if the remaining references should not be there (which is a programming error), but mostly objects remain because they are still needed. That means it's not a memory leak since that means the objects are not needed at all but still use memory.


SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
Embla Tingeling
Ranch Hand

Joined: Oct 22, 2009
Posts: 237
Ravi Kiran V wrote:
My Object consists of other Objects which can live even after MyObject is destroyed ".

Now my question will this be not a memory leak ?


This is a misunderstanding. Aggregation is a design relationship. It has nothing to do with the disposal of objects when they're no longer used.

Ordinary composition describes how a class is constructed from other classes. Aggregation composition on the other hand describes the temporary relationships a class can form.

One example is a Car. A Car is constructed from of its Parts. It owns them. If a Part is misssing the Car is broken. Car forms a composition relationship with its Parts.

But a Car also can have Passengers. The Passengers aren't Parts of the Car. When a Passenger is missing the Car isn't broken. The Car doesn't own its Passengers. When they're not in the Car they're elsewhere. The relationship is temporary. Passengers come and go. Car forms an aggregation relationship with its Passengers.

Note that both are composition relationships really. A Car has Parts and it has Passengers. The difference is the duration. The relationship with Parts is forever whereas the relationship with Passengers is temporary.

This message was edited 2 times. Last update was at by uj nossnahoj

 
 
subject: Aggregation in Java
 
WebSphere development made easy
without the weight of IBM tools
http://www.myeclipseide.com