JVM不同GC和内存模型

内存模型

在这里插入图片描述
堆内存用户共享,类通过引用会复制一个信息过去,使用完后会更新到堆内存中。
在这里插入图片描述
程序计数器记录当前线程执行到那条语句,栈记录方法执行到哪里,程序计数器压栈,保护断点
本地变量表中有本地创建的原生数据类型变量和对象实例的引用。
在这里插入图片描述

GC

GC的选取要根据具体业务环境,做压测得出。

SerialGC

每次进行GC的时候只有一个线程进行GC,执行GC时STW,每次执行时间长,回收的垃圾多
在大内存时,在延迟和吞吐量上性能很差,但是在内存1g时性能要比并发GC更好,且在一些不需要频繁创建对象的项目中,产型GC的吞吐量依然很不错。

ParallelGC

JDK8默认GC
STW ,多个线程并行GC,每次执行的时间段,执行的次数多。相对于串行GC每次延迟降低,但是相对于串行GC而言,单次STW的世界仍然过程,总吞吐量占优。

CMS

并发GC的初代版本,在JDK9被废除了。

G1GC

并发GC ,分区算法,在大内存时性能较好。是JDK9以后的默认GC

ZGC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值