Rip*_*ips 5 java performance jvm performance-testing jboss7.x
我们正在对我们的一个遗留应用程序进行性能测试,当时我们发现没有类加载持续增加,从而导致非堆内存的增加。
现在我正在寻找根本原因,我能想到的一件事是,在几个地方我们使用 Class.forName ,如下所示:
Test a = (Test) Class.forName(className, false, Test.class.getClassLoader()).newInstance();
Run Code Online (Sandbox Code Playgroud)
这能是一个理由吗?如果上述代码语句中的类名相同,则调用 class.forName 是否会一次又一次加载相同的类。
应用服务器:Jboss 6.1 EAP
JDK:1.6.27
由于类加载器是相同的,因此它不会再次加载该类。仅当您有多个类加载器在不同时间点加载类时,才可以再次重新加载同一个类。
每个类加载器首先检查要加载的类是否已经加载。如果它没有加载,那么只有它会加载它。
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |