JAVA高效开发小技巧总结(这是一位同事的分享,感谢)

1.以下两种for循环

这一种循环,会额外创建一个迭代器,然后遍历值。当遇到链表、Hashmap表时,用它速度很快。因为这样不需要通过遍历整个集合查找元素。

for(String str : list){
}


这一种循环,不用创建迭代器,当遇到数组、ArrayList时,用它速度最快,节省创建迭代器时间。如果遇到链表、HashMap则每一个都必须通过遍历整个集合来查找元素,时间复杂度立马上升。
int len=list.size();
for(int i=0;i<len;i++){
    String str=list[i];
}

2.反转字符串,用它速度最快

	public String get(){
		String str = "dddddd";
		return new StringBuilder(str).reverse().toString();
	}
3.在try catch中要加finally,释放一些特殊的操作

(1)文件流操作,不释放的话容易导致流溢出。

(2)解锁问题

4.HashMap在创建时,最好预估一下大小。因为HashMap会在放不下时做刷新,这时,会将小的haspMap拷贝一份给更大的haspMap.

预估大小,这样可以满足大部分场景,如果大小仍然超出了该怎么办?

5.字符串的不可变性,不用再说了,前面总结过

6.单引号和双引号是有区别的

7.java中创建对象的确很昂贵。不要随便乱建对象。

从效率上讲,越少越好。可是总是有那么多的大包,如果碰到性能瓶颈,那么这个方法就是一个出路。

从面向对象的角度看,我觉得,如果性能不是瓶颈,领域模型的设计,还有逻辑清晰、容易理解也许更重要。需要视情况而定。






阅读更多
换一批

没有更多推荐了,返回首页