java吧 关注:1,286,729贴子:12,812,165

回复:【求教】一个关于ArrayList的问题

只看楼主收藏回复

堆栈问题?没出栈吧


IP属地:福建16楼2014-09-10 21:40
回复
    arraylist在add后,arraylist将引用指向了那若干个对象,
    for循环完以后 ,虽然for里的指向没有了 但是arraylist还在引用着那些对象
    是不是这样根不不明白


    IP属地:北京17楼2014-09-10 22:40
    回复
      2025-11-10 09:19:13
      广告
      不感兴趣
      开通SVIP免广告
      引用变量都是存储在堆内存中而不是栈中,堆内存中的变量不会随着你for循环结束而消亡,对象是垃圾回收机制回收的,要么被jvm自动回收,要么你自己声明它的生命周期等jvm自己来回收,这样才会释放空间


      IP属地:广西18楼2014-09-10 23:46
      收起回复
        楼主可以看《深入JAVA虚拟机》


        IP属地:浙江来自Android客户端19楼2014-09-10 23:50
        收起回复
          看了楼上的说的都挺有道理的,我就不说了


          20楼2014-09-11 00:51
          收起回复
            我一般会使用.clone,防止不必要的错误出现,比如一改某个引用就全改了。


            IP属地:江苏来自Android客户端21楼2014-09-12 09:55
            回复
              我遇到这种情况,在list里放list,把已经放进去的引用的list修改,外面一层list取到的list也被修改。所以之后我遇到这种情况全是调用clone方法。


              IP属地:江苏来自Android客户端22楼2014-09-12 10:04
              收起回复