为JAVA性能而设计(二)

  

第二部分:减少对象创建

  

概要
许多通常的Java性能问题都起源于在设计过程早期中的类设计的思想,   早在许多开发者开始考虑性能问题之前。在这个系列中,Brian Goetz讨论了通常的Java性能上的冒险以及怎么在设计时候避免它们。在第二部分,   他讨论了减少临时对象创建的一些技术。

  

  

  

只是对字符串说不吗?

  

  

  

  BadRegExpMatcher (String regExp);
/* *尝试匹配指定的   正则表达式的文本输入
,返回匹配的文本   如果可能的话或null如果不是*/
公共字符串(字符串相匹配   inputText);
}

  

  

  BetterRegExpMatcher (…);
/* *提供多种格式的匹配器   输入字符串,
字符数组和字符数组的子集。   返回1如果没有
匹配;如果匹配返回抵消比赛开始   是
。*/
公共int匹配(字符串inputText);
公共int   匹配(char [] inputText);
公共int匹配(char [] inputText, int抵消,int   长度);
/* *如果匹配,返回匹配的长度;   
之间的偏移量和长度,调用者应该可以   
重建匹配文本的偏移量和长度*/
  int getMatchLength ();
/* *方便常规匹配字符串,   
调用者的事件发生,希望一个字符串*/
公共字符串   getMatchText ();
}

  

  

  

  

强不可变性对于性能来说是否很坏?

  

  

为JAVA性能而设计(二)