Java基础学习之JVM篇:说说STW、吞吐量、FootPrint和Latency

本文介绍了Java中的垃圾回收(GC)机制,包括为何需要GC、STW(Stop the World)的概念,以及如何通过调整参数提高吞吐量。GC的目标是避免内存溢出,而STW是在内存回收时暂停程序执行。提高吞吐量可通过增大堆内存和优化GC算法。Latency关注的是GC造成的停顿时间,而FootPrint则表示应用对内存的峰值需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习目标

GC不仅负责内存的回收,也负责内存的分配,甚至故障异常处理一条龙,GC可以拥有不同算法实现,不同算法解决不同的问题,那么

  1. 为什么要GC?
  2. 什么是STW?
  3. 如何提高ThroughPut?

什么是GC

百度百科是这样解释:

GC(Garbage Collection):JAVA/.NET中的垃圾回收器。Java是由C++发展来的。它摈弃了C++中一些繁琐容易出错的东西。其中有一条就是这个GC。有了GC,程序员就不需要再手动的去控制内存的释放。当Java虚拟机(VM)或.NETCLR发觉内存资源紧张的时候,就会自动地去清理无用对象(没有被引用到的对象)所占用的内存空间

其实生活中也许有过这样的场景:当张三妈妈在房间很辛苦的打扫时,发现张三在捣蛋,不停在弄乱房间,是的,假如妈妈打扫的速度<张三弄乱房间的速度呢,此时妈妈愤怒极了,对着张三大声喊了一句:Stop the world!给我停下来。

是的,JVM中内存也是同样如此,当分配内存速度大于回收速度,这时必然就会出现内存溢出,此时GC需要做的就是STW(Stop the world):别给我在分配了,我需要回收内存,给我等待吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值