Java入门之了解JVM(30)
如果对象经过第1次标记后没能够逃脱,那么GC就会进行第2次标记;这时就算对象本身重写了finalize(),但已经执行了1次了,所以连救命稻草就丢失了,这时对象就会被GC清除回收内存
垃圾回收算法
在目前JVM中使用的垃圾回收算法有以下3种:
1)标记-清除
从名字可以看出,该算法有两个步骤:标记 和 清除即先对“垃圾”进行标记,然后进行清除图片源自网络
标记-清除算法的缺点就是造成内存的不连续,即内存碎片化,如上图所示2)复制
将内存一分为二,只使用其中的一半清除时,将存货的对象全部复制到未使用的一半,让后将使用了的那一半进行正块清除图片源自网络
复制算法虽然解决了标记-清除所在来的内存碎片化的现象,但可以在上图的得知,永远都只能使用一半,造成内存的浪费,这就是复制算法的缺点复制算法还有另外一个缺点,就是当内存中有较高存活率对象时,这种算法的效率就会降低,因为如果对象的存活率很高,即很多内存中很多对象都是存活的,那么复制这个操作的时间就相对延长了,因此造成效率降低,也所以,复制算法只适用与对象存活率不高的内存区域,如堆内存的Eden区3)标记-整理(标记-清除)
推荐阅读
- 唐僧|tap评分高达9.1,《黑色沙漠》手游终于要来了,你了解了吗?
- viper|最佳外援是VIPER,新任FMVP坐不住了?本土选手机制了解一下
- lpl|LPL为何处理不了猫咪,自身了解太浅,根本不重视S11!
- 传奇|我们玩传奇3不仅仅是游戏,更是情怀和回忆,这款手游你了解吗?
- t1|vivo T1究竟值不值得购买?看了这些后你可能有更深了解
- 使命召唤18|王者荣耀 想要轻松上分英雄克制关系了解一下 公孙离克制上官婉儿
- 暗黑破坏神2|《暗黑破坏神2》七种职业!那个才是最适合新手的入门职业!
- s6|金铲铲之战:测试服内容抢先看,5分钟带你了解S6赛季的变化
- 电影|“王者宇宙”全面开启,三分钟了解官方后续动作,你想要的全都有
- 米哈游|米游社三周年,米哈游游戏的必备软件,你了解多少?