hollischuang / toBeTopJavaer

To Be Top Javaer - Java工程师成神之路
https://www.hollischuang.com
25.24k stars 5.47k forks source link

JDK 6和JDK 7中substring的原理及区别 #136

Closed tenyears94 closed 3 years ago

tenyears94 commented 3 years ago

看了作者大大对该问题的剖析,个人对结论中:“以上是JDK 7中的subString方法,其使用new String创建了一个新字符串,避免对老字符串的引用。从而解决了内存泄露问题。”的说法有点疑问。因为JDK6的subString方法也是使用了new String的,之所以解决了该问题,应该是创建字符串的时候使用了 Arrays.copyOfRange(value, offset, offset + count); 方法,copy了字符串吧