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