java垃圾回收机制

                 垃圾回收

1、垃圾回收的特征
(1)垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源。
(2)当对象永久性地失去引用后,系统就会在合适的时候回收它所占的内存。
(3)在垃圾回收机制回收任何对象之前,总会先调用它的finalize()方法。

2、对象在内存中的状态
(1)可达状态:当前对象被引用
(2)可恢复状态:某个对象不再有任何引用变量引用它,它就进入了可恢复的状态
(3)不可达状态:当对象与所有引用变量的关联都切断,且系统已经调用所有对象的finalize()方法后依然没有使该对象变成可达状态。
3、System.gc() 方法强制垃圾回收器来释放这些对象的内存。

4.什么时候使用finalize()?当垃圾回收器将要释放一个对象的内存时,它调用该对象的finalize() 方法
5、GC和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的!垃圾回收只与内存有关!
6、java中final、finally、finalize的区别?
final—修饰符(关键字)final修饰属性、局部变量,值不能被修改;final修饰类,不能被继承;final修饰方法呢 ,不能被子类覆盖。

finally—在异常处理时提供 finally 块来执行任何清除操作。不管发不发生异常都进入 finally 块(如果有的话)。

finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前,做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值