I have an unusual Class structure, when I'm thinking may be leading to some GC issues.
I have a Class: public class Styles
This contains a: public static class Style implements Serializable
Then I have a: public abstract class StyleDescription extends Style
Which contains a: public static final class CellStyleDescription extends StyleDescription
So, the class hierarchy of CellStyleDescription is pretty unusual.
Instances of this Class are created, serialized, then later read back in and processed. I know static classes do not handled differently by the garbage collector, but always at the end of processing, I have millions of these Classes still still in memory. Nothing in my code looks like it could be contributing to the instances not being GC'd, except this Class hierarchy.
Has anyone experienced anything similar? Or know of anything to look out for with regard to GC and serialization of static classes?
Cheers, Ro
EDIT:
What I should have pointed out is these classes are created then added to another Object (CellInfo) as member variables .... I can see the instances of this class (which is the only container of CellStyleDescription) being GC'd