Java入门之了解JVM(28)
如“Object obj = new Object();”中的对象就属于强引用(前提是没有实现其他引用的接口),这种对象GC不会回收
软引用
继承了SoftReference类的对象(JDK1.2提供),继承了SoftReference寓意着不是必须但还有用JVM会在内存溢出之前将这类型的对象纳入第二次回收的范围,即换言之就是第一次GC并不是马上对这类对象进行回收,而是等到当第一次GC腾不出空间是再多执行一次GC来处理这些对象,当然如果第二次都腾不出空间就抛出OOM了弱引用
用于定义非必须的对象,通过继承WaekReference类来表示弱引用这类对象只能存活到下一次GC,即无论如何都会被回收掉虚引用
继承PhantomReference类的对象随时会被干掉一般用于确认对象是否被回收(通过引用队列)定义虚引用的唯一目的是,当虚引用被GC回收时能够收到通知对象的自我拯救
当一个对象被定义为不可达的时候,这个对象是不是“非死不可”呢?答案是并不是。而这个问题其实在面试题中经常性出现,而面试却并不是直接问你是不是“非死不可”,而是问你finalize()方法的作用;
推荐阅读
- 唐僧|tap评分高达9.1,《黑色沙漠》手游终于要来了,你了解了吗?
- viper|最佳外援是VIPER,新任FMVP坐不住了?本土选手机制了解一下
- lpl|LPL为何处理不了猫咪,自身了解太浅,根本不重视S11!
- 传奇|我们玩传奇3不仅仅是游戏,更是情怀和回忆,这款手游你了解吗?
- t1|vivo T1究竟值不值得购买?看了这些后你可能有更深了解
- 使命召唤18|王者荣耀 想要轻松上分英雄克制关系了解一下 公孙离克制上官婉儿
- 暗黑破坏神2|《暗黑破坏神2》七种职业!那个才是最适合新手的入门职业!
- s6|金铲铲之战:测试服内容抢先看,5分钟带你了解S6赛季的变化
- 电影|“王者宇宙”全面开启,三分钟了解官方后续动作,你想要的全都有
- 米哈游|米游社三周年,米哈游游戏的必备软件,你了解多少?