J
JB
Experts,
in an application I'm using serialization of big data structures. For
deserialization purpose, the VM seems to generate and load classes (see
subject), which takes it some 100 milliseconds. Unfortunately, when a
full gc occurs, these classes get unloaded, resulting in the need of
regenerating and loading them the next time a serialized data structure
is accessed.
My java -version is 1.5.0_07-b03
Loading and unloading of these classes have been tracked by
"-verbose:class -verbose:gc"
My questions are:
1. Why are these classes generated? I'd like to understand this
concept, but can't find any information about it.
2. How can I prevent the garbage collector from unloading them?
Note that -Xnoclassgc doesn't help. The classes are not unloaded, but
nevertheless newly generated and loaded the next time an object is
deserialized.
Thanks in advance
JB
in an application I'm using serialization of big data structures. For
deserialization purpose, the VM seems to generate and load classes (see
subject), which takes it some 100 milliseconds. Unfortunately, when a
full gc occurs, these classes get unloaded, resulting in the need of
regenerating and loading them the next time a serialized data structure
is accessed.
My java -version is 1.5.0_07-b03
Loading and unloading of these classes have been tracked by
"-verbose:class -verbose:gc"
My questions are:
1. Why are these classes generated? I'd like to understand this
concept, but can't find any information about it.
2. How can I prevent the garbage collector from unloading them?
Note that -Xnoclassgc doesn't help. The classes are not unloaded, but
nevertheless newly generated and loaded the next time an object is
deserialized.
Thanks in advance
JB