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

1.以下两种for循环

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


  
  
  1. for(String str : list){
  2. }


这一种循环,不用创建迭代器,当遇到数组、ArrayList时,用它速度最快,节省创建迭代器时间。如果遇到链表、HashMap则每一个都必须通过遍历整个集合来查找元素,时间复杂度立马上升。

  
  
  1. int len=list.size();
  2. for( int i= 0;i<len;i++){
  3. String str=list[i];
  4. }

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


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

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

(2)解锁问题

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

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

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

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

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

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

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






发布了5 篇原创文章 · 获赞 0 · 访问量 1152

猜你喜欢

转载自blog.csdn.net/u013310037/article/details/104723062