Epsilon GC - 不回收垃圾的 Java GC 实现

Epsilon是Java 11引入的一种特殊垃圾回收器,它不执行任何垃圾回收操作,仅分配内存。适用于短暂运行的程序、对延迟敏感的应用以及测试场景,以减少延迟、排除GC对性能测试的影响或检测内存分配上限。启用Epsilon需要设置JVM参数,并可通过限制堆内存来触发OutOfMemoryError以进行内存分析。
摘要由CSDN通过智能技术生成

提到垃圾回收器,Java 开发人员应该都不陌生。Java 虚拟机提供了不同的垃圾回收器实现。这里介绍的 Epsilon 是一个很特别的垃圾回收器,它只负责分配内存,并不回收内存。当堆内存耗尽之后,JVM 直接因为 OutOfMemory 而终止。

Epsilon 在 Java 11 中加入。

fbeec0d1225f27561652850540b81570.png

一个不回收内存的 GC 实现有什么用呢?Epsilon 有自己的应用场景。

首先是那些运行时间很短的程序,比如命令行程序,定期执行的简单任务。因为这些程序的运行时间很短,在运行过程中进行垃圾回收没有意义。当程序退出之后,所占用的内存会被自动释放。

其次是对延迟和吞吐量很敏感的程序。回收垃圾的操作会带来延迟,Epsilon 完全避免了这些延迟。如果程序在运行过程中使用的堆内存有上限,可以使用 Epsilon 降低延迟和提升吞吐量。

最后是与测试相关的场景。在做应用的性能测试时,使用 Epsilon 可以从性能测试中去掉 GC 的影响,得到更准确的结果。另外一种测试与应用的内存分配上限有关。比如,如果预期应用在运行时分配的内存不会超过 1G。可以使用 Epsilon 并设置堆内存上限为 1G。如果在测试中应用分配的内存超过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值