JavaBasic - GC - 回收垃圾

一. 什么是垃圾
  • 1.1) 一个对象使用完, 不再有任何引用指向他
  • 这样的对象是垃圾
二. 为什么要处理垃圾
  • 2.1) 内存是有限的, 这些无用的垃圾对象
  • 2.2) 需要及时回收处理, 防止内存泄露
三. 怎么来处理垃圾
  • 3.1) C++ 语言 :
    对象不再使用了, 程序员调用对象的析构函数
    才能释放内存
    比较麻烦
  • 3.2) Java 语言 :
    java 中有垃圾收回管理机制
    自动回收程序的垃圾
四. Java 中的 GC
  • 4.1) 优点 :

4.1.1) java 程序员不用考虑内存中的垃圾回收问题

  • 4.2) 缺点 :

4.2.1) GC 自身也是个程序运行时, 会占用内存和 CPU
4.2.2) GC 对垃圾的回收并不是非常及时的处理
4.2.3) GC 只负责回收 java 程序中的垃圾


五. GC 识别垃圾的原理
  • 5.1) 经典办法 :
    引用计数法
    如果想标记一个对象为垃圾
    就把他赋值 null 就好了
    eg:
Dog d = new Dog();
...
d = null;// d 没有引用了
六. finalize 方法
  • 6.1) Object 类中定义的方法付
    在 GC 将对象回收之前调用
  • 6.2) 重写 finalize 方法
  • 6.3) 触发回收机制, 对象的值必须为 null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值