为什么Stringbuilder比string快

面试官 : string,stringbuffer,stringbuilder有什么区别?

我:  string慢,stringbuilder快。

面试官:为什么?

我: string不可变,stringbuilder可变


-----------------------------------------------------------------------------------------


1 -----string类设计成final类型,每次有修改操作时,都会赋值给新的对象。

2----因为赋值给新的对象,原来的对象就不再引用,就会进行回收。


---------------------------------------------------------------------------

尤其在循环的时候,进行很多string的拼接,会触发很多gc






tip~~~

因为string拼接的扩容机制,当在某个点上,会发生oom





posted @ 2017-12-26 20:43  妖君你好  阅读(248)  评论(0编辑  收藏  举报