2021-01-10 String & StringBuffer & Stringbuilder

// Strings are constant; their values cannot be changed after they are created.
String a = "123";
a = "456";
此处当a被初始化为“123”的时候,系统会创建一个对象,存放这“123”,然后a指向这个对象。
当a被赋值为“456”的时候,首先会创建一个对象来存放“456”,然后将a指向新生成的对象
此时“123”的对象还存在,在内存回收前,内存泄漏了。
在String比较长的时候,重新给String赋值后,主动进行gc的调用
Runtime.getRuntime().gc();
System.runFinalization();
StringBuilder: 单线程中建议使用,
StringBuffer:线程安全,类似String,但它是可以修改内容的
StringBuffer:A thread-safe, mutable sequence of characters.A string buffer is like a {@link String},but can be modified.


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容