StringBuffer有什么优势?为什么快?

所谓伊人_在水一方
浏览 3293回答 3
3回答

Zhuliuer

stringbuffer和stringbuilder一般用来和string来比较,一般情况下的string,只要发生改变,就会新生成一个对象,如果改变的多了的话,比如一些科学计算,计算次数上千万,会很消耗内存。这个时候你就可以用stringbuffer和stringbuilder来代替,它们在发生改变的时候,不会像string一样不停地新生成对象,所以可以节省内存。 而stringbuffer和stringbuilder之间的区别在于一个是线程安全,一个是线程不安全。线程安全的,在进行并发处理的时候,会有阻塞现象,而线程不安全的在遇到并发的时候就不会阻塞,所以线程安全的会比线程不安全的慢(对比情况下)。

疯癫飞儿

String是字符串常量,StringBuilder和StringBuffer是字串变量,String是每次都返回一个对象,StringBuffer中有很多同步方法线程安全,StringBuilder是线程非安全的,所以StringBuilder性能更好

楠宝宝_

StringBuffer不快,是StringBuilder快,StringBuffer是线程安全的,StringBuilder不是线程安全的,所以StringBuilder效率快,具体场景具体应用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java