Java反射reflect之Class.forName(className)性能测试

Class.forName(className).getDeclaredConstructor().newInstance(); 的性能主要消耗在forName上,比newInstance慢十倍左右
SecurityManager有一个native本地方法getClassContext()也能获得当前类的class, 速度比Class.forName稍微快一些

ClassForName性能测试220603253 AMD4800H64G

代码

package classForName;


public class ClassForName性能测试220603253 {
	
	public static String myName() {class C{}String cn=C.class.getName();return cn.substring(0,cn.lastIndexOf('$'));}
	public static String mySimpleName() {String cn=myName();return cn.substring(cn.lastIndexOf('.')+1,cn.length());}
	
	static String myName=myName() , mySimpleName=mySimpleName();
	static Class<?> myClass;
	static {try{myClass=Class.forName(myName);}catch(Throwable t) {t.printStackTrace();}}
	
	final static void pln(Object...oar) {for(Object o:oar)System.out.println(o);}
	final static String trt(String tag, Object...oar) {
		StringBuilder sb = new StringBuilder("<tr>");
		for(Object o:oar)sb.append("<"+tag+">"+o+"</"+tag+">");
		return (sb+"</tr>");
	}
	final static String trth(Object...oar) {return trt("th",oar);}
	final static String trtd(Object...oar) {return trt("td",oar);}
	
	final static int w = 10000;
	final static int amountArray[] = new int[] {
			w,w,w,w,w,w,
			w,20000,30000,40000,50000,60000,70000,80000,90000,
			w,20000,30000,40000,50000,60000,70000,80000,90000,
			10*w, 20*w, 30*w, 40*w, 50*w, 60*w, 70*w, 80*w, 90*w,
//			100*w,
			100*w, 200*w, 300*w, 
//			100*w, 200*w, 300*w, 400*w, 500*w, 600*w, 700*w, 800*w, 900*w,
//			1000*w, 2000*w, 3000*w, 4000*w, 5000*w, 6000*w, 7000*w, 8000*w, 9000*w,
//			1*w*w,
//			1*w*w, 2*w*w, 3*w*w,
//			1*w*w, 2*w*w, 3*w*w, 4*w*w, 5*w*w, 6*w*w, 7*w*w, 8*w*w, 9*w*w,
//			10*w*w,
			};
	
	
	final static void main(int amount) throws Exception {
		long t1 = System.currentTimeMillis();
		for(int c=0; c<amount; c++) {			Class.forName(myName);		}
		long t2 = System.currentTimeMillis();
		long cost1 = t2-t1;
		pln(trtd("Class.forName(myName)", amount+"次",amount/10000D+"万次",amount/100000000D+"亿次",cost1+" 毫秒",cost1/1000D+" 秒"));
		for(int c=0; c<amount; c++) {		Class.forName(myName).getDeclaredConstructor().newInstance();			}
		long t3 = System.currentTimeMillis();
		long cost2 = t3-t2;
		pln(trtd("Class.forName(myName).getDeclaredConstructor().newInstance()", amount+"次",amount/10000D+"万次",amount/100000000D+"亿次",cost2+" 毫秒",cost2/1000D+" 秒"));
		for(int c=0; c<amount; c++) {		ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance();			}
		long t4 = System.currentTimeMillis();
		long cost3 = t4-t3;
		pln(trtd("ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()", amount+"次",amount/10000D+"万次",amount/100000000D+"亿次",cost3+" 毫秒",cost3/1000D+" 秒"));
		for(int c=0; c<amount; c++) {		Class.forName("java.lang.String");			}
		long t5 = System.currentTimeMillis();
		long cost4 = t5-t4;
		pln(trtd("Class.forName(\"java.lang.String\")", amount+"次",amount/10000D+"万次",amount/100000000D+"亿次",cost4+" 毫秒",cost4/1000D+" 秒"));
		for(int c=0; c<amount; c++) {		new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c();			}
		long t6 = System.currentTimeMillis();
		long cost5 = t6-t5;
		pln(trtd("new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()", amount+"次",amount/10000D+"万次",amount/100000000D+"亿次",cost5+" 毫秒",cost5/1000D+" 秒"));
	}
	public static void main(String...arguments) throws Exception{
		pln("<table><thead>"
				+ trth("执行什么","执行次数","执行万次数","执行亿次数","用时(毫秒)","用时(秒)")
				+ "</thead><tbody>");
		for(int amount:amountArray)main(amount);
		pln("</tbody></table>",myName,mySimpleName);
		pln(myClass==ClassForName性能测试220603253.class);
		pln(myClass==new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c());
	}

}

结果1

