- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java性能的优化.
Java性能的优化
Java在九十年代中期出现以后,在赢得赞叹的同时,也引来了一些批评。赢得的赞叹主要是Java的跨平台的操作性,即所谓的”Write Once,Run Anywhere”.但由于Java的性能和运行效率同C相比,仍然有很大的差距,从而引来了很多的批评。
??? 对于服务器端的应用程序,由于不大涉及到界面设计和程序的频繁重启,Java的性能问题看似不大明显,从而一些Java的技术,如JSP,Servlet,EJB等在服务器端编程方面得到了很大的应用,但实际上,Java的性能问题在服务器端依然存在。下面我将分四个方面来讨论Java的性能和执行效率以及提高Java性能的一些方法。
??? 一.关于性能的基本知识
??? 1.性能的定义
??? 在我们讨论怎样提高Java的性能之前,我们需要明白“性能“的真正含义。我们一般定义如下五个方面作为评判性能的标准。
??? 1) 运算的性能----哪一个算法的执行性能最好
??? 2) 内存的分配----程序需要分配多少内存,运行时的效率和性能最高。
??? 3) 启动的时间----程序启动需要多少时间。
??? 4) 程序的可伸缩性-----程序在用户负载过重的情况下的表现。
??? 5) 性能的认识------用户怎样才能认识到程序的性能。
??? 对于不同的应用程序,对性能的要求也不同。例如,大部分的应用程序在启动时需要较长的时间,从而对启动时间的要求有所降低;服务器端的应用程序通常都分配有较大的内存空间,所以对内存的要求也有所降低。但是,这并不是所这两方面的性能可以被忽略。其次,算法的性能对于那些把商务逻辑运用到事务性操作的应用程序来讲非常重要。总的来讲,对应用程序的要求将决定对各个性能的优先级。
??? 2.怎样才能提高JAVA的性能
??? 提高JAVA的性能,一般考虑如下的四个主要方面:
??? (1) 程序设计的方法和模式
??? 一个良好的设计能提高程序的性能,这一点不仅适用于JAVA,也适用也任何的编程语言。因为它充分利用了各种资源,如内存,CPU,高速缓存,对象缓冲池及多线程,从而设计出高性能和可伸缩性强的系统。
??? 当然,为了提高程序的性能而改变原来的设计是比较困难的,但是,程序性能的重要性常常要高于设计上带来的变化。因此,在编程开始之前就应该有一个好的设计模型和方法。
??? (2) JAVA布署的环境。
??? JAVA布署的环境就是指用来解释和执行JAVA字节码的技术,一般有如下五种。即解释指令技术(Interpreter Technology),及时编译的技术(Just In Time Compilier Technology), 适应性优化技术(Adaptive Optimization Technology), 动态优化,提前编译为机器码的技术(Dynamic Optimization,Ahead Of Time Technology)和编译为机器码的技术(Translator Technology).
??? 这些技术一般都通过优化线程模型,调整堆和栈的大小来优化JAVA的性能。在考虑提高JAVA的性能时,首先要找到影响JAVA性能的瓶颈(BottleNecks),在确认了设计的合理性后,应该调整JAVA布署的环境,通过改变一些参数来提高JAVA应用程序的性能。具体内容见第二节。
??? (3) JAVA应用程序的实现
??? 当讨论应用程序的性能问题时,大多数的程序员都会考虑程序的代码,这当然是对的,当更重要的是要找到影响程序性能的瓶颈代码。为了找到这些瓶颈代码,我们一般会使用一些辅助的工具,如Jprobe,Optimizit,Vtune以及一些分析的工具如TowerJ Performance等。这些辅助的工具能跟踪应用程序中执行每个函数或方法所消耗掉的时间,从而改善程序的性能。
??? (4) 硬件和操作系统
??? 为了提高JAVA应用程序的性能,而采用跟快的CPU和更多的内存,并认为这是提高程序性能的唯一方法,但事实并非如此。实践经验和事实证明,只有遭到了应用程序性能的瓶颈,从而采取适当得方法,如设计模式,布署的环境,操作系统的调整,才是最有效的。
??? 3.程序中通常的性能瓶颈。
??? 所有的应用程序都存在性能瓶颈,为了提高应用程序的性能,就要尽可能的减少程序的瓶颈。以下是在JAVA程序中经常存在的性能瓶颈。
????
??? 了解了这些瓶颈后,就可以有针对性的减少这些瓶颈,从而提高JAVA应用程序的性能
4. 提高JAVA程序性能的步骤
??? 为了提高JAVA程序的性能,需要遵循如下的六个步骤。
??? a) 明确对性能的具体要求
??? 在实施一个项目之前,必须要明确该项目对于程序性能的具体要求,如:这个应用程序
您可能关注的文档
- CN2采用的关键技术盘点..doc
- Chapter 7表面活性剂的合成..doc
- CAD CAM设计综合实验指导书v1.0..doc
- Contract技术引进合同英汉对照样本EC..doc
- CNG汽车加气站的安全评价 ..doc
- CFSnet企业消防安全综合监控信息管理系统(标准版方案v1.0)..docx
- CSCL和形成性评价在数据结构教学中的尝试..doc
- CRM在中小企业中的应用研究..doc
- CW6163型卧式车床的数控化改造总体设计及自动回转刀架设计..doc
- CW6163型卧式车床的数控化改造总体设计及横向进给设计..doc
- 贵州省黔东南州2023-2024学年高一上学期期末英语试题(含答案).pdf
- 湖南省常德市2023-2024学年高一上学期期末英语试题(含答案).docx
- 黑龙江齐市2023-2024学年高一上学期期末英语试题(含答案).docx
- 广东省深圳市2023-2024学年高一上学期期末英语试题(含答案)6.docx
- 浙江省宁波市2023-2024学年高一上学期期末英语试题(含答案).docx
- 广东省深圳市2023-2024学年高一上学期期末英语试题(含答案)2.pdf
- 广东省深圳市2023-2024学年高一上学期期末英语试题(含答案)3.docx
- 福建省漳州市2023-2024学年高一上学期期末英语试题(含答案).docx
- 福建省三明市2023-2024学年高一上学期期末英语试题(含答案).pdf
- 广东省深圳市2023-2024学年高一上学期期末英语试题(含答案).pdf
文档评论(0)