JVM-面试题

为什么年轻代用复制算法?

因为年轻代存活对象少,复制开销不大

为什么老年代不用复制算法?

因为老年代存活对象多,复制开销大

gc日志有哪些参数?

GC原因

GC前新生代和老年代的大小

什么时候新生代会进入老年代?

age=15

对象大于E区的1/2

s0和s1放不下

G1堆初始大小设置为30M,但是实际运行需要256M,会有什么问题吗?

不会

G1年轻代是动态调整的

有哪些GC,分别用了什么算法?

Serial 年轻代 复制

Serial Old 老年代 标记整理

ParNew 年轻代 CMS 老年代 标记清楚

G1 younggc和mixgc采用复制算法,fullgc采用标记清除

CMS和G1优缺点?

C:并发收集,不需要stw,优化用户体验

相关推荐
承渊政道18 分钟前
【Python编程—从入门到实践】(记分与闯关:用Python+Pygame,打造越战越精彩的太空大战!)
开发语言·python·pycharm·游戏程序·pygame
爱学习的程序媛18 分钟前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
budingxiaomoli2 小时前
Spring统一功能处理
java·后端·spring
eggwyw2 小时前
Anaconda安装卸载的详细流程指南
开发语言·python
Flynn Liang3 小时前
可观测性与成本治理:一次对话的 17 个观测点
java·langchain·可观测性·micrometer·langchain4j·token 成本·llm 监控
金銀銅鐵4 小时前
带您看懂字节码指令(三):同一行加法,为什么有四种指令
java·jvm
jyOverQ5 小时前
从零学 JVM(五):垃圾回收机制——对象存活判断与 GC Roots
jvm
another heaven6 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
文丑颜不良啊7 小时前
LeetCode2821~2840题目解析
java·leetcode
SomeOtherTime8 小时前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust