Java程序性能优化技巧

标签: java 程序 性能优化 | 发表时间:2015-07-23 20:50 | 作者:fuyuwei2015
出处:http://blog.csdn.net

1、优化循环体
如果循环次数很多,循环体内代码处理不好问题就会被放大。

  for(int i=0;i<list.size();i++){}优化为
int size=list.size();
for(int i=0;i<size;i++){}

for(int i=0;i<100000;i++){
    if(i%10==9){
    //每循环10次执行一次
}
}
优化为
for(int i=0;j=10;i<100000;i++;j--){
    if(j==0){
        //每循环10次执行一次
        j=10;
}
}

2、少用new初始化一个实例
new一个对象耗时往往是局部变量赋值耗时的上千倍,同时,当对象生成后系统还要花时间进行垃圾回收和处理。
例如:
NewObject object = new NewObject();
int value;
if(value>10){
value = object.getValue();
}
优化为
int value;
if(value>10){
NewObject object = new NewObject();
value = object.getValue();
}
3、异常处理
异常处理对性能不利,抛出异常首先要创建一个新的对象,并进行相关处理,造成系统开销。所以异常应该用在错误的处理情况,不应该用来控制程序流程。
4、尽量使用局部变量
局部变量,调用方法时传递的参数以及在创建临时变量都保存在栈(stack)中,速度较快,其他变量入静态变量、全局变量都在堆(Heap)中创建,速度较慢。
扩展:栈是由系统分配,速度较快,栈使用的是一级缓存,他们通常都是被调用时处于存储空间中,调用完毕立即释放,堆是new分配的内存,容易产生内存碎片,不过使用起来方便,堆存放在二级缓存中,生命周期由虚拟机的垃圾回收算法决定。
5、尽量减少I/O操作
6、尽量使用缓存
BufferedReader代替Reader,BufferedWriter代替Writer,BufferedInputStream代替inputStream来进行I/O处理都能获得性能的提高。
7、尽量不适用同步,Servlet是多线程如果使用太多的同步就失去了多线程的优势
8、不能保存太多的信息在HttpSession中,但是当session的存储量很大时对内存的需求很高。
9、消除session,当用户退出系统时手动释放资源

作者:fuyuwei2015 发表于2015/7/23 12:50:33 原文链接
阅读:109 评论:0 查看评论

相关 [java 程序 性能优化] 推荐:

Java程序性能优化技巧

- - CSDN博客推荐文章
如果循环次数很多,循环体内代码处理不好问题就会被放大. for(int i=0;i

java 8 JVM性能优化

- - Java - 编程语言 - ITeye博客
转自:http://qindongliang.iteye.com/blog/2199633. jvm java 垃圾回收 . JVM是JAVA世界的核心,了解它有助于我们更好调试,调优和开发程序,最近散仙在看JAVA特种兵一书,看完觉得,作者写的内容还是挺不错,大家感兴趣的,也可以购买本温故而知新下.

Java 代码性能优化

- - IT瘾-geek
代码 优化,一个很重要的课题. 可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢. 这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗. 没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了. 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的.

Java Web 服务性能优化实践

- - 博客 - 伯乐在线
来源: IBM developerworks. 简介: 本文介绍如何提升 Java Web 服务性能,主要介绍了三种方法:一是采用 Web 服务的异步调用,二是引入 Web 服务批处理模式,三是压缩 SOAP 消息. 重点介绍在编程过程中如何使用异步 Web 服务以及异步调用和同步调用的差异点. 本文还示范了如何在项目中使用以上三种方法,以及各种方法所适合的应用场景.

JAVA性能优化 - IBMJDKJVM参数设置

- - 编程语言 - ITeye博客
 本文将描述IBM JDK下常用参数的设置.   -Xms:最小堆大小.   -Xmx:最大堆大小.   -Xminf and -Xmaxf:GC(垃圾回收)之后可用空间的最小值最大值.   -Xmine and -Xmaxe:堆增长的最小最大值.   -Xmint and -Xmaxt:垃圾回收占时间整个运行时间的比例,默认是5%.

10种简单的Java性能优化

- - ImportNew
你是否正打算优化hashCode()方法. Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧. 最近“全网域( Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”. 全网域被炒作的最多的是扩展负载(Scaling load),比如支持单个用户访问的系统也可以支持10 个、100个、甚至100万个用户访问.

Java 性能优化的五大技巧

- - ImportNew
要对你的 java 代码进行优化,需要理解 java 不同要素之间的相互作用,以及它是如何与其运行时的操作系统进行交互的. 使用下面这五个技巧和资源,开始学习如何分析和优化你的代码吧. 在我们开始之前, 你也许会担心许可的问题. Java 为 Oracle 公司所有,遵循 Oracle 的 BCL 许可,该许可证不是一个免费/开源许可证.

java语言常用性能优化技巧

- - Java - 编程语言 - ITeye博客
java语言常用性能优化技巧介绍.     java程序常用的方法有以下几种:.     1.不用new关键词创建类的实例. 用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用. 但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法. clone()方法不会调用任何类构造函数.

读”Java 性能优化之 String 篇“有感

- - ITeye博客
读了 IBM Developer Works上的一篇. Java 性能优化之 String 篇  感觉写得比较实用,但也有一些问题值得斟酌:. 1)关于内存空间的使用大小,虽然Java的基本类型的大小是固定的,不因运行环境而变化,但是Object overhead,以及Reference的大小是与平台相关的,比如在64bit的机器上Object overhead 应该是16 bytes,Reference是8bytes,这点应该说清楚.

JVM性能优化, Part 5:Java的伸缩性

- - 并发编程网 - ifeve.com
JVM性能优化系列文章由Eva Andearsson在javaworld上发表共计5篇文章, ImportNew上有前4篇译文. 本文(第5篇)由 吴杰翻译自: javaworld . 很多程序员在解决JVM性能问题的时候,花开了很多时间去调优应用程序级别的性能瓶颈,当你读完这本系列文章之后你会发现我可能更加系统地看待这类的问题.