A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我们知道局部变量跟方法一起在栈上,它随着方法同生共死。那成员变量在内存的堆上,它什么时候产生?什么时候灭亡呢?

3 个回复

倒序浏览
非静态成员变量随着对象的创建而产生,静态成员变量随着类的加载而产生。当一个对象不再被引用时,垃圾回收器在不定时自动释放该对象,这时非静态成员变量就消亡了。
回复 使用道具 举报
堆内存用于存放用new创建的对象和数组,所以成员变量应该是关键字new声明之后产生;当没有引用变量指向它的时候,会被回收,也就灭亡了。
回复 使用道具 举报
成员变量是随着对象在堆内存的创建而建立,当一个对象不再被使用时,相应的成员变量也就会被堆内存的垃圾回收机制清理掉,
但这里的垃圾回收机制是不定时的回收,所以没有准确的时间定位
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马