首页
学习
活动
专区
圈层
工具
发布

JVM: 思维导图

思维导图:

常见面试题:

描述下JVM内存模型,以及这些空间存放的内容?

JVM内存模型包括五大部门:程序计数器、虚拟机栈、本地方法栈、堆、方法区。 程序计数器:字节码行号指示器; 虚拟机栈:(1)java方法执行的内存模型;(2)栈帧用于存储局部变量表、操作数栈、方法出口、动态链接; 本地方法栈:native方法执行的内存模型; :存放对象的主要实例,垃圾回收的主要区域; 方法区:类信息、常量信息、静态变量;

堆内存划分,如何回收,有哪些算法?

堆内存主要分为新生代、老年代; 新生代占堆内存的1/3; 新生代分为Eden、From、To;占比分别为:8:1:1 老年代占堆内存的2/3;

判断对象是否可以回收的算法:可达性算法、引用计数法; 引用计数法无法解决对象循环依赖的问题; 都用可达性算法判断对象是否可以回收;

垃圾回收算法有: 标记清除:1. 会产生内存碎片; 复制:1. 多为新生代使用;2. 对象存活率较高时,效率变低; 标记整理:1. 老年代常用;2. 将对象统一移动到一边;

如何解决线上GC频繁的问题?

  1. 查看监控,判断GC频率以及时间点;
  2. 分析问题发生时间点,确定问题范围:程序变更、组件变更、代码发布等;
  3. 查看jvm参数,看看是否有不合理的参数设置;
  4. 查看GC日志;
下一篇
举报
领券