执行什么执行次数执行万次数执行亿次数用时(毫秒)用时(秒)
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次18 毫秒0.018 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次35 毫秒0.035 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次13 毫秒0.013 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次11 毫秒0.011 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次9 毫秒0.009 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次9 毫秒0.009 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)20000次2.0万次2.0E-4亿次17 毫秒0.017 秒
Class.forName(myName).getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次18 毫秒0.018 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次4 毫秒0.004 秒
Class.forName("java.lang.String")20000次2.0万次2.0E-4亿次12 毫秒0.012 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()20000次2.0万次2.0E-4亿次7 毫秒0.007 秒
Class.forName(myName)30000次3.0万次3.0E-4亿次24 毫秒0.024 秒
Class.forName(myName).getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次17 毫秒0.017 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")30000次3.0万次3.0E-4亿次9 毫秒0.009 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()30000次3.0万次3.0E-4亿次11 毫秒0.011 秒
Class.forName(myName)40000次4.0万次4.0E-4亿次32 毫秒0.032 秒
Class.forName(myName).getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次23 毫秒0.023 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")40000次4.0万次4.0E-4亿次13 毫秒0.013 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()40000次4.0万次4.0E-4亿次13 毫秒0.013 秒
Class.forName(myName)50000次5.0万次5.0E-4亿次40 毫秒0.04 秒
Class.forName(myName).getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次45 毫秒0.045 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")50000次5.0万次5.0E-4亿次16 毫秒0.016 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()50000次5.0万次5.0E-4亿次16 毫秒0.016 秒
Class.forName(myName)60000次6.0万次6.0E-4亿次48 毫秒0.048 秒
Class.forName(myName).getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次71 毫秒0.071 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")60000次6.0万次6.0E-4亿次18 毫秒0.018 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()60000次6.0万次6.0E-4亿次18 毫秒0.018 秒
Class.forName(myName)70000次7.0万次7.0E-4亿次37 毫秒0.037 秒
Class.forName(myName).getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次37 毫秒0.037 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")70000次7.0万次7.0E-4亿次20 毫秒0.02 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()70000次7.0万次7.0E-4亿次21 毫秒0.021 秒
Class.forName(myName)80000次8.0万次8.0E-4亿次41 毫秒0.041 秒
Class.forName(myName).getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次42 毫秒0.042 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")80000次8.0万次8.0E-4亿次24 毫秒0.024 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()80000次8.0万次8.0E-4亿次25 毫秒0.025 秒
Class.forName(myName)90000次9.0万次9.0E-4亿次46 毫秒0.046 秒
Class.forName(myName).getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次48 毫秒0.048 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次3 毫秒0.003 秒
Class.forName("java.lang.String")90000次9.0万次9.0E-4亿次27 毫秒0.027 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()90000次9.0万次9.0E-4亿次28 毫秒0.028 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次0 毫秒0.0 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)20000次2.0万次2.0E-4亿次10 毫秒0.01 秒
Class.forName(myName).getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次11 毫秒0.011 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")20000次2.0万次2.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()20000次2.0万次2.0E-4亿次7 毫秒0.007 秒
Class.forName(myName)30000次3.0万次3.0E-4亿次15 毫秒0.015 秒
Class.forName(myName).getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次17 毫秒0.017 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")30000次3.0万次3.0E-4亿次9 毫秒0.009 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()30000次3.0万次3.0E-4亿次11 毫秒0.011 秒
Class.forName(myName)40000次4.0万次4.0E-4亿次21 毫秒0.021 秒
Class.forName(myName).getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次21 毫秒0.021 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次0 毫秒0.0 秒
Class.forName("java.lang.String")40000次4.0万次4.0E-4亿次12 毫秒0.012 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()40000次4.0万次4.0E-4亿次13 毫秒0.013 秒
Class.forName(myName)50000次5.0万次5.0E-4亿次25 毫秒0.025 秒
Class.forName(myName).getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次27 毫秒0.027 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")50000次5.0万次5.0E-4亿次16 毫秒0.016 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()50000次5.0万次5.0E-4亿次15 毫秒0.015 秒
Class.forName(myName)60000次6.0万次6.0E-4亿次31 毫秒0.031 秒
Class.forName(myName).getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次31 毫秒0.031 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")60000次6.0万次6.0E-4亿次18 毫秒0.018 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()60000次6.0万次6.0E-4亿次20 毫秒0.02 秒
Class.forName(myName)70000次7.0万次7.0E-4亿次35 毫秒0.035 秒
Class.forName(myName).getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次37 毫秒0.037 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")70000次7.0万次7.0E-4亿次20 毫秒0.02 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()70000次7.0万次7.0E-4亿次22 毫秒0.022 秒
Class.forName(myName)80000次8.0万次8.0E-4亿次41 毫秒0.041 秒
Class.forName(myName).getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次44 毫秒0.044 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")80000次8.0万次8.0E-4亿次23 毫秒0.023 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()80000次8.0万次8.0E-4亿次25 毫秒0.025 秒
Class.forName(myName)90000次9.0万次9.0E-4亿次46 毫秒0.046 秒
Class.forName(myName).getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次46 毫秒0.046 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")90000次9.0万次9.0E-4亿次27 毫秒0.027 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()90000次9.0万次9.0E-4亿次28 毫秒0.028 秒
Class.forName(myName)100000次10.0万次0.001亿次51 毫秒0.051 秒
Class.forName(myName).getDeclaredConstructor().newInstance()100000次10.0万次0.001亿次52 毫秒0.052 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()100000次10.0万次0.001亿次2 毫秒0.002 秒
Class.forName("java.lang.String")100000次10.0万次0.001亿次30 毫秒0.03 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()100000次10.0万次0.001亿次35 毫秒0.035 秒
Class.forName(myName)200000次20.0万次0.002亿次102 毫秒0.102 秒
Class.forName(myName).getDeclaredConstructor().newInstance()200000次20.0万次0.002亿次108 毫秒0.108 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()200000次20.0万次0.002亿次7 毫秒0.007 秒
Class.forName("java.lang.String")200000次20.0万次0.002亿次59 毫秒0.059 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()200000次20.0万次0.002亿次64 毫秒0.064 秒
Class.forName(myName)300000次30.0万次0.003亿次150 毫秒0.15 秒
Class.forName(myName).getDeclaredConstructor().newInstance()300000次30.0万次0.003亿次161 毫秒0.161 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()300000次30.0万次0.003亿次9 毫秒0.009 秒
Class.forName("java.lang.String")300000次30.0万次0.003亿次89 毫秒0.089 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()300000次30.0万次0.003亿次95 毫秒0.095 秒
Class.forName(myName)400000次40.0万次0.004亿次200 毫秒0.2 秒
Class.forName(myName).getDeclaredConstructor().newInstance()400000次40.0万次0.004亿次215 毫秒0.215 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()400000次40.0万次0.004亿次13 毫秒0.013 秒
Class.forName("java.lang.String")400000次40.0万次0.004亿次122 毫秒0.122 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()400000次40.0万次0.004亿次133 毫秒0.133 秒
Class.forName(myName)500000次50.0万次0.005亿次258 毫秒0.258 秒
Class.forName(myName).getDeclaredConstructor().newInstance()500000次50.0万次0.005亿次270 毫秒0.27 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()500000次50.0万次0.005亿次16 毫秒0.016 秒
Class.forName("java.lang.String")500000次50.0万次0.005亿次146 毫秒0.146 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()500000次50.0万次0.005亿次158 毫秒0.158 秒
Class.forName(myName)600000次60.0万次0.006亿次302 毫秒0.302 秒
Class.forName(myName).getDeclaredConstructor().newInstance()600000次60.0万次0.006亿次324 毫秒0.324 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()600000次60.0万次0.006亿次20 毫秒0.02 秒
Class.forName("java.lang.String")600000次60.0万次0.006亿次178 毫秒0.178 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()600000次60.0万次0.006亿次190 毫秒0.19 秒
Class.forName(myName)700000次70.0万次0.007亿次350 毫秒0.35 秒
Class.forName(myName).getDeclaredConstructor().newInstance()700000次70.0万次0.007亿次380 毫秒0.38 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()700000次70.0万次0.007亿次13 毫秒0.013 秒
Class.forName("java.lang.String")700000次70.0万次0.007亿次205 毫秒0.205 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()700000次70.0万次0.007亿次223 毫秒0.223 秒
Class.forName(myName)800000次80.0万次0.008亿次408 毫秒0.408 秒
Class.forName(myName).getDeclaredConstructor().newInstance()800000次80.0万次0.008亿次413 毫秒0.413 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()800000次80.0万次0.008亿次10 毫秒0.01 秒
Class.forName("java.lang.String")800000次80.0万次0.008亿次233 毫秒0.233 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()800000次80.0万次0.008亿次239 毫秒0.239 秒
Class.forName(myName)900000次90.0万次0.009亿次460 毫秒0.46 秒
Class.forName(myName).getDeclaredConstructor().newInstance()900000次90.0万次0.009亿次473 毫秒0.473 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()900000次90.0万次0.009亿次12 毫秒0.012 秒
Class.forName("java.lang.String")900000次90.0万次0.009亿次268 毫秒0.268 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()900000次90.0万次0.009亿次274 毫秒0.274 秒
Class.forName(myName)1000000次100.0万次0.01亿次503 毫秒0.503 秒
Class.forName(myName).getDeclaredConstructor().newInstance()1000000次100.0万次0.01亿次513 毫秒0.513 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()1000000次100.0万次0.01亿次14 毫秒0.014 秒
Class.forName("java.lang.String")1000000次100.0万次0.01亿次295 毫秒0.295 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()1000000次100.0万次0.01亿次297 毫秒0.297 秒
Class.forName(myName)2000000次200.0万次0.02亿次999 毫秒0.999 秒
Class.forName(myName).getDeclaredConstructor().newInstance()2000000次200.0万次0.02亿次1026 毫秒1.026 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()2000000次200.0万次0.02亿次25 毫秒0.025 秒
Class.forName("java.lang.String")2000000次200.0万次0.02亿次588 毫秒0.588 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()2000000次200.0万次0.02亿次602 毫秒0.602 秒
Class.forName(myName)3000000次300.0万次0.03亿次1509 毫秒1.509 秒
Class.forName(myName).getDeclaredConstructor().newInstance()3000000次300.0万次0.03亿次1543 毫秒1.543 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()3000000次300.0万次0.03亿次38 毫秒0.038 秒
Class.forName("java.lang.String")3000000次300.0万次0.03亿次876 毫秒0.876 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()3000000次300.0万次0.03亿次903 毫秒0.903 秒
classForName.ClassForName性能测试220603253 ClassForName性能测试220603253 true true

