浅谈Java垃圾回收机制

在Java中,如果没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。而负责编译的Java虚拟机-JVM的一个系统级线程则自动释放该内存块。垃圾的回收意味着程序不再需要的对象是垃圾信息,会被丢弃。这一设计很好地提高了资源利用,方便了空间被后来的新对象使用。

Java垃圾回收机制特点

1、当一个对象没有被任何引用的时候,java的垃圾回收机制就会自动回收这些对象。

2、强制系统垃圾回收有两种方式:
(1) 调用System类的gc()静态方法:System.gc()
(2) 调用Runtime对象的gc()实例:Runtime.getRuntime().gc()

强调:所谓强制回收,其实也仅仅是一个建议。JVM接受这个消息后,并不是立即做垃圾回收,而只是对几个垃圾回收算法做了加权,使垃圾回收操作容易发生,或提早发生,或回收较多而已。

3、每个类都有一个finalize()方法,来释放对象的资源,但是不推荐使用,尽量少用。在垃圾回收机制回收的任何对象之前,总会先调用它的finalize()方法

对象在内存中的状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值