应有多块空间给a,但可能不是你写的10000000块,因为JAVA的内存回收机制反应没这么快,也可能在你还没循环完时已回收了以前的空间重复使用
我一般的写法是在NEW的对像用完后写句a=null,至于有没有效没有测试过new 一个实例时内存里分配了你对像定义中的变量空间,至于代码空间是共用的,只有一块
我一般的写法是在NEW的对像用完后写句a=null,至于有没有效没有测试过new 一个实例时内存里分配了你对像定义中的变量空间,至于代码空间是共用的,只有一块
当你new 一个实例的时候,内存空间中什么也没存
1.请问这些空间什么时间用呢?
2.当这些空间不够用时,应该能够动态增长吧,采用链表机制吗?
3.GC根据什么判断这些空间该收回了?
多谢!!!!
当某个实例不在被任何变量引用,jvm将会回收空间
---------------------------
使用new方法创建对象的实例仅仅创建了的实例的引用,实例有地址,但该地址对应的内存里面什么也没放;当程序执行到引用a的作用域以外(每一次循环结束),其指向的对象实例所占用的内存就会被回收,所以,仅就这个循环来说,空间应该够用。