零基础
对IT设计有兴趣,希望从事IT行业
机构:达内教育 时间:2021-05-07 15:02:45 点击:169


1 介绍
在开发中,性能测试是设计初期容易忽略的问题,开发人员会为了解决一个问题而“不择手段”,作者所参与的项目中也遇到了类似问题,字符串拼接、大量的调用和数据库访问等等都对系统的性能产生了影响,可是大家不会关心这些问题,“CPU速度在变快”,“内存在变大”,并且,“好像也没有那么慢吧”。
有很多商业的性能测试软件可供使用,如Jprofiler、JProbe Profiler等,但在开发当中显得有些遥远而又昂贵。
2 目标
本文将讲述如何利用语言本身提供的方法在开发中进行性能测试,找到系统瓶颈,进而改进设计;并且在尽量不修改测试对象的情况下进行测试。
3 预备知识
面向对象编程通过抽象继承采用模块化的来求解问题域,但是模块化不能很好的解决所有问题。有时,这些问题可能在多个模块中都出现,像日志功能,为了记录每个方法进入和离开时的信息,你不得不在每个方法里添加log("in some method")等信息。如何解决这类问题呢?将这些解决问题的功能点散落在多个模块中会使冗余增大,并且当很多个功能点出现在一个模块中时,代码变的很难维护。因此,AOP(Aspect Oriented Programming)应运而生。如果说OOP(Aobject Oriented Programming)关注的是一个类的垂直结构,那么AOP是从水平角度来看待问题。
动态代理类可以在运行时实现若干接口,每一个动态代理类都有一个Invocation handler对象与之对应,这个对象实现了InvocationHandler接口,通过动态代理的接口对动态代理对象的方法调用会转而调用 Invocation handler对象的invoke方法,通过动态代理实例、方法对象和参数对象可以执行调用并返回结果。
说到AOP,大家首先会想到的是日志记录、权限和事务,是的,AOP是解决这些问题的好办法。本文根据AOP的思想,通过动态代理来解决一类新的问题——性能测试(performance testing)。
性能测试主要包括以下几个方面:
计算性能:可能是人们首先关心的,简单的说就是执行一段代码所用的时间
内存消耗:程序运行所占用的内存大小
启动时间:从你启动程序到程序正常运行的时间
可伸缩性(scalability)
用户察觉性能(perceived performance):不是程序实际运行有多快,而是用户感觉程序运行有多快.
本文主要给出了计算性能测试和内存消耗测试的可行办法。
对IT设计有兴趣,希望从事IT行业
强化自己能力,加强专业技能
丰富职场技能,毕业不失业
提升专业水平,轻松升职加薪
大数据
智能物联网
Unity游戏开发
网络安全
互联网营销
影视剪辑包装
通过14年达内不断地探索与尝试,达内与国内外知名企业建立人才推荐,人才定制培养、人才租赁与外包、代理校园招聘、IT猎头、企业内训等多样化的合作方式和一站式的服务体系,截止到2016年1月底,达内与全国7万家知名企业建立合作关系,每个月在达内全国中心有近600场的企业双选会,达内还会定期做专场招聘会,正是与企业的紧密合作关系,达内学员保持行业领先的学员就业率,2015年实现了93%以上的就业率。达内国际集团公益事业进行中,达内办学不忘承担社会责任,奉献爱心倾注公益事业,2008年四川汶川地震发生后,达内第一时间向灾区的学生发出援手,免费资助多名灾区学生参加高端IT培训,对于经济特别困难的学生达内还给发生活费;2011年11月14日达内与中国残疾人联合会携手启动第一期达内高端PHP软件工程师班。公益资助25名肢体残疾的学生学习达内高端PHP课程,学员毕业后基本就业, 其中视力有障碍的甄智博成功入职湖南大厦,获得3500元的月薪、双腿残疾的吴鑫4000入职中科创达;2012年5月10日达内再次携手中国残疾人联合会启动第二期达内高端测试班,公益资助30名学生;近些年,达内将公益事业融入到员工的文化,不断通过各种手段帮助家境贫寒的学生和农村学生; 2008年达内就曾经推出“暖冬工程”帮助近万名大学生实现理想就业,改变自己的命运。
HTML5
Java
Python
全链路设计
云计算
软件测试
