黑马程序员技术交流社区
标题:
stringbuffer和stringbuilder区别是啥啊?
[打印本页]
作者:
柏涛
时间:
2014-2-15 19:58
标题:
stringbuffer和stringbuilder区别是啥啊?
有同学详细解释下么
作者:
kira
时间:
2014-2-15 20:02
这个经常提到吧
前者是同步 效率稍慢 后者不同步效率快
前者因为同步 所以安全性高 后者则安全性较低
前者出现时间早 后者是1.5之后才出现的
虽然前者安全性高 但是一般不涉及到多线程的时候还是用后者 因为效率高!
作者:
廉伟杰
时间:
2014-2-15 20:13
StringBuffer/StringBuilder区别:
------ StringBuffer:线程安全的,适合用于多线程中,但是性能低一点;
------ StringBuilder(java5): 线程不安全的,适合用于单线程中,性能高一点; 官方推荐使用的
作者:
tf996268809
时间:
2014-2-15 21:00
这个实际用起来基本没什么区别
StringBuffer:x线程安全,效率低
StringBuilder:线程不安全,效率高
我们java开发一般是单线程,所以最常用的 是 StringBuilder,
作者:
云行水边
时间:
2014-2-15 21:42
这个是基础的 面试的时候 也有被问到过
StringBuffer:线程安全的 效率低 用的比较少 开发时不常用
StringBuilder:线程不安全但是效率高 开发是比较常用 是StringBufferd的升级版
作者:
why168
时间:
2014-2-15 22:43
StringBuffer是线程安全的,有加锁开销,效率略低。StringBuilder非线程安全,不用加锁,效率更高。一般字符串相加不会有多线程操作,所以推荐使用StringBuilder。StringBuilder是jdk1.5之后引入的,之前只能使用StringBuffer。另外,事实上我们在java里写的字符串相加的操作被编译后都是通过new一个StringBuffer或StringBuilder对象来操作的,所以不会产生大量的String对象
作者:
袁劲松
时间:
2014-2-16 09:25
StringBuffer是字符串缓存区,它的内容可以被修改,长度也可以改变,StringBuffer类是线程安全的,也就是说多个线程可以安全的访问StringBuffer对象。StringBuilder与StringBuffer类似,都是字符串缓冲区,但StringBuilder不是线程安全的,如果你只是在单线程中使用字符串缓冲区,那么StringBuilder的效率会更高些。值得注意的是StringBuilder是在JDK1.5版本中增加的。以前版本的JDK不能使用该类。
作者:
chenfc8578
时间:
2014-2-16 23:08
楼上回答的都很全面
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2