我一直试图理解使用new实例化对象与使用之间的区别Class.forName("A").newInstance();.
我已经为一个简单的类运行了以下代码,该类A显示使用Class.forname("A").newInstance()比使用just的速度慢70-100倍new A().
我很想知道为什么会有这么大的时间差异,但无法弄清楚.请有人帮我理解原因.
public class Main4test {
public Main4test() {
}
static int turns = 9999999;
public static void main(String[] args) {
new Main4test().run();
}
public void run() {
System.out.println("method1: " + method1() + "");
System.out.println("method2:" + method2() + "");
}
public long method2() {
long t = System.currentTimeMillis();
for (int i = 0; i < turns; i++) {
try {
A a = (A) Class.forName("A").newInstance();
} catch (InstantiationException …Run Code Online (Sandbox Code Playgroud)