干编程已经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好,不用同步线程额外的开销.
虽然上面只是一个小例子,但却反映出很大的问题.平时不注意这些细节,以后会吃大亏的.

被折叠的 条评论
为什么被折叠?



