为什么Stringbuilder比string快

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

我:  string慢,stringbuilder快。

面试官:为什么?

我: string不可变,stringbuilder可变


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


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

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


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

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


为什么Stringbuilder比string快_第1张图片




tip~~~

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





你可能感兴趣的:(奇闻杂谈)