来源:北大青鸟飞迅校区|发布时间:2013-05-01 10:32:07
技巧1:使用分析器
分析器提供了任何其他工具无法提供的功能,从而能够深入检查你的应用。如果你的应用已经有一年多时间没有被分析过了,那么它肯定会有大块大块的低效代码,潜伏在某个黑暗的角落。市面上有许多不同的或免费或商业的分析器。对于CPU分析,我最喜欢的是JProfiler,因为它足够强大能分析出大多数问题,同时易于设置,尤其当你使用它内建的设置向导的时候。而诊断内存问题时,我最亲睐的工具是Eclipse Memory Analyzer,因为它使用的是记录在磁盘上的索引,而不是把整个堆的快照放到内存中。
通常来说,隐藏着的易耗尽CPU的代码包括低效的hashCode()或者equals()方法(在卷动JTable时以及使用Java collection类时,它们会被调用上百万次),以及一些出人意料的出自Sun之手的低效类,比如SimpleDateFormat。
分析器可能会明显地让你的应用变得很慢,所以你一定要在测试环境中使用它。
技巧2:监控数据库使用状况
分析器除了可以显示你的应用过度占用CPU时钟的细节,它们也可以对你的应用在哪些地方长时间做了数据库的操作给出提示。但更好的用来监控数据使用的工具,是像Proactive DBA或者HP Diagnostics,或者任何其他来自于你的数据库产品厂商的工具。这些工具可以告诉你,哪些代码做了长时间的SQL调用,以及哪些代码在短时间内对同一行做了多次调用。来自数据库厂商的工具还可以帮助发现那些阻塞了其他调用的查询;虽然在我的经验里,这样的阻塞问题基本不过是些简单的、低效的SQL用法。
我写了一个新的工具叫做jdbcGrabber,它可以让你以可视化的形式描述出哪些代码正在访问哪些数据表。通过这种可视化呈现,你可以很容易发现那些多次访问数据库中不同部分信息的代码,从而将其调整为一次合并的请求。
技巧3:构建和部署自动化
许多遗留系统缺乏一种完全自动化的方式,来构建它们的代码,更不用说自动部署了。自动化构建和部署对于提高遗留系统开发者的效率来说,是一种简单直接而又低风险的方式,而且通常不需要修改代码。
没有自动化的构建和部署过程,新的开发者不得不重新发明轮子,跟那些前辈们早就斗争过的同样问题重新来斗,而且每次重复的部署问题发生,开发者都会发明出不同的解决方案。
虽然Maven是一款卓越的而且使用广泛的构建工具,但它对你的源码树结构以及库依赖有着固执的要求,所以把它用在遗留应用中会有点困难。但足够优秀的Ant应该更易于使用,因为它处理起遗留代码结构更加灵活,也更容易部分采用,而不是全盘采用。
招生热线: 4008-0731-86 / 0731-82186801
学校地址: 长沙市天心区团结路6号
Copyright © 2006 | 湖南大计信息科技有限公司 版权所有
湘ICP备14017520号-3