1. new String() 对象不放在 string pool里, 相同值的new String对象是不同的对象。 string 常量和 intern 方法生成的对象会在 string pool,不同引用指向同一个对象。
2. string常量在classload时生成,一般不会被GC。
3. 临时变量可以用new string(), 反复使用的场景可以用intern生成的对象。
4. String是final,immutable,String的substring,concat,replace,toLowercase等方法都会生成新string,java用StringBuilder做了优化。
本文深入解析Java中String对象的特性,包括newString()与stringpool的区别,string常量的生命周期,以及intern方法的使用场景。探讨了String的不可变性和各种操作如何影响内存分配。
592

被折叠的 条评论
为什么被折叠?



