黑马程序员技术交流社区

标题: StringBuffer和StringBuilder的区别 [打印本页]

作者: rzb2010    时间: 2015-7-5 23:59
标题: StringBuffer和StringBuilder的区别
jdk1.5以后出现了功能和StringBuffer一模一样的对象,就是StringBuilder。
不同的是:
    StringBuffer是线程同步的,通常用于多线程。
    StringBuilder是线程不同步的,通常用于单线程,它的出现能够提高程序效率。
    故StringBuilder多用于多个线程是不安全的,如果需要这样的同步,则建议使用StringBuffer。

作者: 改变    时间: 2015-7-6 09:01
StringBuilder与StringBuffer方法基本相同,StringBuffe但是出现的时间比较晚,是线程不安全的,但是效率较高,建议使用。
作者: 改变    时间: 2015-7-6 09:05
不好意思,刚才回答太快,答错了,StringBuffer属于线程安全,相对为重量级
StringBuilder属于非线程安全,相对为轻量级

线程安全的概念: 网络编程中许多线程可能会同时运行一段代码。当每次运行结果和单独线程运行的结果是一样的,叫做线程安全。 为了达到线程安全的目的在一定程度上会降低程序的性能。所以在单线程中,StringBuilder的性能要比StringBuffer高。多线程为了线程安全需要采用StingBuffer。
这比较官方,书上说的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2