结果2

执行什么执行次数执行万次数执行亿次数用时(毫秒)用时(秒)
Class.forName(myName)10000次1.0万次1.0E-4亿次9 毫秒0.009 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次18 毫秒0.018 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次34 毫秒0.034 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次11 毫秒0.011 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次7 毫秒0.007 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次9 毫秒0.009 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)20000次2.0万次2.0E-4亿次16 毫秒0.016 秒
Class.forName(myName).getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次19 毫秒0.019 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次4 毫秒0.004 秒
Class.forName("java.lang.String")20000次2.0万次2.0E-4亿次11 毫秒0.011 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()20000次2.0万次2.0E-4亿次8 毫秒0.008 秒
Class.forName(myName)30000次3.0万次3.0E-4亿次24 毫秒0.024 秒
Class.forName(myName).getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次17 毫秒0.017 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")30000次3.0万次3.0E-4亿次11 毫秒0.011 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()30000次3.0万次3.0E-4亿次13 毫秒0.013 秒
Class.forName(myName)40000次4.0万次4.0E-4亿次36 毫秒0.036 秒
Class.forName(myName).getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次23 毫秒0.023 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")40000次4.0万次4.0E-4亿次12 毫秒0.012 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()40000次4.0万次4.0E-4亿次14 毫秒0.014 秒
Class.forName(myName)50000次5.0万次5.0E-4亿次40 毫秒0.04 秒
Class.forName(myName).getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次39 毫秒0.039 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")50000次5.0万次5.0E-4亿次16 毫秒0.016 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()50000次5.0万次5.0E-4亿次15 毫秒0.015 秒
Class.forName(myName)60000次6.0万次6.0E-4亿次48 毫秒0.048 秒
Class.forName(myName).getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次72 毫秒0.072 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")60000次6.0万次6.0E-4亿次18 毫秒0.018 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()60000次6.0万次6.0E-4亿次19 毫秒0.019 秒
Class.forName(myName)70000次7.0万次7.0E-4亿次36 毫秒0.036 秒
Class.forName(myName).getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次36 毫秒0.036 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")70000次7.0万次7.0E-4亿次21 毫秒0.021 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()70000次7.0万次7.0E-4亿次21 毫秒0.021 秒
Class.forName(myName)80000次8.0万次8.0E-4亿次41 毫秒0.041 秒
Class.forName(myName).getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次41 毫秒0.041 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")80000次8.0万次8.0E-4亿次24 毫秒0.024 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()80000次8.0万次8.0E-4亿次25 毫秒0.025 秒
Class.forName(myName)90000次9.0万次9.0E-4亿次45 毫秒0.045 秒
Class.forName(myName).getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次48 毫秒0.048 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次3 毫秒0.003 秒
Class.forName("java.lang.String")90000次9.0万次9.0E-4亿次27 毫秒0.027 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()90000次9.0万次9.0E-4亿次28 毫秒0.028 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次0 毫秒0.0 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)20000次2.0万次2.0E-4亿次11 毫秒0.011 秒
Class.forName(myName).getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次12 毫秒0.012 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")20000次2.0万次2.0E-4亿次7 毫秒0.007 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()20000次2.0万次2.0E-4亿次7 毫秒0.007 秒
Class.forName(myName)30000次3.0万次3.0E-4亿次15 毫秒0.015 秒
Class.forName(myName).getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次17 毫秒0.017 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")30000次3.0万次3.0E-4亿次9 毫秒0.009 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()30000次3.0万次3.0E-4亿次12 毫秒0.012 秒
Class.forName(myName)40000次4.0万次4.0E-4亿次20 毫秒0.02 秒
Class.forName(myName).getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次21 毫秒0.021 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")40000次4.0万次4.0E-4亿次12 毫秒0.012 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()40000次4.0万次4.0E-4亿次13 毫秒0.013 秒
Class.forName(myName)50000次5.0万次5.0E-4亿次26 毫秒0.026 秒
Class.forName(myName).getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次26 毫秒0.026 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")50000次5.0万次5.0E-4亿次16 毫秒0.016 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()50000次5.0万次5.0E-4亿次16 毫秒0.016 秒
Class.forName(myName)60000次6.0万次6.0E-4亿次31 毫秒0.031 秒
Class.forName(myName).getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次32 毫秒0.032 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")60000次6.0万次6.0E-4亿次19 毫秒0.019 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()60000次6.0万次6.0E-4亿次19 毫秒0.019 秒
Class.forName(myName)70000次7.0万次7.0E-4亿次36 毫秒0.036 秒
Class.forName(myName).getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次37 毫秒0.037 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")70000次7.0万次7.0E-4亿次22 毫秒0.022 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()70000次7.0万次7.0E-4亿次22 毫秒0.022 秒
Class.forName(myName)80000次8.0万次8.0E-4亿次41 毫秒0.041 秒
Class.forName(myName).getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次44 毫秒0.044 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")80000次8.0万次8.0E-4亿次24 毫秒0.024 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()80000次8.0万次8.0E-4亿次25 毫秒0.025 秒
Class.forName(myName)90000次9.0万次9.0E-4亿次46 毫秒0.046 秒
Class.forName(myName).getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次46 毫秒0.046 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")90000次9.0万次9.0E-4亿次26 毫秒0.026 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()90000次9.0万次9.0E-4亿次27 毫秒0.027 秒
Class.forName(myName)100000次10.0万次0.001亿次50 毫秒0.05 秒
Class.forName(myName).getDeclaredConstructor().newInstance()100000次10.0万次0.001亿次52 毫秒0.052 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()100000次10.0万次0.001亿次2 毫秒0.002 秒
Class.forName("java.lang.String")100000次10.0万次0.001亿次30 毫秒0.03 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()100000次10.0万次0.001亿次33 毫秒0.033 秒
Class.forName(myName)200000次20.0万次0.002亿次100 毫秒0.1 秒
Class.forName(myName).getDeclaredConstructor().newInstance()200000次20.0万次0.002亿次109 毫秒0.109 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()200000次20.0万次0.002亿次6 毫秒0.006 秒
Class.forName("java.lang.String")200000次20.0万次0.002亿次58 毫秒0.058 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()200000次20.0万次0.002亿次63 毫秒0.063 秒
Class.forName(myName)300000次30.0万次0.003亿次159 毫秒0.159 秒
Class.forName(myName).getDeclaredConstructor().newInstance()300000次30.0万次0.003亿次164 毫秒0.164 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()300000次30.0万次0.003亿次9 毫秒0.009 秒
Class.forName("java.lang.String")300000次30.0万次0.003亿次91 毫秒0.091 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()300000次30.0万次0.003亿次97 毫秒0.097 秒
Class.forName(myName)400000次40.0万次0.004亿次205 毫秒0.205 秒
Class.forName(myName).getDeclaredConstructor().newInstance()400000次40.0万次0.004亿次219 毫秒0.219 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()400000次40.0万次0.004亿次12 毫秒0.012 秒
Class.forName("java.lang.String")400000次40.0万次0.004亿次122 毫秒0.122 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()400000次40.0万次0.004亿次130 毫秒0.13 秒
Class.forName(myName)500000次50.0万次0.005亿次258 毫秒0.258 秒
Class.forName(myName).getDeclaredConstructor().newInstance()500000次50.0万次0.005亿次273 毫秒0.273 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()500000次50.0万次0.005亿次15 毫秒0.015 秒
Class.forName("java.lang.String")500000次50.0万次0.005亿次153 毫秒0.153 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()500000次50.0万次0.005亿次155 毫秒0.155 秒
Class.forName(myName)600000次60.0万次0.006亿次300 毫秒0.3 秒
Class.forName(myName).getDeclaredConstructor().newInstance()600000次60.0万次0.006亿次332 毫秒0.332 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()600000次60.0万次0.006亿次18 毫秒0.018 秒
Class.forName("java.lang.String")600000次60.0万次0.006亿次180 毫秒0.18 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()600000次60.0万次0.006亿次191 毫秒0.191 秒
Class.forName(myName)700000次70.0万次0.007亿次354 毫秒0.354 秒
Class.forName(myName).getDeclaredConstructor().newInstance()700000次70.0万次0.007亿次379 毫秒0.379 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()700000次70.0万次0.007亿次12 毫秒0.012 秒
Class.forName("java.lang.String")700000次70.0万次0.007亿次219 毫秒0.219 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()700000次70.0万次0.007亿次212 毫秒0.212 秒
Class.forName(myName)800000次80.0万次0.008亿次400 毫秒0.4 秒
Class.forName(myName).getDeclaredConstructor().newInstance()800000次80.0万次0.008亿次414 毫秒0.414 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()800000次80.0万次0.008亿次10 毫秒0.01 秒
Class.forName("java.lang.String")800000次80.0万次0.008亿次245 毫秒0.245 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()800000次80.0万次0.008亿次241 毫秒0.241 秒
Class.forName(myName)900000次90.0万次0.009亿次454 毫秒0.454 秒
Class.forName(myName).getDeclaredConstructor().newInstance()900000次90.0万次0.009亿次471 毫秒0.471 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()900000次90.0万次0.009亿次12 毫秒0.012 秒
Class.forName("java.lang.String")900000次90.0万次0.009亿次263 毫秒0.263 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()900000次90.0万次0.009亿次270 毫秒0.27 秒
Class.forName(myName)1000000次100.0万次0.01亿次510 毫秒0.51 秒
Class.forName(myName).getDeclaredConstructor().newInstance()1000000次100.0万次0.01亿次527 毫秒0.527 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()1000000次100.0万次0.01亿次13 毫秒0.013 秒
Class.forName("java.lang.String")1000000次100.0万次0.01亿次299 毫秒0.299 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()1000000次100.0万次0.01亿次313 毫秒0.313 秒
Class.forName(myName)2000000次200.0万次0.02亿次1016 毫秒1.016 秒
Class.forName(myName).getDeclaredConstructor().newInstance()2000000次200.0万次0.02亿次1051 毫秒1.051 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()2000000次200.0万次0.02亿次25 毫秒0.025 秒
Class.forName("java.lang.String")2000000次200.0万次0.02亿次601 毫秒0.601 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()2000000次200.0万次0.02亿次600 毫秒0.6 秒
Class.forName(myName)3000000次300.0万次0.03亿次1509 毫秒1.509 秒
Class.forName(myName).getDeclaredConstructor().newInstance()3000000次300.0万次0.03亿次1569 毫秒1.569 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()3000000次300.0万次0.03亿次38 毫秒0.038 秒
Class.forName("java.lang.String")3000000次300.0万次0.03亿次903 毫秒0.903 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()3000000次300.0万次0.03亿次913 毫秒0.913 秒
classForName.ClassForName性能测试220603253 ClassForName性能测试220603253 true true

