Java JVM面试脉络
2021-09-12 09:53:32 1 举报
登录查看完整内容
java JVM内容 全面覆盖,全都是面试考点
作者其他创作
大纲/内容
class文件结构
Java代码的执行流程
JVM基础
启动类加载器(BootStrap ClassLoader)
扩展类加载器(Extension ClassLoader)
应用程序类加载器(Application ClassLoader)
自定义加载类
类加载器
沙箱安全机制
双亲委派机制
加载
验证
准备
解析
链接
初始化
类加载子系统
分类
元空间
TLAB
设置初始参数
Survivor0(1/10)
Survivor1(1/10)
老年代(2/3堆)
分代思想
年轻代与老年代
内存分配策略***
Intern的实现原理(JDK1.8)
String与StringBuffer、StringBuilder的区别
字符串常量池***
堆
slot:存放局部变量,32位以内占一个,64位占两个
局部变量表
栈顶缓存技术
操作数栈
动态链接
方法出口
栈幁
栈(-Xss设置)最大栈空间
运行时数据区
优点
缺点
引用计数算法
可达性分析算法
白色:尚未访问过
黑色:本对象已访问过,本对象引用的其它对象也已经访问过
灰色:本对象已访问过,但本对象引用的其它对象还未完全访问完,全部访问完之后转化成黑色
三色标记法
垃圾标记阶段
缺点:1.效率不高 2.STW 3.空间碎片
标记-清除算法(mark-swap)
优点:没有清除过程,运行高效,不会产生空间碎片
缺点:内存与时间开销
复制算法(copy )
缺点:1.移动对象,调整引用地址的时间开销。2.移动过程中,STW
标记-压缩(mark-compact)
GC算法
Serial (串行)
ParNew (Parallel New,只能回收新生代)
Parallel Scavenge
初始标记
并发标记
重新标记
并发清除
CMS (Concurrent Mark Sweep)
Serial Old (串行)
Parallel Old(并行)
优点:不会产生空间碎片,按收益动态划分回收集,可以指定最大停顿时间
缺点:每个region持有一个卡表处理跨代指针,卡表会占用大量空间
G1
垃圾收集器
shenandoah
ZGC
低延迟的垃圾收集器
GC
调优
JVM面试题
收藏
0 条评论
回复 删除
下一页