前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM: 思维导图

JVM: 思维导图

作者头像
一点博客
发布2021-09-01 17:20:42
7340
发布2021-09-01 17:20:42
举报
文章被收录于专栏:一点博客一点博客

思维导图:

常见面试题:

描述下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日志;
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一点博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 描述下JVM内存模型,以及这些空间存放的内容?
  • 堆内存划分,如何回收,有哪些算法?
  • 如何解决线上GC频繁的问题?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档