结果3 , 最高次数调整到100万次

执行什么执行次数执行万次数执行亿次数用时(毫秒)用时(秒)
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次19 毫秒0.019 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次35 毫秒0.035 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次12 毫秒0.012 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次9 毫秒0.009 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次11 毫秒0.011 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次8 毫秒0.008 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次10 毫秒0.01 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)20000次2.0万次2.0E-4亿次16 毫秒0.016 秒
Class.forName(myName).getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次19 毫秒0.019 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次4 毫秒0.004 秒
Class.forName("java.lang.String")20000次2.0万次2.0E-4亿次10 毫秒0.01 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()20000次2.0万次2.0E-4亿次7 毫秒0.007 秒
Class.forName(myName)30000次3.0万次3.0E-4亿次24 毫秒0.024 秒
Class.forName(myName).getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次17 毫秒0.017 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")30000次3.0万次3.0E-4亿次10 毫秒0.01 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()30000次3.0万次3.0E-4亿次10 毫秒0.01 秒
Class.forName(myName)40000次4.0万次4.0E-4亿次33 毫秒0.033 秒
Class.forName(myName).getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次23 毫秒0.023 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")40000次4.0万次4.0E-4亿次12 毫秒0.012 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()40000次4.0万次4.0E-4亿次14 毫秒0.014 秒
Class.forName(myName)50000次5.0万次5.0E-4亿次40 毫秒0.04 秒
Class.forName(myName).getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次41 毫秒0.041 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")50000次5.0万次5.0E-4亿次16 毫秒0.016 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()50000次5.0万次5.0E-4亿次17 毫秒0.017 秒
Class.forName(myName)60000次6.0万次6.0E-4亿次49 毫秒0.049 秒
Class.forName(myName).getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次73 毫秒0.073 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")60000次6.0万次6.0E-4亿次19 毫秒0.019 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()60000次6.0万次6.0E-4亿次19 毫秒0.019 秒
Class.forName(myName)70000次7.0万次7.0E-4亿次37 毫秒0.037 秒
Class.forName(myName).getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次38 毫秒0.038 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次5 毫秒0.005 秒
Class.forName("java.lang.String")70000次7.0万次7.0E-4亿次22 毫秒0.022 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()70000次7.0万次7.0E-4亿次22 毫秒0.022 秒
Class.forName(myName)80000次8.0万次8.0E-4亿次41 毫秒0.041 秒
Class.forName(myName).getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次42 毫秒0.042 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")80000次8.0万次8.0E-4亿次25 毫秒0.025 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()80000次8.0万次8.0E-4亿次26 毫秒0.026 秒
Class.forName(myName)90000次9.0万次9.0E-4亿次46 毫秒0.046 秒
Class.forName(myName).getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次50 毫秒0.05 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次3 毫秒0.003 秒
Class.forName("java.lang.String")90000次9.0万次9.0E-4亿次27 毫秒0.027 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()90000次9.0万次9.0E-4亿次29 毫秒0.029 秒
Class.forName(myName)10000次1.0万次1.0E-4亿次5 毫秒0.005 秒
Class.forName(myName).getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次6 毫秒0.006 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()10000次1.0万次1.0E-4亿次0 毫秒0.0 秒
Class.forName("java.lang.String")10000次1.0万次1.0E-4亿次4 毫秒0.004 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()10000次1.0万次1.0E-4亿次3 毫秒0.003 秒
Class.forName(myName)20000次2.0万次2.0E-4亿次11 毫秒0.011 秒
Class.forName(myName).getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次11 毫秒0.011 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()20000次2.0万次2.0E-4亿次0 毫秒0.0 秒
Class.forName("java.lang.String")20000次2.0万次2.0E-4亿次7 毫秒0.007 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()20000次2.0万次2.0E-4亿次7 毫秒0.007 秒
Class.forName(myName)30000次3.0万次3.0E-4亿次16 毫秒0.016 秒
Class.forName(myName).getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次16 毫秒0.016 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()30000次3.0万次3.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")30000次3.0万次3.0E-4亿次10 毫秒0.01 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()30000次3.0万次3.0E-4亿次12 毫秒0.012 秒
Class.forName(myName)40000次4.0万次4.0E-4亿次20 毫秒0.02 秒
Class.forName(myName).getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次21 毫秒0.021 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()40000次4.0万次4.0E-4亿次0 毫秒0.0 秒
Class.forName("java.lang.String")40000次4.0万次4.0E-4亿次15 毫秒0.015 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()40000次4.0万次4.0E-4亿次13 毫秒0.013 秒
Class.forName(myName)50000次5.0万次5.0E-4亿次25 毫秒0.025 秒
Class.forName(myName).getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次25 毫秒0.025 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()50000次5.0万次5.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")50000次5.0万次5.0E-4亿次15 毫秒0.015 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()50000次5.0万次5.0E-4亿次16 毫秒0.016 秒
Class.forName(myName)60000次6.0万次6.0E-4亿次31 毫秒0.031 秒
Class.forName(myName).getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次32 毫秒0.032 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()60000次6.0万次6.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")60000次6.0万次6.0E-4亿次19 毫秒0.019 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()60000次6.0万次6.0E-4亿次19 毫秒0.019 秒
Class.forName(myName)70000次7.0万次7.0E-4亿次37 毫秒0.037 秒
Class.forName(myName).getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次37 毫秒0.037 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()70000次7.0万次7.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")70000次7.0万次7.0E-4亿次22 毫秒0.022 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()70000次7.0万次7.0E-4亿次23 毫秒0.023 秒
Class.forName(myName)80000次8.0万次8.0E-4亿次41 毫秒0.041 秒
Class.forName(myName).getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次43 毫秒0.043 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()80000次8.0万次8.0E-4亿次2 毫秒0.002 秒
Class.forName("java.lang.String")80000次8.0万次8.0E-4亿次24 毫秒0.024 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()80000次8.0万次8.0E-4亿次25 毫秒0.025 秒
Class.forName(myName)90000次9.0万次9.0E-4亿次45 毫秒0.045 秒
Class.forName(myName).getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次47 毫秒0.047 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()90000次9.0万次9.0E-4亿次1 毫秒0.001 秒
Class.forName("java.lang.String")90000次9.0万次9.0E-4亿次28 毫秒0.028 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()90000次9.0万次9.0E-4亿次29 毫秒0.029 秒
Class.forName(myName)100000次10.0万次0.001亿次51 毫秒0.051 秒
Class.forName(myName).getDeclaredConstructor().newInstance()100000次10.0万次0.001亿次52 毫秒0.052 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()100000次10.0万次0.001亿次2 毫秒0.002 秒
Class.forName("java.lang.String")100000次10.0万次0.001亿次32 毫秒0.032 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()100000次10.0万次0.001亿次32 毫秒0.032 秒
Class.forName(myName)200000次20.0万次0.002亿次102 毫秒0.102 秒
Class.forName(myName).getDeclaredConstructor().newInstance()200000次20.0万次0.002亿次107 毫秒0.107 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()200000次20.0万次0.002亿次7 毫秒0.007 秒
Class.forName("java.lang.String")200000次20.0万次0.002亿次60 毫秒0.06 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()200000次20.0万次0.002亿次63 毫秒0.063 秒
Class.forName(myName)300000次30.0万次0.003亿次152 毫秒0.152 秒
Class.forName(myName).getDeclaredConstructor().newInstance()300000次30.0万次0.003亿次161 毫秒0.161 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()300000次30.0万次0.003亿次9 毫秒0.009 秒
Class.forName("java.lang.String")300000次30.0万次0.003亿次89 毫秒0.089 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()300000次30.0万次0.003亿次97 毫秒0.097 秒
Class.forName(myName)400000次40.0万次0.004亿次200 毫秒0.2 秒
Class.forName(myName).getDeclaredConstructor().newInstance()400000次40.0万次0.004亿次213 毫秒0.213 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()400000次40.0万次0.004亿次12 毫秒0.012 秒
Class.forName("java.lang.String")400000次40.0万次0.004亿次119 毫秒0.119 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()400000次40.0万次0.004亿次128 毫秒0.128 秒
Class.forName(myName)500000次50.0万次0.005亿次252 毫秒0.252 秒
Class.forName(myName).getDeclaredConstructor().newInstance()500000次50.0万次0.005亿次266 毫秒0.266 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()500000次50.0万次0.005亿次14 毫秒0.014 秒
Class.forName("java.lang.String")500000次50.0万次0.005亿次149 毫秒0.149 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()500000次50.0万次0.005亿次156 毫秒0.156 秒
Class.forName(myName)600000次60.0万次0.006亿次301 毫秒0.301 秒
Class.forName(myName).getDeclaredConstructor().newInstance()600000次60.0万次0.006亿次320 毫秒0.32 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()600000次60.0万次0.006亿次17 毫秒0.017 秒
Class.forName("java.lang.String")600000次60.0万次0.006亿次178 毫秒0.178 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()600000次60.0万次0.006亿次188 毫秒0.188 秒
Class.forName(myName)700000次70.0万次0.007亿次357 毫秒0.357 秒
Class.forName(myName).getDeclaredConstructor().newInstance()700000次70.0万次0.007亿次375 毫秒0.375 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()700000次70.0万次0.007亿次12 毫秒0.012 秒
Class.forName("java.lang.String")700000次70.0万次0.007亿次206 毫秒0.206 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()700000次70.0万次0.007亿次215 毫秒0.215 秒
Class.forName(myName)800000次80.0万次0.008亿次401 毫秒0.401 秒
Class.forName(myName).getDeclaredConstructor().newInstance()800000次80.0万次0.008亿次415 毫秒0.415 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()800000次80.0万次0.008亿次10 毫秒0.01 秒
Class.forName("java.lang.String")800000次80.0万次0.008亿次240 毫秒0.24 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()800000次80.0万次0.008亿次244 毫秒0.244 秒
Class.forName(myName)900000次90.0万次0.009亿次456 毫秒0.456 秒
Class.forName(myName).getDeclaredConstructor().newInstance()900000次90.0万次0.009亿次458 毫秒0.458 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()900000次90.0万次0.009亿次11 毫秒0.011 秒
Class.forName("java.lang.String")900000次90.0万次0.009亿次271 毫秒0.271 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()900000次90.0万次0.009亿次280 毫秒0.28 秒
Class.forName(myName)1000000次100.0万次0.01亿次505 毫秒0.505 秒
Class.forName(myName).getDeclaredConstructor().newInstance()1000000次100.0万次0.01亿次523 毫秒0.523 秒
ClassForName性能测试220603253.class.getDeclaredConstructor().newInstance()1000000次100.0万次0.01亿次14 毫秒0.014 秒
Class.forName("java.lang.String")1000000次100.0万次0.01亿次296 毫秒0.296 秒
new SecurityManager() {Class<?> c(){return this.getClassContext()[1];}}.c()1000000次100.0万次0.01亿次307 毫秒0.307 秒
classForName.ClassForName性能测试220603253 ClassForName性能测试220603253 true true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kfepiza

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值