JEE应用优化浅谈(精品)

JEE应用优化浅谈(精品)

ID:43709379

大小:80.07 KB

页数:58页

时间:2019-10-13

JEE应用优化浅谈(精品)_第1页
JEE应用优化浅谈(精品)_第2页
JEE应用优化浅谈(精品)_第3页
JEE应用优化浅谈(精品)_第4页
JEE应用优化浅谈(精品)_第5页
资源描述:

《JEE应用优化浅谈(精品)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1刖吞Java2Platform,EnterpriseEdition(J2EE)是当前很多商业应用系统使用的开发平台,该技术提供了一个基于组件的方法来设计、开发、装配和部署金业级应用程序。J2EE平台提供了一个多层结构的分布式的应用程序模型,可以更快地开发和发布的新的应用解决方案。J2EE是一种技术规范,定义了幣个标准的应用开发体系结构和一个部署环境,皿用开发者开发时只要专注于具体商业逻辑和商业业务规则的实现上,而其他的诸如事务、持久化、安全等系统开发问题可以市应用程序容器或者服务器处理,开发完成后,就

2、可以方便地部署到实现规范的应用服务器中。作为网络上的商业应用系统,同时访问的人数是很多的,在大量访问的情况下,过多的资源请求和有限的服务辭资源(内存、CPU时间、网络带宽等)之间就会出现才盾,应用系统的性能就显得很重要了,有吋止确的代码并不能保证项n的成功,性能往往是最后决定一个项冃是否成功的关键因素。优化一般意义上说是提高已有系统的性能,减少如内存、数据库、网络带宽等资源的占用,是在系统开发告-•段落的前提下进行。一般是通过压力测试或具体使用发现性能方而的问题,然后寻找性能瓶颈,并结合项目进度、人员安

3、排、技术储备等因素,提出和应的优化策略。J2EE性能的优化包括很多方血的,要达到一个性能优良的系统,除了关注代码之外,还应该根据系统实际的运行情况,从服务器软硬件环境、集群技术、系统构架设计、系统部署环境、数据结构、算法设计等方面综合考虑。本文主要从性能的角度出发,结合我们的技术架构,讨论J2EE应用程序代码性能优化和提升,诸如硬件环境、数据库环境等等未在讨论范围之内,这些问题需要相关方面的专业人士來提供策略。般意义上说,参与系统运行的代码都会对性能产生影响,实际应用中应该养成陆好的编程规范、编写高质赧

4、的代码,当系统性能出现问题时,要找到主要影响性能的瓶颈所在,然后集中精力优化这些代码,能达到事半功倍的效果。2Java垃圾回收机制简介2.1垃圾回收简介Java的堆是一个运行时数据区,类的实例(对象)从屮分配空间。Java虚拟机(JVM)的堆屮储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需耍程序代码来显式地禅放。般来说,堆的是由垃圾回收来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不

5、需要垃圾冋收,但是众所周知,Java堆空间的大小不是无限的,Java堆的大小最大不能超过1024M,山于内存的有限性,JVM在实现的时候祁有一个山垃圾回收所管理的堆。垃圾冋收是一种动态存储管理技术,它口动地释放不再被程序引用的对象,按照特定的垃圾收集算法來实现资源自动回收的功能。在C++中,对象所占的内存在程序结束运行之前一肓被占用,在明确释放之前不能分配给其它对象;而在Java屮,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会白动释放该内存块。垃圾收集意味着程

6、序不再需要的对象是”无用信息“,这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对彖,垃圾收集也可以清除内存记录碎片。由于创建对彖和垃圾收集器释放丢弃对彖所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块Z间的空闲内存洞。碎片整理将所占用的堆内存移到堆的一端,JVM将整理出的内存分配给新的对彖。垃圾收集能白动释放内存空间,减轻编程的负担。这使Java虚拟机具有一些优点。首先,它能使编程效率提高。在没有垃圾收集机制的时候,可能要花

7、许多时间来解决一个难憐的存储器问题。在用Java语言编程的时候,靠垃圾收集机制可大大缩短时间。其次是它保护程序的完整性,垃圾收集是Java语言安全性策略的一个重要部份。垃圾收集的一个潜在的缺点是它的开销影响程序性能。Java虚拟机必须追踪运行程序屮有用的对象,而且最终禅放没用的对象。这一个过程需要花费处理器的时间。其次垃圾收集算法的不完备性,早先采用的某些垃圾收集算法就不能保证100%收集到所有的废弃内存。当然随着垃圾收集算法的不断改进以及软硬件运行效率的不断提升,这些问题都町以迎刃而解。2.2垃圾收集

8、的算法分析Java语言规范没有明确地说明JVM使用哪种垃圾回收算法,但是任何一种垃圾收集算法一般要做2件基本的事情:(1)发现无川信息对象;(2)回收被无用对象占用的内存空间,使该空间可被程序再次使用。大多数垃圾冋收算法便用了根集(rootset)这个概念;所谓根集就量正在执行的Java程序可以访问的引用变量的集合(包括局部变量、参数、类变量),程序可以使用引用变量访问对象的属性和调用对象的方法。垃圾收集首选需要确定从根开始哪些是可达的和哪

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。