Java 代码性能优化总结

徘徊边缘 提交于 2019-12-03 08:34:17

Java 代码性能优化总结

1.尽量减少对变量的重复计算

明确一个概念,对方法的调用,即使方法中只有一句语句,也是有消耗的,包括创建栈帧、调用方法时保护现场、调用方法完毕时恢复现场等。所以例如下面的操作:

for (int i = 0; i < list.size(); i++)

{...}

建议替换为:

for (int i = 0, int length = list.size(); i < length; i++)

{...}

这样,在list.size()很大的时候,就减少了很多的消耗

2.尽量采用懒加载的策略,即在需要的时候才创建

例如:

String str = "aaa";if (i == 1)
{

list.add(str);

}

建议替换为:

if (i == 1)
{

String str = "aaa";

list.add(str);

}

3.不要在循环中使用try…catch…,应该把其放在最外层

除非不得已。如果毫无理由地这么写了,只要你的领导资深一点、有强迫症一点,八成就要骂你为什么写出这种垃圾代码来了

4.循环内不要不断创建对象引用

例如:

for (int i = 1; i <= count; i++)

{

Object obj = new Object();

}

这种做法会导致内存中有count份Object对象引用存在,count很大的话,就耗费内存了,建议为改为:

Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }

这样的话,内存中只有一份Object对象引用,每次new Object()的时候,Object对象引用指向不同的Object罢了,但是内存中只有一份,这样就大大节省了内存空间了。

5.字符串变量和字符串常量equals的时候将字符串常量写在前面

这是一个比较常见的小技巧了,如果有以下代码:

String str = "123";
if (str.equals("123")) {

...

}

建议修改为:

String str = "123";
if ("123".equals(str))

{

...

}

这么做主要是可以避免空指针异常


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!