明确一个概念,对方法的调用,即便方法中只有一句语句,也是有消耗的,包括建立栈帧、调用方法时保护现场、调用方法完毕时恢复现场等。因此例以下面的操做:html
for (int i = 0; i < list.size(); i++) {...}
建议替换为:java
for (int i = 0, int length = list.size(); i < length; i++) {...}
这样,在list.size()很大的时候,就减小了不少的消耗性能优化
例如:性能
String str = "aaa";if (i == 1) { list.add(str); }
建议替换为:优化
if (i == 1) { String str = "aaa"; list.add(str); }
除非不得已。若是毫无理由地这么写了,只要你的领导资深一点、有强迫症一点,八成就要骂你为何写出这种垃圾代码来了spa
例如:指针
for (int i = 1; i <= count; i++) { Object obj = new Object(); }
这种作法会致使内存中有count份Object对象引用存在,count很大的话,就耗费内存了,建议为改成:code
Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }
这样的话,内存中只有一份Object对象引用,每次new Object()的时候,Object对象引用指向不一样的Object罢了,可是内存中只有一份,这样就大大节省了内存空间了。orm
这是一个比较常见的小技巧了,若是有如下代码:htm
String str = "123"; if (str.equals("123")) { ... }
建议修改成:
String str = "123"; if ("123".equals(str)) { ... }
这么作主要是能够避免空指针异常