java代码调优笔记(一)
(1). 用Boolean.valueOf(boolean b)代替new Boolean()
包装类的内存占用是很恐怖的,它是基本类型内存占用的N倍(N>2),同时new一个对象也是性能的消耗。
我们再看看JDK对于Boolean.valueOf(boolean b)的实现:
Boolean类提供了两个常量:
上面的做法会浪费较大的内存空间。正确的做法如下所示:
上面的做法会浪费较大的内存空间。正确的做法如下所示:Object obj = null;for (int i = 0; i < 10000; ++i) { obj = new Object(); System.out.println("obj= "+ obj);}
采用上面的第二种编写方式,仅在内存中保存一份对该对象的引用,而不像上面的第一种编写方式中代码会在内存中产生大量的对象引用,浪费大量的内存空间,而且增大了垃圾回收的负荷。因此在循环体中声明创建对象的编写方式应该尽量避免。
同上一条,这个并不是错误而且是一个很好的实践,代码可读性更好,性能影响基本没有。
cuishen 写道
(7). 如果if判断中多个条件用'||'或者'&&'连接,请将出现频率最高的条件放在表达式最前面。
这个小技巧往往能有效的提高程序的性能,尤其是当if判断放在循环体里面时,效果更明显。
我认为应当把最可能让条件成立(对于||)或者最可能让条件失败(对于&&)的放在最前面。
兄弟你可以参考下。。。