`
liubo0_0
  • 浏览: 20479 次
社区版块
存档分类
最新评论

细节

 
阅读更多

干编程已经3年了,自己总觉得对于可以轻而易举的来完成.可是今天看完视频才发现,原来我只知其然,而不知所以然.

例一:String 和 StringBuffer 的效率问题.虽然平时一直都在用,可是却一直没有真正的理解.

String s = new String();

s = s+"@";

在对s+"@"的时候,其原理是先把s转换成StringBuffer,然后吧"@"元素添加进来,最后再调用toString()的方法,转换成String类型.

StringBuffer b = new StringBuffer();

b.append("@");

而StringBuff 就不需要来回来去的转换.

所以在进行循环添加字符串的时候,StringBuffer 就比 String 效率要高.

例二:Vector 和 ArrayList 是很时候用好

如果是多线程访问集合的时候,用Vector,不用考虑并发与线程安全的问题.

如果是单线程访问集合的时候,用ArrayList,效率比Vector好,不用同步线程额外的开销.

虽然上面只是一个小例子,但却反映出很大的问题.平时不注意这些细节,以后会吃大亏的.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics