`
feifei_lee
  • 浏览: 44313 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 性能优化

 
阅读更多

一。为优化速度,for循环参数中,尽量不要使用计算式。


for(int i = 0; i < uriData.size(); i++)
应该写成:
int num = uriData.size();
for(int i = 0; i < num; i++)

二。避免把try/catch块放入循环体内

把try/catch块放入循环体内,会极大的影响性能,如果编译JIT被关闭或者你所使用的是一个不带JIT的JVM,性能会下降21%之多!

三。对于boolean值,避免不必要的等式判断

这么做1)代码执行的更快(生成的字节码少了5个字节); 2)代码会更干净。

四。不要在循环体内实例化变量

在循环体中实例化临时变量会增加内存消耗。

例:

for(int i=0; i < num; i++){

    Object o = new Object();

    o = v.elementAt(i);

    .....

}

改成

Object o;

for(int i=0; i < num; i++){
    o = v.elementAt(i);

    ....

}

五。尽量不要使用取反操作符

取反操作符(!)降低程序的可读性。

六。使用条件操作符

例:

if(A){

    return B;

}else{

    return C;

}

写成 return(A ? B : C);

 

if(A){

    a = B;

}else{

    a = c;

}

写成 a = (A ? B : C);

七。在finally块中关闭Stream

程序中使用到的资源应当被释放,以避免资源泄漏。

八。复制数组,使用System.arraycopy()

System.arraycopy()要比通过循环来复制数组快的多

九。让访问实例内变量的getter/setter方法变成final

简单的getter/setter方法应该被置成final,这会告诉编译器,这个方法不会被重裁,所以,可以变成'inlined'

例:

class MAF{
    public void setSize(int size){
        _size = size;

    }

    private int _size;

}

改成

class DAF {

    final public void setSize(int size){
        _size = size;

    }

    private int _size;

}

十。避免不需要的instanceof操作

如果左边的对象的静态类型等于右边的,instanceof表达式返回永远为true。

十一。使用移位操作符来代替‘a/b’,‘a*b’操作

“/”是一个很昂贵的操作,使用移位操作将会更快更有效。

a/4   ==> a >> 2

a/8  ==> a >> 3

a/3 不能替换

a*4 ==> a << 2

a *8 ==> a << 3

a*3 不能替换

十二。如果字符串只有一个字符,在字符串相加的时候,使用‘’代替”“

例:

string = ”abc“ +‘d';

十三。用"StringTokenizer"代替’indexOf()‘和'substring()'

使用indexOf()和substring()来分析字符串,容易导致StringIndexOutOfBoundsException。

十四。尽可能的使用栈变量

如果一个变量需要经常访问,那么就需要考虑这个变量的作用域了。

访问静态变量和实例变量将会比访问局部变量多耗费2-3个时钟周期。

例:

private int _sum;

private static int _staticSum;

 

void getSum(int[] values){

    for(int i = 0; i < num; i++){

        _sum += value[i];

       _staticSum += value[i];

   }

}

改成:

void getSum(int[] values){

    int sum = _sum;

    for(int i = 0; i < num; i++){

       sum += value[i];

    }

    _sum = sum;

}

分享到:
评论

相关推荐

    java性能优化教程

    Java性能优化是提升软件效率和用户体验的关键环节,尤其是在大规模应用和高并发场景中。本教程将深入探讨如何通过各种技术和策略来优化Java程序,确保其高效运行。 首先,理解Java性能的基础是JVM(Java虚拟机)。...

    大话JAVA性能优化

    《大话JAVA性能优化》这份文档深入探讨了Java程序在多个层面的性能调优策略,旨在帮助开发者提高程序运行效率,降低资源消耗,提升用户体验。以下是对这些知识点的详细阐述: 1. **代码层次优化**:在代码编写阶段...

    Java性能优化实战视频全集

    ### Java性能优化实战知识点概述 #### 一、理论分析篇 **1.1 性能优化的衡量指标及注意事项** - **衡量指标**: 包括响应时间、吞吐量、资源利用率等。 - **注意事项**: 在进行性能优化时,需确保优化方案不会引入...

    Java 性能优化实战 21 讲2021年

    │ 开篇词 Java 性能优化,是进阶高级架构师的炼金石.mp4 │ 02 理论分析:性能优化有章可循,谈谈常用的切入点.mp4 │ 03 深入剖析:哪些资源,容易成为瓶颈?.mp4 │ 04 工具实践:如何获取代码性能数据?....

    java性能优化

    【Java性能优化】是开发者关注的重要话题,尤其是在服务器端应用中。Java自1990年代中期诞生以来,虽然凭借其跨平台特性受到欢迎,但性能一直是与C++等语言相比的一个短板。本文将从几个关键方面探讨Java性能优化。 ...

    大话java性能优化 周明耀 完整版

    《大话java性能优化》是周明耀先生的一本深入探讨Java性能调优的专业书籍,其主要内容涵盖了Java程序设计中的各种性能优化策略和技术。这本书旨在帮助开发者理解和掌握如何提升Java应用的运行效率,减少资源消耗,...

    Java 性能优化 一书源码

    Java性能优化是软件开发中的一个关键领域,尤其是在大型企业级应用和高并发系统中。《Java性能优化》一书深入探讨了如何通过各种技术提升Java应用程序的效率和响应速度。以下是一些基于书籍源码和相关文件名的关键...

    大话Java性能优化.epub

    大话java性能优化,pdf版!

    阿里JAVA性能优化实战

    【阿里JAVA性能优化实战】是面向Java开发人员和架构设计人员的专业课程,旨在提供系统优化的知识和技巧。本文将深入探讨Java性能优化的关键点,并基于给出的部分内容进行详细阐述。 性能调优对于任何互联网公司都是...

    JAVA性能优化手册

    JAVA性能优化查看Linux服务器内存使用情况,JVM参数设置、分析

    Java性能优化的45个细节.pdf

    根据提供的文件信息,以下是关于Java性能优化的详细知识点,内容包括单例模式的合理应用、静态变量的使用考量、对象创建与垃圾回收策略、final修饰符与内联优化、局部变量与实例变量的性能差异、包装类型与基本类型...

    10种java性能优化方案.docx

    ### Java性能优化方案详解 #### 一、理解性能优化的重要性 在现代软件开发中,特别是在Java领域,性能优化是一项至关重要的任务。随着系统的复杂性和规模不断增长,优化不仅仅是提高用户体验那么简单,更是确保...

    大话JAVA性能优化.pdf

    大话Java性能优化》主要提供Java性能调优方面的参考建议及经验交流。作者力求做到知识的综合传播,而不是仅仅只针对Java虚拟机调优进行讲解,另外力求每一章节都有实际的案例支撑。具体包括:性能优化策略、程序编写...

    Java性能优化技巧集锦

    Java性能优化是提升软件效率和用户体验的关键步骤,涵盖了多种技术和策略。本文将深入探讨Java通用篇、J2EE篇、GUI篇、EJB篇以及缓存优化等方面的知识点,旨在帮助开发者实现更高效的代码。 一、Java通用篇 在Java...

    大话Java性能优化

    具体 包括: 性能 优化 策略、 程序 编写 及 硬件 服务器 的 基础 知识、 Java API 优化 建议、 算法 类 程序 的 优化 建议、 并行 计算 优化 建议、 Java 程序 性能 监控 及 检测、 JVM 原理 知识、 其他 相关 ...

Global site tag (gtag.js) - Google Analytics