应有多块空间给a,但可能不是你写的10000000块,因为JAVA的内存回收机制反应没这么快,也可能在你还没循环完时已回收了以前的空间重复使用
我一般的写法是在NEW的对像用完后写句a=null,至于有没有效没有测试过new 一个实例时内存里分配了你对像定义中的变量空间,至于代码空间是共用的,只有一块

解决方案 »

  1.   

    内存中是给一块空间,这个大小可以自己定义,默认的是存10个Object reference的大小容量,这块空间给你用,
    当你new 一个实例的时候,内存空间中什么也没存
      

  2.   

    当你new 一个实例的时候,内存空间中什么也没存
      

  3.   

    请教bclin(橙子):
        1.请问这些空间什么时间用呢?
        2.当这些空间不够用时,应该能够动态增长吧,采用链表机制吗?
        3.GC根据什么判断这些空间该收回了? 
    多谢!!!!
      

  4.   

    ArrayList内部采用数组实现,添加元素超过容量会导致数组复制,所以效率会有些问题
    当某个实例不在被任何变量引用,jvm将会回收空间
      

  5.   

    乱弹一下,不置可否
    ---------------------------
    使用new方法创建对象的实例仅仅创建了的实例的引用,实例有地址,但该地址对应的内存里面什么也没放;当程序执行到引用a的作用域以外(每一次循环结束),其指向的对象实例所占用的内存就会被回收,所以,仅就这个循环来说,空间应该够用。
      

  6.   

    new时,内存里没有放东西,那么什么时间放内容呢?是调用实例的方法时吗?