当前位置: 首页 > news >正文

建一个商城网站多少钱重庆公司大学派斯学院

建一个商城网站多少钱,重庆公司大学派斯学院,南昌网站系统,网站开发和网页设计的区别TimeMeasureUtil#xff1a;做单次时间测量。 1、为了能确保 startTime 和 endTime 都正确设置#xff0c;因而采用实例对象来实现。每次测量是都能判断对象是否处在正确状态。 2、该类为工具类#xff0c;即使测试时产生许多对象实例也对软件无任何影响。 public class T…TimeMeasureUtil做单次时间测量。 1、为了能确保 startTime 和 endTime 都正确设置因而采用实例对象来实现。每次测量是都能判断对象是否处在正确状态。 2、该类为工具类即使测试时产生许多对象实例也对软件无任何影响。 public class TimeMeasureUtil {private long startTime 0;private long endTime 0;private TimeMeasureUtil(){}public static TimeMeasureUtil newInstance(){return new TimeMeasureUtil();}public void start(){startTime System.currentTimeMillis();}public void end(){endTime System.currentTimeMillis();}public long measure(){// Invalid: Before yif( startTime 0 ){throw new IllegalStateException( Must call metod start() first, when call method measure(). );}if( endTime 0 ){throw new IllegalStateException( Must call metod end() first, when call method measure(). );}if( startTime endTime ){throw new IllegalStateException( Must call metod start() first, when call method end(). );}return endTime - startTime;}} 使用示例 Testpublic void testMeasure_ok() {TimeMeasureUtil timeUtil TimeMeasureUtil.newInstance();timeUtil.start();// 下面这段代码用实际待测方法代替try {Thread.sleep( 1000 );} catch (InterruptedException e) {e.printStackTrace();}timeUtil.end();assertEquals( 1000, timeUtil.measure() );} 由于单次测量可能的偏差太大没有统计意义如下类测量平均时间TimeMeasureProxy1、默认运行20次得平均 2、给定运行次数的平均 缺陷 1、由于是用反射实现参数是通过 Object[ ] 来传递。有原始类型如byteintchar...参数的方法不能测试只能用 TimeMeasureUtil 来实现测试。  2、如果第一次执行方法后改变了某属性而该属性改变后又会影响下一次方法的执行可能会有不同的时间这样的方法不能测试。可能的改进方式先“克隆” count 个该对象然后用这样相同属性的对象来执行方法每个对象执行一次方法。因为这样要求被测试类提供“克隆”方法“因测试而影响逻辑”不可取所以没有实现。 import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;public class TimeMeasureProxy {// default measure countprivate int count 20;private TimeMeasureProxy(){}private TimeMeasureProxy( int count ){this.count count;}public static TimeMeasureProxy newInstance(){return new TimeMeasureProxy();}public static TimeMeasureProxy newInstance( int count ){return new TimeMeasureProxy( count );}public long avgTime( Object owner, String methodName, Object[] args ){// valid parameters.if( owner null ){throw new IllegalStateException(owner cant be null.);}if( methodName null ){throw new IllegalStateException(methodName cant be null.);}Class? ownerClass owner.getClass();Class?[] argsClass null;if( args ! null ){argsClass new Class[ args.length ];for( int i0 ; iargs.length ; i ){argsClass[i] args[i].getClass();}}Method method;try {method ownerClass.getMethod( methodName, argsClass );} catch (SecurityException e) {throw new RuntimeException( e );} catch (NoSuchMethodException e) {throw new RuntimeException( e );}return totalTime( owner, method, args)/count;}long totalTime( Object owner, Method method, Object[] args ){long totalTime 0;try {for( int i0; icount ; i ){TimeMeasureUtil timeUtil TimeMeasureUtil.newInstance();timeUtil.start();method.invoke( owner, args );timeUtil.end();totalTime timeUtil.measure();}} catch (IllegalArgumentException e) {throw new RuntimeException( e );} catch (IllegalAccessException e) {throw new RuntimeException( e );} catch (InvocationTargetException e) {throw new RuntimeException( e );}return totalTime;}} 使用示例 1、待测试的类 class ForMeasureAvgTime{public void justForTest(){try {Thread.sleep( 335 );} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void justForTestWithParams( Integer age, String name ){try {Thread.sleep( 558 );} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}} } 2、通过TimeMeasureProxy 来测试 Test//测量无参数方法默认次数20public void testAvgTime_defaultCount() {ForMeasureAvgTime forMeasure new ForMeasureAvgTime();TimeMeasureProxy proxy TimeMeasureProxy.newInstance();long avgTime proxy.avgTime( forMeasure, justForTest, null );System.out.println( avgTime avgTime );assertTrue( (avgTime - 335) 5 || (335 - avgTime) 5);}Test//测量有参数方法给定次数10public void testAvgTime_giveCount() {ForMeasureAvgTime forMeasure new ForMeasureAvgTime();TimeMeasureProxy proxy TimeMeasureProxy.newInstance( 10 );long avgTime proxy.avgTime( forMeasure, justForTestWithParams, new Object[]{24, GongQiang} );System.out.println( avgTime avgTime );assertTrue( (avgTime - 558) 5 || (558 - avgTime) 5);}
http://www.yutouwan.com/news/226351/

相关文章:

  • 网站建设与开发做什么南京模板建站
  • 医院网站模板 html手机网站建设咨询电话
  • 学编程有用吗网站seo关键词排名优化
  • 企业网站建设需要哪些资料一个人免费观看视频播放
  • 海口建设网站深圳十大外贸公司排名
  • 网站如何吸引蜘蛛写男主重生做网站的小说
  • 沧县做网站商业授权书
  • 做外贸的网站有那些重庆市建设工程交易中心网站
  • 做网站的个人总结广州谷歌seo公司
  • 如何防止网站被注册大连在建项目
  • 网站建设计划书范本东莞行业网站建设教程
  • sns有哪些著名的网站有哪些三亚网上商城
  • 网站开发适合什么工作网络广告视频
  • 东营免费建网站没有网站如何做SEO推广有用吗
  • 网站静态文件河南建筑信息一体
  • 如何进行网站改版设计sem运营
  • 高能建站福州网站建设 找燕狂徒 04
  • 娱乐网站排行榜上海企业建设网站价格
  • 网站不想被收录魔方网站建设
  • 公司网站建设汇报网络架构图描述
  • 网站功能策划同程旅游
  • 网站企业推广方案网站建设如何做
  • 深圳网站制作服务公网站已经收录了 但是输入公司名找不到
  • 网站推广引流软件seo最新优化技术
  • 沈阳网站建设服务器做网站首选智投未来1
  • 做网站简介设计页面教案
  • 南京做企业网站的公司广东省建筑企业资质查询平台
  • 做网站公司郑州汉狮怎么制作一个链接
  • 哪种网站名称容易通过备案审核如何提高网站访客数
  • 长春制作网站济南做企业网站的公司