千家信息网

Java垃圾回收的过程是怎样的

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"Java垃圾回收的过程是怎样的"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java
千家信息网最后更新 2026年11月02日Java垃圾回收的过程是怎样的

本篇内容介绍了"Java垃圾回收的过程是怎样的"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Java语言中一个显著的特点就是引入了垃圾回收机制,这个大家都清楚,垃圾回收的概念这里也不做介绍,重点是垃圾回收是在什么时候开始?对什么东西,做了什么事情?

GC何时开始:

所有的回收器类型都是基于分代技术来实现的,那就必须要清楚对象按其生命周期是如何划分的。

  • 年轻代:划分为三个区域:原始区(Eden)和两个小的存活区(Survivor),两个存活区按功能分为From和To。绝大多数的对象都在原始区分配,超过一个垃圾回收操作仍然存活的对象放到存活区。垃圾回收绝大部分发生在年轻代。

  • 年老代:存储年轻代中经过多个回收周期仍然存活的对象,对于一些大的内存分配,也可能直接分配到永久代。

  • 持久代:存储类、方法以及它们的描述信息,这里基本不产生垃圾回收。

有了以上这些铺垫之后开始回答GC何时开始:

Eden内存满了之后,开始Minor GC(从年轻代空间回收内存被称为 Minor GC);升到老年代的对象所需空间大于老年代剩余空间时开始Full GC(但也可能小于剩余空间时,被HandlePromotionFailure参数强制Full GC)

对什么东西操作,即垃圾回收的对象是什么:

从root开始搜索没有可达对象,而且经过第一次标记、清理后,仍然没有复活的对象。

做了什么东西:

主要做了清理对象,整理内存的工作。具体的引申如下

垃圾回收器的类型:

  • 串行垃圾回收器(Serial Garbage Collector)

  • 并行垃圾回收器(Parallel Garbage Collector)

  • 并发标记扫描垃圾回收器(CMS Garbage Collector)

  • G1垃圾回收器(G1 Garbage Collector)

垃圾回收算法:

  • 引用计数法

  • 标记清除法

  • 复制算法

  • 标记压缩算法

  • 分代算法

  • 分区算法

以上这些,可以自己了解一下,这里列举几篇相关文章:

JVM的内存区域划分

JVM知识点梳理

JVM内存分配与回收

JVM内存管理机制

Java虚拟机学习 - 垃圾收集器

类在虚拟机中的加载过程

加载Loading:

通过一个类的全限定名来获取一个二进制字节流、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构、在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。

验证Verification:

确保Class文件的字节流中包含的信息符合当前虚拟机的要求,并不会危害虚拟机的自身安全。

准备Preparation:

正式为类变量分配内存并设置类变量初始值。

解析Resolution:

虚拟机将常量池内的符号引用替换为直接引用的过程。

初始化Initialization:

类加载过程的最后一步,到了这个阶段才真正开始执行类中定义的Java程序代码。

使用Using:

根据你写的程序代码定义的行为执行。

卸载Unloading:

GC负责卸载,这部分一般不用讨论。

以上这些抛砖引玉,欢迎留言更清晰的类加载过程,相关文章可以阅读:

类加载器详解

详解java类的生命周期

谈谈我对面向对象以及类与对象的理解

强引用、软引用、弱引用、虚引用与GC的关系

强引用:new出的对象之类的引用,只要强引用还在,永远不会回收。

软引用:引用但非必须的对象,内存溢出异常之前回收。

弱引用:非必须的对象,对象只能生存到下一次垃圾收集发生之前。

虚引用:对生存时间无影响,在垃圾回收时得到通知。

"Java垃圾回收的过程是怎样的"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

垃圾 对象 内存 过程 回收器 算法 分配 年轻 标记 空间 东西 周期 文章 方法 知识 存储 原始 清楚 两个 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司起名 互联网佳科技有限公司 中关村互联网科技集团 互联网是不是新科技 互联网下的科技发展 科技与互联网发展 奇酷互联网络科技 长亮科技互联网金融 深圳期待互联网科技 一五八零互联网科技 新华互联网科技校企合作 佳云科技和互联网广告 成都铂石互联网科技做什么的 智腾互联网科技有限公司 燊美集互联网科技有限公司 互联网金融科技公司的优势 互联网企业科技类企业如何做账 新氧科技和美国互联网有关系吗 上海旺乐尼互联网科技有限公司 互联网科技创业有什么好项目 科技赋能下的互联网金融 互联网核心科技是什么 互联网科技公司怎么样 天下捷融互联网科技 互联网科技宣传片 烟台灵鸽互联网科技有限公司 科技互联网行业投资研究 安徽零酒互联网科技有限公司 恒生科技互联网指数十大成分股 知域互联网科技有限公司官网
0