Java培训:什么是java中的堆内存?

应用程序创建的Java对象驻留在称为堆内存的内存中。堆是在JVM启动时创建的,根据应用程序的可用性,堆的使用率会增加并达到满堆。当堆使用率已满,并且进一步请求新对象分配时,当前堆内存中没有任何可用空间,则会发生垃圾收集。即在当不再使用的对象被删除后,该为新对象腾出空间的时候。想对java有更深入的了解,可以参加java培训,有助于进一步提升java知识和技能。

在理解堆内存段之前,我们需要了解Java中分代垃圾收集的概念。

在GC中,对堆内存中所有未引用的对象执行标记、扫描和压缩。随着越来越多的对象分配,JVM堆中堆积了大量的对象分配,这就需要更长的时间来进行垃圾收集。然而,对应用程序的经验或假设分析表明,大多数对象都是短期的。因此,标记和压缩JVM堆内存中的所有对象既低效又耗时。因此,GC实现了一个分代垃圾收集,它根据对象的年龄(寿命)对对象进行分类。通过这个过程,对象在不同的区域中分配,并相应地进行垃圾收集。

Java培训:什么是java中的堆内存?插图1

堆内存主要分为两个区域:新生区(或苗圃)、旧空间

1.新生区(或苗圃)

无论何时创建新对象,都会将其分配给新生区。在java培训中,有很多关于堆内存的学习课程,不仅有理论知识,还有实践项目训练,让你深入浅出地掌握java语言。新生区基本上由两部分组成。

2.旧空间

完全GC执行所有代(新生区+旧空间)的清理。它执行从新生区到旧空间的所有活动对象的升级,以及旧空间的压缩。完全GC是停止世界暂停,这将确保没有分配新对象,并且在GC执行时对象不会突然变得不可访问。

原创文章 Java培训:什么是java中的堆内存?,版权所有
如若转载,请注明出处:https://www.itxiaozhan.cn/20228306.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注