首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

StringBuffer跟StringBuilder有什么区别

2012-12-30 
StringBuffer和StringBuilder有什么区别啊笔试的时候考了个这个题,没答上来,哈哈,大神们说说吧[解决办法]S

StringBuffer和StringBuilder有什么区别啊
笔试的时候考了个这个题,没答上来,哈哈,大神们说说吧
[解决办法]
StringBuilder是jdk1.5之后出现的。因为是线程不同步的,所以效率会比StringBuffer高
[解决办法]
StringBuilder和StringBuffer的区别只在于前者线程不安全,后者实现了所有方法的线程同步
StringBuffer由于实现了线程同步,所以在执行的时候会有加锁的资源消耗,效率较低
在不受到线程共享变量的影响情况下,都推荐使用StringBuilder
[解决办法]
23. StringBuffer和StringBuilder的区别在于:java.lang.StringBuffer线程安全的可变字符序
列。一个类似于String的字符串缓冲区,但不能修改。StringBuilder与该类相比,通常应该
优先使用java.lang.StringBuilder类,因为它支持所有相同的操作,但由于它不执行同步,
所以速度更快。为了获得更好的性能,在构造StringBuffer和StringBuilder时应尽可能指定
它的容量。如果字符长度不超过16个字符就不用了.相同情况下StringBuilder比使用
StringBuffer仅能获得10%~15%左右的性能提升,但也冒多线程不安全的风险。除非你能确定
你的系统瓶颈在StringBuffer上,并且确定你的模块不会再运行在多线程模式下,否则还是
使用StringBuffer。
[解决办法]
直接看源码最能说明问题了,StringBuffer的方法加了synchronized关键字,所以线程安全。

热点排行
Bad Request.