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