0

我在连续的 javacore 转储中观察到类加载器的地址在 Websphere 6.1 (IBM JVM 1.5.0) 中发生了变化。类加载器下面的类具有不变的地址。那么在新地址上不是同一个类加载器吗?

例如在第一个 javacore

2CLTEXTCLLOAD 加载程序 com/ibm/ws/classloader/CompoundClassLoader(0x00002AAABF5BB7F0)
3CLTEXTCLASS org/eclipse/emf/ecore/EObject(0x00002AAB24684B30)

在后来的 javacore

2CLTEXTCLLOAD 加载程序 com/ibm/ws/classloader/CompoundClassLoader(0x00002AAABF5AB6E0)
3CLTEXTCLASS org/eclipse/emf/ecore/EObject(0x00002AAB24684B30)

之前在 0x00002AAABF5BB7F0 的类加载器下的同一个类,现在类加载器在 0x00002AAABF5AB6E0

我试图找出一个类卸载问题,这似乎并没有让挖掘堆转储时的生活更轻松。

4

2 回答 2

1

也许 GC 正在压缩堆。将 -Xnocompactgc 或 -Xnocompactexplicitgc 视为通用 JVM 参数。请参阅 IBM JDK 诊断文档: http ://www.ibm.com/developerworks/java/jdk/diagnosis/

于 2009-07-28T05:25:05.267 回答
0

如果应用程序停止并重新启动,不会因为有应用程序类加载器而为您的类创建新的类加载器吗?

您是否因为本机堆消耗或其他原因而担心这一点?

于 2009-07-24T09:21:58.230 回答