Since J2SE1.2 JVM incorporated different algorithms and that are combined using generational collection.This mechanism can be compared with a container or bucket kind of thing, where new object or infant/young objects are kept another as tenured and the third is permanent. The objects lying in young container are more often checked and quick to go in garbage state while this phenomenon decreases with tenure. So when objects are old enough or survive enough to be part of tenure zone then they become less likely to be garbage collected.The JVM specific classes and method objects are part of permanent zone and are never garbage collected.
So it is quite likely that non reachable object still remains out of bound of gabage collection due to how much time an object has survived for as mentioned above, how much heap space JVM is consuming for its running,if it is low then whole process of garbage collection slows down.
More you would like to explore here.


0 comments:
Post a Comment