java对象与垃圾回收

GC垃圾回收机制在CPU空闲或内存不足时自动进行垃圾回收,程序员无法控制回收的时间与顺序。缺点事影响开销性能,Java虚拟机必须跟踪哪些是有用的对象或者无用的对象。只能回收内存资源,io 数据库资源不能回收。为了更快让垃圾回收机制回收那些对象,可以将引用变量设置为NULL,暗示垃圾回收器回收。垃圾回收是不可预知性的,即使system.gc是建议回收。垃圾回收精确性包括两个方面:1.精确的标记着活的对象,2精确的定位对象间的引用关系。

1对象在内存中的状态:

可达状态:当一个对象被创建后,若有一两个以上的对象引用他,则处于可达状态

可恢复状态:程序中某个对象不再有引用指向他,他就进入了可恢复状态。系统的垃圾回收机制准备回收时会调用finalize()方法进行资源清理,如果从新让一个引用变量引用该对象,则这个对象会再次变为可达状态,否则变为不可达状态。

强制垃圾回收:system.gc()与runtime.getRuntime().gc()建议回收,但不一定立即回收。可以在类中重写finalize()方法检测。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值