`
qcyycom
  • 浏览: 189577 次
社区版块
存档分类
最新评论

java代码性能优化三

阅读更多

 

使用局部缓存

在 DALC 方法中,很多地方需要对返回的集合进行处理(设置每个实体相关的类名、包名、安全域名等),每个名字都需要从模型缓存中查询,如果集合中相当一部份名字 是重复的(很多情况下都是如此),每次都查询是没有必要的。通过在方法中添加局部缓存,这类操作的性能提升明显。

如:BusinessAttributeDALC.selectAllAttrsOfTheClass() 取类型 的所有属性,在取得属性后会调用convertBusinessAttributes 为属性设置:父属性名、包名、安全域名等相关名称,原实现 是对每个属性分别查询模型缓存,现在改成局部缓存方式(这些值中有很多是重复的)。方法调用时间减少一半。本机 执行BusinessAttributeDALC.selectAllAttrsOfTheClass() ,mw112 数据库,共1000 个属性记录,目标类型上有95 个属性,没有调优之前 需要65MS ,调优后只需 要33MS ,其中查询BusinessAttribute 缓存需要28MS 。

同时还发现,有些对模型的查询方法其实可以使用主键,但仍使用Condition 去查找,结果就是对模型缓存的遍历。

减少方法调用的层次   

        在代码中发现当需要对集合进行处理时,会在循环中调用单对象 处理方法(方法代码可能只有 2-3行,但会有多个 new DALC 操作),其实这样的效率是比较低的。这里单对象 方法中的 DALC 不能被重用,导致 JVM 需要创建大量的 DALC 实例,之后再回收。

        调用层次过多本身就有一些性能问题。每层方法的调用都需要 Stack 操作。

尽量减少使用 Reflect

        Reflect 一方面性能比较低,另一方面会降低代码的可读性。

        接口方法调用的性能明显高于 Reflect 。

        比如对目标数组使用 Array 类的方法进行遍历时,性能是比较低的。

正确的数组复制方法

        在对数组进行复制(全部或部份)时,尽量使用 System.arrayCopy 方法而不是进行遍历赋值。数组元素个数越多差别越明显, System.arrayCopy 性能基本无变化(使用 Native Method 实现)。

        DataRow.clone 会对 byte[] 进行 clone ,如果这个数组比较大( BLOB 字段),改成 System.arrayCopy比遍历性能高的多。

合理重用对象

        对象的创建比较耗用资源,可以合理地重用一些对象,比如模型服务中有很多 Handler ,如果有必要可以设计成可重用的 Handler ,通过一个 clear() 清理所有中间数据,通过 init(…) 重新初始化数据。

        这里的重用是指在一次串行调用的循环中,不必每次都重新创建实例。

        重用的好处主要包括:减少创建对象的个数;减轻 GC 的压力;

 

 

更多信息请查看 java进阶网 http://www.javady.com

1
2
分享到:
评论

相关推荐

    java代码性能优化23种技巧

    ### Java代码性能优化23种技巧详解 #### 一、避免在循环条件中使用复杂表达式 在Java中,尤其是在不进行编译器优化的情况下,循环条件会在每次迭代时都被重新计算。如果循环条件涉及复杂的表达式或者动态计算,这...

    JAVA代码性能优化

    java代码性能优化

    eclipse开发性能优化、java代码性能优化

    ### Eclipse 开发性能优化与 Java 代码性能优化 在日常的软件开发过程中,尤其是在使用 Eclipse 进行 Android 开发时,经常会遇到 IDE 运行缓慢的情况。为了提高开发效率,本文将详细介绍 Eclipse 开发环境及 Java ...

    JAVA代码优化工具

    Java代码优化是提升应用程序性能的关键步骤,尤其是在大型企业级应用或者高性能服务中。优化能够减少内存消耗,提高程序运行速度,降低CPU使用率,并改善整体的用户体验。在Java开发领域,有多种工具可以帮助开发者...

    《Java程序性能优化》(葛一鸣)PDF版本下载.txt

    根据提供的文件信息,我们可以推断出这是一本关于Java程序性能优化的书籍,作者是葛一鸣,并提供了该书PDF版本的下载链接。虽然没有具体的书籍内容,但基于标题、描述以及通常这类书籍会涉及的主题,我们可以总结出...

    java程序性能优化

    java程序性能优化Java是目前应用最为广泛的软件开发平台,学习针对Java程序的优化方法有重要的现实意义。《Java程序性能优化:让你的Java程序更快、更稳定》以Java性能调优为主线,系统地阐述了与Java性能优化相关的...

    Java程序性能优化

    《Java程序性能优化:让你的Java程序更快、更稳定》共6章,先后从软件设计、软件编码、JVM调优以及程序故障排斥等方面介绍针对Java程序的优化方法。第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章...

    Java程序性能优化 让你的Java程序更快、更稳定附本书示例代码(清晰版)

    总的来说,“Java程序性能优化 让你的Java程序更快、更稳定”这本书将涵盖以上诸多方面,通过理论结合实际的示例代码,帮助读者深入理解Java性能优化的各个方面,从而写出更快、更稳定的Java程序。书中附带的源文件...

    提高java代码性能各种技巧

    Java 代码性能优化技巧总结 Java 代码性能优化是每个 Java 开发者都需要掌握的重要技能。以下是对 Java 代码性能优化的各种技巧的总结: 字符串池的实现 在 Java 中,字符串池(String Intern Pool)是通过使用...

    Java程序性能优化 让你的Java程序更快、更稳定

    Java程序性能优化是每个开发人员都需要关注的重要领域,它涵盖了多个方面,旨在提高代码执行效率,减少资源消耗,以及提升应用程序的稳定性和响应速度。在本文中,我们将深入探讨Java性能优化的关键点,帮助你的Java...

    35个Java代码性能优化总结.pdf

    ### Java代码性能优化总结 Java代码性能优化是一个广泛的领域,涉及多个方面,包括但不限于内存使用、循环效率、算法优化、集合框架使用等。本总结旨在汇总35个常见的Java代码性能优化技巧。 #### 1. 使用final...

    4本高清中文版Java性能优化经典书籍

    Java性能优化是IT行业中至关重要的一个领域,尤其是在大型企业级应用和互联网服务中,高效的Java代码能够显著提升系统运行效率,降低服务器资源消耗。以下是对这四本经典书籍中的核心知识点的详细介绍: 1. **...

    Java程序性能优化 让你的Java程序更快、更稳定pdf文档视频资源

    Java程序性能优化是每个开发人员都需要关注的重要领域,特别是在企业级应用中,高效稳定的Java程序能够带来显著的业务优势。本资源包含一个PDF文档和相关的视频教程,旨在帮助你提升Java程序的速度和稳定性。 首先...

    JAVA程序性能优化

    ### JAVA程序性能优化 在Java开发中,程序性能优化是一个重要的环节,它直接影响到应用程序的运行效率、用户体验以及系统的整体稳定性。本文将基于提供的标题、描述及部分内容,深入探讨几个关键性的性能优化策略。...

    35 个 Java 代码性能优化总结

    ### 35个Java代码性能优化总结 #### 前言 代码优化是软件开发中的一个重要环节,尤其在Java这样的大型应用开发中更是至关重要。合理的优化不仅能够显著提高应用程序的性能,还能降低资源消耗,提升用户体验。本文将...

    java代码优化大全

    在软件开发过程中,为了提升应用程序的性能,我们需要对Java代码进行优化。这是因为计算机系统的资源(如内存、CPU时间、网络带宽等)是有限的,而优化的目标就是使程序能够以最小的资源消耗完成既定任务。优化通常...

Global site tag (gtag.js) - Google Analytics