一篇好文章--Java程序性能测试
作者:网络转载 发布时间:[ 2013/8/28 10:01:22 ] 推荐标签:
同时我们的测试用例也做了一下改动,测试同样一个显而易见的问题,比较一个长度为1000的ArrayList和HashMap所占空间的大小,接口、实现如下:
publicinterfaceMemoConsumer{
publicvoidcreatArray();
publicvoidcreatHashMap();
}
publicclassMemoConsumerImplimplementsMemoConsumer{
ArrayListarr=null;
HashMaphash=null;
publicvoidcreatArray(){
arr=newArrayList(1000);
}
publicvoidcreatHashMap(){
hash=newHashMap(1000);
}
}
测试客户端代码如下:
MemoConsumerarrayMemo=(MemoConsumer)Handler.newInstance(newMemoConsumerImpl());
arrayMemo.creatArray();
arrayMemo.creatHashMap();
测试结果如下:
beginmethodcreatArray()
memoryincreasedby4400bytes
endmethodcreatArray
beginmethodcreatHashMap()
memoryincreasedby4480bytes
endmethodcreatHashMap
结果一幕了然,可以看到,我们只需要修改invoke()方法,然后简单执行客户端调用可以了。
6结束语
AOP通过分解关注点和OOP相得益彰,使程序更加简洁易懂,通过Java语言本身提供的动态代理帮助我们很容易分解关注点,取得了较好的效果。不过测试对象必须实现接口在一定程度上限制了动态代理的使用,可以借鉴Spring中使用的CGlib来为没有实现任何接口的类创建动态代理。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11