最近遇到的几个JVM问题

1.JDK8和JDK17分别用的是什么垃圾回收器?

JDK8默认的应该是

  • 新生代 (Young Generation)Parallel Scavenge

  • 老年代 (Old Generation)Parallel Old

JDK17默认的是G1。

还有ZGC垃圾回收器。

2.如果需要一个对象创建出来之后,直接到老年代,怎么办?

有一个参数可以设置-XX:PretenureSizeThreshold,超过这个阈值的对象直接进入老年代。

3.G1回收器的工作流程是怎么样的,回收线程和工作线程可以同时进行吗?

初步标记-并发标记-最终标记-筛选回收。

并发标记不会停顿工作线程,其他步骤还是会停顿。

相关推荐
大阿明1 小时前
Spring Boot(快速上手)
java·spring boot·后端
Liu628881 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
bearpping1 小时前
Java进阶,时间与日期,包装类,正则表达式
java
邵奈一2 小时前
清明纪念·时光信笺——项目运行指南
java·实战·项目
AI科技星2 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian8862 小时前
Java进阶——IO 流
java·开发语言·python
sinat_255487812 小时前
读者、作家 Java集合学习笔记
java·笔记·学习
皮皮林5512 小时前
如何画出一张优秀的架构图?(老鸟必备)
java
百锦再2 小时前
Java 并发编程进阶,从线程池、锁、AQS 到并发容器与性能调优全解析
java·开发语言·jvm·spring·kafka·tomcat·maven
条tiao条2 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法