JVM学习笔记2--强/弱/软应用

本文详细介绍了Java中四种不同的引用类型:强引用、软引用、弱引用。强引用是最常见的引用方式,只要强引用还存在,垃圾收集器就不会回收该对象。软引用用于描述还有用但非必须的对象,在系统将要发生内存溢出异常前,会把这些对象列入回收范围之内进行第二次回收。弱引用和软引用类似,但在垃圾回收时不论内存是否足够都会被回收。
1.强引用
[quote]
一般声明对象时虚拟机生成的引用,强引用环境下,垃圾回收时需要严格判断当前对象是否被强引用,如果被强引用,则不会被垃圾回收
[/quote]

2.软引用
[quote]
一般被做为缓存来使用。与强引用的区别是,软引用在垃圾回收时,虚拟机会根据当前系统的剩余内存来决定是否对软引用进行回收。如果剩余内存比较紧张,则虚拟机会回收软引用所引用的空间;如果剩余内存相对富裕,则不会进行回收。虚拟机在发生OutOfMemory时,肯定是没有软引用存在的。
[/quote]

3.弱引用
[quote]
与软引用类似,都是作为缓存来使用。但与软引用不同,弱引用在进行垃圾回收时,不论剩余内存是否紧张,是一定会被回收掉的,因此其生命周期只存在于一个垃圾回收周期内。
[/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值