//new 创建对象 //5 publicstaticvoidnewObject(){ long startTime = System.currentTimeMillis (); int i; for (i = 0; i 100000000; i++) { ReflectDemo reflectDemo = new ReflectDemo (); } if (i == 100000000) { long endTime = System.currentTimeMillis (); System.out.println ("new耗时为:" + (endTime - startTime)); } }
//反射 创建对象 //30 publicstaticvoidproxyObject()throws IllegalAccessException, InstantiationException { long startTime = System.currentTimeMillis (); Class reflectDemoClass = ReflectDemo.class; int i; for (i = 0; i 100000000; i++) { ReflectDemo reflectDemo = reflectDemoClass.newInstance (); } if (i == 100000000) { long endTime = System.currentTimeMillis (); System.out.println ("反射耗时为:" + (endTime - startTime)); } } }
最终我们发现,
new 100000000
个对象和反射创建 100000000 个对象,效率相差了很多倍。