首页 > 其他 > 详细

String类的substring方法bug

时间:2014-09-28 17:38:07      阅读:247      评论:0      收藏:0      [点我收藏+]

    今天再看JDK源码的时候看到了String类的不同版本的实现方式的不同,主要是substring这个方法,JDK6里面的实现方式是:

bubuko.com,布布扣

bubuko.com,布布扣

很明显可以看到,调用String对象的substring方法后指向的对象地址并没有发生改变,只是改变的是偏移量,这样的话在GC阶段就有可能造成内存泄露了。

  还好查了一下资料JDK7解决了这个问题,于是赶紧查看了JDK7的源码:

bubuko.com,布布扣

bubuko.com,布布扣

这个里面是通过内存复制的方式重新指向了一个新的地址,解决了内存泄露的隐患

本文出自 “陈砚羲” 博客,请务必保留此出处http://chenyanxi.blog.51cto.com/4599355/1559131

String类的substring方法bug

原文:http://chenyanxi.blog.51cto.com/4599355/1559131

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!