三种方式生成对象效率对比

对比不同方式生成对象的效率

三种方式生成对象:

1.通过反射

2.通过Cglib里的FastClass

3.直接new

在每个循环100000000生成对象后,得到的

1结果: 15784 ms

2结果: 1574 ms

3结果: 717ms

多次测试之后,结果没有很大差别,由此可见

new的速度是FastClass的两倍,FastClass是反射速度的十倍。

 

 

在相同循环100000000次,不生成对象,只获得class,得到结果

通过Class.forName(): 111546 ms

通过FastClass.create(): 90288 ms

 

从测试结果中可以发现通过Class.forName()获得Class和Fastclas.create获得Fastclass都是比较慢,比生成一个对象的速度要慢的多,所以如果要通过这两种方式获得对象,尽量只生成一次Class.

 

 

你可能感兴趣的:(对象)