Java开发经验(性能优化).doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java性能手册 PAGE 本文档所有权属于中国工商银行股份有限公司 第 PAGE 1 页 共 SECTIONPAGES 2页 内部资料,注意保密 J JAVA开发(性能优化) 文档名称 版权所有?中国工商银行软件开发中心 第 PAGE 1 页 共 SECTIONPAGES 1页 内部使用 文档属性 文件属性 内容 文件名称: Java开发经验(性能优化) 文件编号: 文件版本号: A0 文件状态: 正式稿 作 者: 北研架构办技术组(幺得志) 文件初次发布日期: 文件初次实施日期: 文档变更过程 文件版本号 修正日期 修正人 描述 本版本变更内容描述 序号 修改内容描述 目 录 TOC \o 1-3 \h \z 第 一 章 概述 1 第 二 章 J2SE性能编程建议 1 1、 避免对象创建和GC 1 2、 尽可能使用基本变量类型 1 3、 尽可能缓存使用频繁数据 1 4、 使用StringBuffer 1 5、 控制System.Out使用 2 6、 使用数据库连接池 2 7、 使用线程池(thread pooling) 2 8、 避免在循环内分配对象 2 9、 尽早释放无用对象的引用 3 10、 Java Native Interface(JNI) 3 11、 避免使用更复杂的数据结构 3 12、 避免矢量(Vector)使用 3 13、 避免非常大的内存分配 3 14、 异常的开销很大 4 15、 尽量避免 “casts”和“instanceof” 4 16、 使用缓冲区 I/O 4 17、 使用回调以避免阻塞远程方法调用 4 18、 控制整数使用 4 19、 不用GC调用 4 20、 避免远程方法调用 4 第 三 章 J2EE Web编程建议 4 1、 使用HttpServlet init()方法缓存数据 5 2、 避免Servlet和JSP的重新加载(auto-reloading) 5 3、 控制HttpSession 6 4、 使用gzip 6 5、 不使用Servlet的SingleThreadModel模式 7 6、 设置合理的Web容器线程池。 7 7、 选择正确的include机制 8 8、 正确使用userBean 8 概述 Java平台分为J2SE、J2EE、J2ME三大部分,北研大部分BS系统基于J2SE、J2EE平台的Web系统。随着北研BS系统(例如网银、电银)的规模逐步增大,单系统负载逐渐增强,如何进一步优化系统性能变得越来越重要。本文从开发语言的角度,分J2SE、J2EE Web两部分给出Java平台性能编程建议,希望能够对Java开发提供一些有价值的参考.进一步提高北研BS系统的健壮性 J2SE性能编程建议 避免对象创建和GC 只要有可能,应该避免创建对象,防止调用构造函数带来的相关性能成本,以及在对象结束其生命周期时进行垃圾收集所带来的成本。 尽可能使用基本变量类型 尽可能使用基本变量类型,而不使用对象类型。例如,使用int,而不使用Integer。 变量类型占用空间大小 int float double boolean char 4 4 4 4 4 Ineger Float Double Boolean String 81 79 84 47 7 尽可能缓存使用频繁数据 缓存那些频繁使用的寿命短的对象,避免一遍又一遍地重复创建相同的对象,并因此加重垃圾收集的负担。 对于这种情况,为了提高对象的复用程度,可以把对象定义成final static类型,例如 private final static String Name = “ICBC”。 使用StringBuffer 由于String属于不可变对象,每次字符串操作都会生成新的字符串对象实例,而这些对象必须经过GC。 加号操作符和StringBuffer Append()的内存使用比较 方法 2000 10000 20000 + 3000 39406 169876

文档评论(0)

k12教育文档 + 关注
实名认证
服务提供商

本人专注于k12教育,英语四级考试培训,本人是大学本科计算机专业毕业生,专注软件工程计算机专业,也可承接计算机专业的C语言程序设计,Java开发,Python程序开发。

1亿VIP精品文档

相关文档