本帖最后由 曾宇 于 2014-6-7 18:31 编辑
class test{}
main{
test t = new test();
}
1问:
开辟了栈内存空间,有一个变量t,存放堆内存地址new test();
这样理解是否正确?
2问:
如果直接使用new test();
是否表示只开辟了堆内存空间,而没有栈内存空间,由于没有引用,所以堆内存会被java垃圾回收机制回收。
但是,new test();毕竟开辟了堆地址,
那么是否可以使用new test().函数()。或者new test().成员变量?
3问:
如果class test{}类中没有任何方法,new test();是否还是会开辟内存空间。
是否是因为java自动加入的空构造函数,所以开辟空间。
如果使用test t = new test();
是否会造成无意义的占用内存空间?如果无限创建,是否会内存溢出?
|