Java通过方法内部类获取当前类类名性能测试
获取类名性能测试 2206022200
获取全类名
测试代码
package 获取类名;
public class 通过方法内部类获取当前类名_性能测试2206022158 {
public static String myName() {class C{}String cn=C.class.getName();return cn.substring(0,cn.lastIndexOf('$'));}
static String myName;
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, 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,
};
final static void main(int amount) {
long t1 = System.currentTimeMillis();
for(int c=0; c<amount; c++) {
myName = myName();
}
long t2 = System.currentTimeMillis();
long cost1 = t2-t1;
pln(trtd(amount+"次",amount/10000D+"万次",amount/100000000D+"亿次",cost1+" 毫秒",cost1/1000D+" 秒"));
}
public static void main(String...arguments) {
pln("<table><thead>"
+ trth("执行次数","执行万次数","执行亿次数","用时(毫秒)","用时(秒)")
+ "</thead><tbody>");
for(int amount:amountArray)main(amount);
pln("</tbody></table>",myName);
}
}
测试结果
| 执行次数 | 执行万次数 | 执行亿次数 | 用时(毫秒) | 用时(秒) |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 3 毫秒 | 0.003 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 20000次 | 2.0万次 | 2.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 30000次 | 3.0万次 | 3.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 40000次 | 4.0万次 | 4.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 50000次 | 5.0万次 | 5.0E-4亿次 | 4 毫秒 | 0.004 秒 |
| 60000次 | 6.0万次 | 6.0E-4亿次 | 4 毫秒 | 0.004 秒 |
| 70000次 | 7.0万次 | 7.0E-4亿次 | 5 毫秒 | 0.005 秒 |
| 80000次 | 8.0万次 | 8.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 90000次 | 9.0万次 | 9.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 0 毫秒 | 0.0 秒 |
| 20000次 | 2.0万次 | 2.0E-4亿次 | 0 毫秒 | 0.0 秒 |
| 30000次 | 3.0万次 | 3.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 40000次 | 4.0万次 | 4.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 50000次 | 5.0万次 | 5.0E-4亿次 | 3 毫秒 | 0.003 秒 |
| 60000次 | 6.0万次 | 6.0E-4亿次 | 5 毫秒 | 0.005 秒 |
| 70000次 | 7.0万次 | 7.0E-4亿次 | 5 毫秒 | 0.005 秒 |
| 80000次 | 8.0万次 | 8.0E-4亿次 | 6 毫秒 | 0.006 秒 |
| 90000次 | 9.0万次 | 9.0E-4亿次 | 6 毫秒 | 0.006 秒 |
| 100000次 | 10.0万次 | 0.001亿次 | 2 毫秒 | 0.002 秒 |
| 200000次 | 20.0万次 | 0.002亿次 | 7 毫秒 | 0.007 秒 |
| 300000次 | 30.0万次 | 0.003亿次 | 8 毫秒 | 0.008 秒 |
| 400000次 | 40.0万次 | 0.004亿次 | 24 毫秒 | 0.024 秒 |
| 500000次 | 50.0万次 | 0.005亿次 | 36 毫秒 | 0.036 秒 |
| 600000次 | 60.0万次 | 0.006亿次 | 41 毫秒 | 0.041 秒 |
| 700000次 | 70.0万次 | 0.007亿次 | 47 毫秒 | 0.047 秒 |
| 800000次 | 80.0万次 | 0.008亿次 | 52 毫秒 | 0.052 秒 |
| 900000次 | 90.0万次 | 0.009亿次 | 29 毫秒 | 0.029 秒 |
| 1000000次 | 100.0万次 | 0.01亿次 | 24 毫秒 | 0.024 秒 |
| 2000000次 | 200.0万次 | 0.02亿次 | 49 毫秒 | 0.049 秒 |
| 3000000次 | 300.0万次 | 0.03亿次 | 71 毫秒 | 0.071 秒 |
| 4000000次 | 400.0万次 | 0.04亿次 | 93 毫秒 | 0.093 秒 |
| 5000000次 | 500.0万次 | 0.05亿次 | 153 毫秒 | 0.153 秒 |
| 6000000次 | 600.0万次 | 0.06亿次 | 161 毫秒 | 0.161 秒 |
| 7000000次 | 700.0万次 | 0.07亿次 | 165 毫秒 | 0.165 秒 |
| 8000000次 | 800.0万次 | 0.08亿次 | 191 毫秒 | 0.191 秒 |
| 9000000次 | 900.0万次 | 0.09亿次 | 213 毫秒 | 0.213 秒 |
| 10000000次 | 1000.0万次 | 0.1亿次 | 237 毫秒 | 0.237 秒 |
| 20000000次 | 2000.0万次 | 0.2亿次 | 483 毫秒 | 0.483 秒 |
| 30000000次 | 3000.0万次 | 0.3亿次 | 725 毫秒 | 0.725 秒 |
| 40000000次 | 4000.0万次 | 0.4亿次 | 963 毫秒 | 0.963 秒 |
| 50000000次 | 5000.0万次 | 0.5亿次 | 1212 毫秒 | 1.212 秒 |
| 60000000次 | 6000.0万次 | 0.6亿次 | 1455 毫秒 | 1.455 秒 |
| 70000000次 | 7000.0万次 | 0.7亿次 | 1689 毫秒 | 1.689 秒 |
| 80000000次 | 8000.0万次 | 0.8亿次 | 1963 毫秒 | 1.963 秒 |
| 90000000次 | 9000.0万次 | 0.9亿次 | 2175 毫秒 | 2.175 秒 |
| 100000000次 | 10000.0万次 | 1.0亿次 | 2415 毫秒 | 2.415 秒 |
获取类名.通过方法内部类获取当前类名_性能测试2206022158
获取简单类名
测试代码
package 获取类名;
public class 通过方法内部类获取当前简单类名_性能测试2206022215 {
public static String myName() {class C{}String cn=C.class.getName();return cn.substring(cn.lastIndexOf('.')+1,cn.lastIndexOf('$'));}
static String myName;
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, 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,
};
final static void main(int amount) {
long t1 = System.currentTimeMillis();
for(int c=0; c<amount; c++) {
myName = myName();
}
long t2 = System.currentTimeMillis();
long cost1 = t2-t1;
pln(trtd(amount+"次",amount/10000D+"万次",amount/100000000D+"亿次",cost1+" 毫秒",cost1/1000D+" 秒"));
}
public static void main(String...arguments) {
pln("<table><thead>"
+ trth("执行次数","执行万次数","执行亿次数","用时(毫秒)","用时(秒)")
+ "</thead><tbody>");
for(int amount:amountArray)main(amount);
pln("</tbody></table>",myName);
}
}
测试结果
| 执行次数 | 执行万次数 | 执行亿次数 | 用时(毫秒) | 用时(秒) |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 4 毫秒 | 0.004 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 0 毫秒 | 0.0 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 0 毫秒 | 0.0 秒 |
| 20000次 | 2.0万次 | 2.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 30000次 | 3.0万次 | 3.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 40000次 | 4.0万次 | 4.0E-4亿次 | 3 毫秒 | 0.003 秒 |
| 50000次 | 5.0万次 | 5.0E-4亿次 | 3 毫秒 | 0.003 秒 |
| 60000次 | 6.0万次 | 6.0E-4亿次 | 4 毫秒 | 0.004 秒 |
| 70000次 | 7.0万次 | 7.0E-4亿次 | 6 毫秒 | 0.006 秒 |
| 80000次 | 8.0万次 | 8.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 90000次 | 9.0万次 | 9.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 10000次 | 1.0万次 | 1.0E-4亿次 | 0 毫秒 | 0.0 秒 |
| 20000次 | 2.0万次 | 2.0E-4亿次 | 1 毫秒 | 0.001 秒 |
| 30000次 | 3.0万次 | 3.0E-4亿次 | 0 毫秒 | 0.0 秒 |
| 40000次 | 4.0万次 | 4.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 50000次 | 5.0万次 | 5.0E-4亿次 | 2 毫秒 | 0.002 秒 |
| 60000次 | 6.0万次 | 6.0E-4亿次 | 4 毫秒 | 0.004 秒 |
| 70000次 | 7.0万次 | 7.0E-4亿次 | 5 毫秒 | 0.005 秒 |
| 80000次 | 8.0万次 | 8.0E-4亿次 | 6 毫秒 | 0.006 秒 |
| 90000次 | 9.0万次 | 9.0E-4亿次 | 7 毫秒 | 0.007 秒 |
| 100000次 | 10.0万次 | 0.001亿次 | 8 毫秒 | 0.008 秒 |
| 200000次 | 20.0万次 | 0.002亿次 | 9 毫秒 | 0.009 秒 |
| 300000次 | 30.0万次 | 0.003亿次 | 14 毫秒 | 0.014 秒 |
| 400000次 | 40.0万次 | 0.004亿次 | 24 毫秒 | 0.024 秒 |
| 500000次 | 50.0万次 | 0.005亿次 | 38 毫秒 | 0.038 秒 |
| 600000次 | 60.0万次 | 0.006亿次 | 45 毫秒 | 0.045 秒 |
| 700000次 | 70.0万次 | 0.007亿次 | 50 毫秒 | 0.05 秒 |
| 800000次 | 80.0万次 | 0.008亿次 | 57 毫秒 | 0.057 秒 |
| 900000次 | 90.0万次 | 0.009亿次 | 58 毫秒 | 0.058 秒 |
| 1000000次 | 100.0万次 | 0.01亿次 | 43 毫秒 | 0.043 秒 |
| 2000000次 | 200.0万次 | 0.02亿次 | 81 毫秒 | 0.081 秒 |
| 3000000次 | 300.0万次 | 0.03亿次 | 122 毫秒 | 0.122 秒 |
| 4000000次 | 400.0万次 | 0.04亿次 | 164 毫秒 | 0.164 秒 |
| 5000000次 | 500.0万次 | 0.05亿次 | 206 毫秒 | 0.206 秒 |
| 6000000次 | 600.0万次 | 0.06亿次 | 249 毫秒 | 0.249 秒 |
| 7000000次 | 700.0万次 | 0.07亿次 | 285 毫秒 | 0.285 秒 |
| 8000000次 | 800.0万次 | 0.08亿次 | 326 毫秒 | 0.326 秒 |
| 9000000次 | 900.0万次 | 0.09亿次 | 366 毫秒 | 0.366 秒 |
| 10000000次 | 1000.0万次 | 0.1亿次 | 408 毫秒 | 0.408 秒 |
| 20000000次 | 2000.0万次 | 0.2亿次 | 816 毫秒 | 0.816 秒 |
| 30000000次 | 3000.0万次 | 0.3亿次 | 1232 毫秒 | 1.232 秒 |
| 40000000次 | 4000.0万次 | 0.4亿次 | 1640 毫秒 | 1.64 秒 |
| 50000000次 | 5000.0万次 | 0.5亿次 | 2043 毫秒 | 2.043 秒 |
| 60000000次 | 6000.0万次 | 0.6亿次 | 2479 毫秒 | 2.479 秒 |
| 70000000次 | 7000.0万次 | 0.7亿次 | 2860 毫秒 | 2.86 秒 |
| 80000000次 | 8000.0万次 | 0.8亿次 | 3277 毫秒 | 3.277 秒 |
| 90000000次 | 9000.0万次 | 0.9亿次 | 3684 毫秒 | 3.684 秒 |
| 100000000次 | 10000.0万次 | 1.0亿次 | 4100 毫秒 | 4.1 秒 |
通过方法内部类获取当前简单类名_性能测试2206022215