Java 程序性能优化

Java程序中,性能问题的原因除了核心算法之外,很大一部分是有程序本身代码导致,所以对程序细节的优化有事可以很好的提升程序的性能。 

1、  尽量制定类的final修饰符,因为final修饰的类是不可以派生的,这样不仅可以防止其他类覆盖这个类中的关键方法,而且如果指定该类为final时,改类中的所有方法都是final类型,Java编译器会自动内联(inline)所有的final方法。

2、  Switch   case 的效率要高于if else模式

3、  尽量使用局部变量,局部变量在栈中,操作比较快,需要初始化。其他变量在堆中创建,速度较慢。

4、  不要太多详细JVM GC机制,对象使用完成之后,手动置为NULL

5、  在使用同步机制时,使用方法同步块代替代码块同步。

6、  不要在循环语句中使用try/catch,应该将其放在循环外边。应该慎用异常,异常对性能不利,抛出对象时首先会创建一个新的对象,收集跟踪栈的调用信息。

7、  使用StringBuffer时,使用合适的容量值来初试话。StringBuffer在内部维护一个字符数组,缺省值为16个字符,当填充数据达到他的最大容量时,Stringbuffer会自动将自身容量增加到当前的2+2。只要StringBuffer到达它的最大容量,就需要创建一个新的字符数组,然后重新将旧字符和新字符都复制一遍(代价很大)。

8、  当需要复制大量数据时,使用   system.arraycopy()命令。

9、  乘法和除法使用移位来代替(左移是乘2)。

10、 尽量不要使用new 关键字创建类的实例

因为用new 关键词创建类的实例时,构造函数链中所有的构造函数都会被自动调用。但是如果一个对象实现了Cloneable接口,可以调用它的clone方法。Clone()方法不会调用任何类的构造函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值