// 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.
2021-01-10 String & StringBuffer & Stringbuilder
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 目录 一、是什么?[https://blog.csdn.net/CHITTY1993/article/detail...
- 对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象。 Java为了避免在一个...
- Java提供了三种字符串类型:String、StringBuilder、StringBuffer 运行性能,或者说...