加载类数的总数不断增加

时间:2014-02-24 09:58:31

标签: java performance jvm jboss7.x performance-testing

当我们发现没有任何类加载不断增加导致非堆内存增加时,我们正在对我们的一个遗留应用程序进行性能测试。

现在我正在寻找rootcauses,我能想到的一件事就是在几个地方我们正在使用Class.forName,如下所示:

Test a = (Test) Class.forName(className, false, Test.class.getClassLoader()).newInstance();

这可能是一个原因吗? 如果classname在上面的代码语句中是相同的,那么调用class.forName会一次又一次地加载相同的类。

应用程序服务器:Jboss 6.1 EAP

JDK:1.6.27

1 个答案:

答案 0 :(得分:2)

因为,类加载器会相同,所以它不会再次加载类。再次。只有当您有多个类加载器在不同的时间点加载类时,才能重新加载同一个类。

每个类加载器首先检查是否已加载要加载的类。如果未加载,则仅加载它。

相关问题