01-Java JVM
2022-03-22 13:53:00 1 举报
AI智能生成
以思维导图的形式,汇总 【Java JVM】相关的面试点
作者其他创作
大纲/内容
垃圾回收
对象创建和内存分配策略
垃圾标记
强引用、软引用、弱引用、虚引用
被引用的对象就一定能存活吗?
GC root有哪些 ?
实例变量可以是GC root 吗 ?
如何判断一个类是无用的类
空间分配担保原则?
如何判断一个对象是否存活?
如何判断一个常量是废弃常量
如何判断对象是否死亡(两种方法)
垃圾回收算法
复制算法
标记-整理算法
标记-清除算法
对比
分支主题
GC
14.JVM中一次完整的GC是什么样子的?
Minor Gc 和 Full GC 有什么不同呢?
触发新生代GC,如果存活对象总量大于survivor区容量,咋办 ?
垃圾回收器
G1
15. G1什么时候会stop the world
14. Java的G1回收器详细讲一讲
CMS
12.详细说一下CMS的回收过程?CMS的问题是什么?
有哪几种垃圾回收器,各自的优缺点是什么?
GC Cause、日志分析
实战
类加载
什么场景下需要自定类加载器
如何自定义类加载器
垃圾回收
垃圾回收器选型
Full GC
系统频繁Full GC导致系统卡顿是怎么回事
频繁GC问题怎么排查
案例
内存泄漏
哪些地方会出现OOM
案例-Map
死锁问题
CPU或者内存使用率过高怎么办?
JVM运行情况预估
分支主题
常用工具
Jps
查看其进程id
JMAP
查看内存信息,实例个数以及占用内存大小
查看某个进程的堆信息
jmap -heap pid
堆内存快照
jmap‐dump:format=b,file=eureka.hprof14660
jvisualvm
导入dump文件进行分析
jstack
查看线程情况
jstack 线程id
Jinfo
查看正在运行的Java应用程序的扩展参数
jinfo -sysprops pid
Jstat
查看堆内存各部分的使用量,以及加载类的数量
垃圾回收统计
jstat -gc pid
分支主题
堆内存统计
jstat -gacapactity pid
新生代回收
jstat -gcnew pid
其他
Arthas
dashboard
查看整个进程的运行情况,线程、内存、GC、运行环境信息
输入thread可以查看线程详细情况
输入 thread加上线程ID 可以查看线程堆栈
输入 thread -b 可以查看线程死锁
概念
java 如何从源代码转换成机器码执行的
内存区域
1.什么是JVM内存结构?
2.什么是JVM内存模型?
Java 内存区域(运行时数据区)
3.heap和stack有什么区别?
6.谈谈JVM中的常量池?
8.字符串常量池在JVM哪个位置
7.String str = new String (a+b)会创建几个对象;
String 类和常量池?
8 种基本类型的包装类和常量池
Java 对象的创建过程
对象的访问定位的两种方式(句柄和直接指针两种方式)?
4.什么情况下会发生栈内存溢出?
5.谈谈对OOM的认识?如何排查OOM的问题?
类加载
17.什么是类加载?
类加载的过程?
18.什么是类加载器,常见的类加载器有哪些?
Spring哪些是扩展加载器加载的?
双亲委派
19.什么是双亲委派模型?
分支主题
过程?
为什么需要双亲委派模型?
的打破双亲委派机制的例子为什么要打破?
tomcat
分支主题
自定义类加载器
0 条评论
下一页