Effective java学习笔记4:避免创建重复对象

王朝java/jsp·作者佚名  2008-05-31
宽屏版  字体: |||超大  

很简单的一个例子:

不要使用

String ts=new String(“hello”);

这样会生成多余的对象.

最好使用

String ts=”hello”;

//add by chris:

很多文章都建议使用stringbuffer来代替string,为什么会带来性能的提高哪?这里有篇文章:http://www.matrix.org.cn/article_view.ASP?id=67

为了理解深入点,我们看一个例子:

String s1 = "Testing String";

String s2 = "Concatenation Performance";

String s3 = s1 + " " + s2;

另外一种方法:

StringBuffer s = new StringBuffer();

s.append("Testing String");

s.append(" ");

s.append("Concatenation Performance");

String s3 = s.toString();

在上面这个例子里面,其实性能是没有提高的,为什么会这样哪?

这个在这里就不讨论了。有爱好请研究一下stringbuffer的源代码。

//end of add

其实在jvm里面,假如你下一次再构造一个值为”hello”的对象string,jvm可以重用以前的对象的。

而且不要在循环或者多次调用的地方新建一个对象,一定要尽量避免这个

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有