面试官 : string,stringbuffer,stringbuilder有什么区别?
我: string慢,stringbuilder快。
面试官:为什么?
我: string不可变,stringbuilder可变
-----------------------------------------------------------------------------------------
1 -----string类设计成final类型,每次有修改操作时,都会赋值给新的对象。
2----因为赋值给新的对象,原来的对象就不再引用,就会进行回收。
---------------------------------------------------------------------------
尤其在循环的时候,进行很多string的拼接,会触发很多gc
tip~~~
因为string拼接的扩容机制,当在某个点上,会发生oom