Java程序性能的调优
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。下面小编准备了关于Java程序性能调优的文章,提供给大家参考!
在《Java TM Platform Performance》一书中,定义了如下五个方面来作为评判性能的标准:
1) 运算的性能——哪一个算法的执行性能最好?
2) 内存的分配——程序运行时需要耗费多少内存?
3) 启动的时间——程序启动需要多长时间?这在Web项目中的影响不大,但要注意部分程序需要部署或运行在客户端时的情形(比如applet程序)。
4) 程序的可伸缩性——在压力负载的情况下,程序的性能如何?
5) 性能的感知——用户在什么情况下会觉得程序的性能不好?
以上五个方面,在具体的使用场景可以有选择的去评判。至于这五方面的性能调优,在后续的章节中将会陆续的给以相应的性能调优策略。
调优的规则
我们只需要关心对我们程序有影响,可以察觉到的性能问题,而不是每一个类中的每一个方法我们都需要想方设法的提高性能。如果程序的性能没有达到我们所期望的要求,我们才需要考虑如何优化性能。同样的,晦涩的代码虽然提高了程序的性能,但同时可能带给我们的是维护的噩梦。我们需要折中的考虑以上两种情况,使得程序的代码是优美的`,并且运行的足够快,达到客户所期望的性能要求。
优化代码甚至会导致不良的结果,Donald Knuth(一位比较牛比较有影响的人物,具体是谁,我也忘了,谁知道,可以告诉我一下,谢谢!)曾说过,“Premature optimization is the root of all evil”。在开始性能调优前,需要先指出不优化代码的一些理由。
1) 如果优化的代码已经正常工作,优化后可能会引入新的bug;
2) 优化代码趋向于使代码更难理解和维护;
3) 在一个平台上优化的代码,在另一个平台上可能更糟;
4) 花费很多时间在代码的优化上,提高了很少的性能,却导致了晦涩的代码。 确实,在优化前,我们必须认真的考虑是否值得去优化。
调优的步骤
一般我们提高应用程序的性能划分为以下几个步骤:
1) 明确应用程序的性能指标,怎样才符合期望的性能需求;
2) 在目标平台进行测试;
3) 如果性能已经达到性能指标,Stop;
4) 查找性能瓶颈;
5) 修改性能瓶颈;
6) 返回到第2步。
相關文章
-
java注册成windows服务程序及简单java定时关机的程序代码
本文实例讲述了java如何注册成windows服务程序及一个简单的java定时关机程序代码,分享给大家供大家参考。具体方法如下:一、问题:最近想找个软件来控制电脑的关机时间,在网上找了几个,都是可视化界面的可以设置具体的关机 -
java性能调优的方法
化学是一门以实验为基础与生活生产息息相关的课程。 化学知识的实用性很强,因此实验就显得非常重要。刚开始做实验的时候,由于学生的理论知识基础不好,在实验过程遇到了许多的难题,也使学生们感到了理论知识的重要性。让 -
关于java性能调优的方法
本篇《java性能调优的方法》特别为需要方法编程学习的朋友收集整理的,仅供参考。 java性能调优的方法Java是目前软件开发领域中使用最广泛的编程语言之一。Java应用程序在许多垂直领域(银行、电信、医疗保健等)中都 -
sun认证java程序员须知Java日志框架
尊敬的领导:您好,我的名字叫xx,我是xx职业技术学院的一位大二的学生,我所学的专业是计算机网络。首先我很高兴我能有机会向你呈上我的个人资料《附个人资料》。我带着热枕的心希望能在贵公司谋求一份合适自己的工作。作为 -
计算机二级JAVA考试构建JAVA程序2017
总结是事后对某一阶段的学习、工作或其完成情况加以回顾和分析的一种书面材料,它可以提升我们发现问题的能力,不如我们来制定一份总结吧。你所见过的总结应该是什么样的?下面是小编整理的一月份幼儿园大班工作总结,希望能 -
Java EE性能的测试与调优
JavaEE,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。下面yjbys小编为大家准备了关于Java EE性能的测试与调优,欢迎阅读。 性能测试的目标性能测试不同于功能测试,不是对与错的检验, -
Java编程性能优化技巧分享
针对大家的提问Java编程性能优化技巧有哪些,小编特意收集了以下的解答内容,希望对您有所帮助!更多内容请关注应届毕业生考试网!1、字符串优化处理(1)String类的特点:不变性、针对常量池的优化(()方法的意义)(2)subString -
Java编程性能优化技巧有哪些
性能优化大部分都是在时间、效率、代码结构层次等方面的权衡,下面内容由小编为大家介绍Java编程性能优化技巧,供大家参考! 1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并 -
Java语言程序调试技巧与多线程问题
导语:Java是一种应用于互联网的分布式环境的编程语言。Java语言易于使用,而且在编程时采用“以对象为导向”的方式。下面就由小编为大家介绍一下Java语言程序调试技巧与多线程问题,欢迎大家阅读! 1 JaVa语言学习常见 -
Java程序员必知调试技巧汇总
调试可以帮助识别和解决应用程序缺陷,在本文中,将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面。在开始之前,推荐大家去看