找回密码
 立即注册
查看: 147|回复: 2

JVM虚拟机

[复制链接]

1

主题

1

回帖

31

积分

新手上路

积分
31
发表于 2022-9-26 11:27:38 | 显示全部楼层 |阅读模式
JVM虚拟机当中,GC机制是怎么实现的呀?
回复

使用道具 举报

2

主题

1

回帖

20

积分

新手上路

积分
20
发表于 2022-9-26 11:30:51 | 显示全部楼层
Java语言在虚拟机中使用垃圾回收器处里对象回收的问题,扫描分析出哪些对象是不再使用并回收,但扫描的工作量巨大,所以出现了各种算法进行优化性能,把对象分为新生代,老年代和永久代,这样可以减少扫描范围,定制不同的扫描频次,提高回收效率,大量需回收的对象一般存在于刚刚创建的对象,所以新生代中扫描频次高一点,而多次扫描仍在使用的对象被转移到老年代,这些对象不需要频繁扫描,因为大概率仍在使用,当老年代扫描多次仍没被回收的对象被转移到永久代,在内存不足时才去考虑回收永久代的对象
虚拟机负责GC的运行,我们可以使用System.gc();建议它运行,但作用不大,我们更应该做的是帮助它回收,使用完的集合及时clear清空它,不用的对象主动设为null,及时清除对象间的关联,帮助Gc回收
回复

使用道具 举报

1

主题

1

回帖

31

积分

新手上路

积分
31
 楼主| 发表于 2022-9-26 11:32:42 | 显示全部楼层
xixian 发表于 2022-9-26 11:30
Java语言在虚拟机中使用垃圾回收器处里对象回收的问题,扫描分析出哪些对象是不再使用并回收,但扫描的工作 ...

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|粤嵌技术交流空间

GMT+8, 2025-7-7 16:14 , Processed in 0.670733 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表