对象内存管理

来源:互联网 发布:手机通话变声器软件 编辑:程序博客网 时间:2024/06/13 11:26
1.对象内存管理
 1)堆内存
 对象存储在堆内存中。Cell cells=newCell();如果对象没有引用变量指向它,该对象会被
 垃圾回收器回收。
 垃圾回收器:只存在与堆内存中,用于回收没有引用指向的对象
 使用System.gc来建议虚拟机回收
 2)栈内存
 用于存放引用变量指向对象,以及在方法被调用时,栈会分配栈帧用于存放方法中的局部变量,
 方法执行结束栈帧被清除,局部变量随之消失。
 3)方法区
 方法区是用于存放类的信息,经过解析装入方法区
 存储,方法 类都加载在方法区,方法只有一份。类在被实例化后可以拥有多个对象,但是所有的
 对象共用方法区的一份方法。
 4)内存泄漏问题
 是指不再使用的内存没有及时回收。
 gc在判断对象是否是垃圾是该对象是否由引用指向。因此在对象使用结束后,仍有引用指向它gc
 则不会回收该对象。因此当对象不再使用是应该及时将其设置为null。
 从数据到方法、代码、程序都是需要存储在内存中的。JVM为java提供内存管理服务
 变量分为成员变量和引用变量
 成员变量是指位于类之内方法之外的变量,有默认初始值,在new之后随对象一起放进堆内存中
 成员变量寿命:从new对象开始到垃圾回收对象结束,
 局部变量是指位于方法中的变量,没有默认初始值,从方法被调用开始存在到方法结束被清除。

原创粉丝点击