JAVA优化代码策略(一)

标签: java 优化 代码 | 发表时间:2015-08-14 15:41 | 作者:xiaowei2002
出处:http://www.iteye.com

在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。所以养成好的代码编写习惯非常重要。下面我们就来具体地分析一下:

 

1、尽量重用对象

比如:String 对象的使用中,出现字符串连接情况时应用StringBuffer 代替。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。因此,生成过多的对象将会给程序的性能带来很大的影响。

 

2、尽量使用局部变量

调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。

其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。

 

3、Java 编程过程中,进行数据库连接、I/O流操作时务必小心,在使用完毕后,及时关闭以释放资源。 因为对这些大对象的操作会造成系统大的开销,稍有不慎,会导致严重的后果。

 

4、对象使用完毕,应手动置成null

JVM回收垃圾的条件是:对象不在被引用;然而,JVM的GC并非十分的机智,即使对象满足了垃圾回收的条件也不一定会被立即回收。所以,建议我们在对象使用完毕,应手动置成null。

 

5、尽量减少对变量的重复计算

比如:

for(int i = 0;i < list.size; i ++) {
}
应替换为:
for(int i = 0,int len = list.size();i < len; i ++){
}

 

6、尽量采用lazy loading策略,即在需要的时候才开始创建

比如:

String str = “abc”;
if(i == 1) {
list.add(str);
}
应替换为:
if(i == 1) {
String str = “abc”;
list.add(str);
}

 

7、不要在循环中使用捕获异常机制,应把其放置在最外层。

 

8、array(数组) 和 ArryList的使用

array([]):最高效;但是其容量固定且无法动态改变;
ArrayList:容量可动态增长;但牺牲效率;
基于效率和类型检验,应尽可能使用array,无法确定数组大小时才使用ArrayList!

 

9、尽量使用HashMap和ArrayList ,除非必要,否则不推荐使用HashTable和Vector,后者由于使用同步机制,而导致了性能的开销。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [java 优化 代码] 推荐:

Java代码优化

- - ImportNew
2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化. 在修改之前,我的说法是这样的:. 就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了. 代码优化一样,也许一个两个的优化,对于提升代码的运行效率意义不大,但是只要处处都能注意代码优化,总体来说对于提升代码的运行效率就很有用了.

Java 代码性能优化

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

JAVA优化代码策略(一)

- - Web前端 - ITeye博客
在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身. 所以养成好的代码编写习惯非常重要. 比如:String 对象的使用中,出现字符串连接情况时应用StringBuffer 代替. 由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理. 因此,生成过多的对象将会给程序的性能带来很大的影响.

11 款用于优化、分析源代码的Java工具

- DreamToTrue - ITeye资讯频道
本文将提供一些工具,帮助你优化代码以及检查源代码中的潜在问题. PMD能够扫描Java 源代码,查找类似以下的潜在问题:. 可能的bug——try/catch/finally/switch语句中返回空值. 死代码——未使用的局部变量、参数、私有方法. 不理想的代码——使用String/StringBuffer.

Java 代码优化过程的实例介绍

- - 博客 - 伯乐在线
来源: IBM developerworks. 简介: 通过笔者经历的一个项目实例,本文介绍了 Java 代码优化的过程,总结了优化 Java 程序的一些最佳实践,分析了进行优化的方法,并解释了性能提升的原因. 从多个角度分析导致性能低的原因,并逐个进行优化,最终使得程序的性能得到极大提升,代码的可读性、可扩展性更强.

Linkedin工程师是如何优化他们的Java代码的

- - 博客园_知识库
   英文原文: LinkedIn Feed: Faster with Less JVM Garbage.   最近在刷各大公司的技术博客的时候,我在Linkedin的技术博客上面发现了一篇很不错博文. 这篇博文介绍了Linkedin信息流中间层Feed Mixer,它为Linkedin的Web主页,大学主页,公司主页以及客户端等多个分发渠道提供支撑(如下图所示).

java代码开发规范

- - BlogJava_首页
格式规范:                                                                      .       1、TAB空格的数量. 编辑器上的TAB空格数量统一取值为4.       2、换行, 每行120字符.       3、if语句的嵌套层数3层以内   .

java 8 JVM性能优化

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

2011年度最牛逼java代码

- sunseesiu - ITeye论坛最新讨论
作者: 5172306 . 声明: 本文系ITeye网站发布的原创文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任. 已有 16 人发表回复,猛击->>这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Java代码编写的30条建议

- - inJava
(1) 类名首字母应该大写. 字段、方法以及对象(句柄)的首字母应小写. 对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母. 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母. 这样便可标志出它们属于编译期的常数. Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此.