JVM的面试题

1、JVM的组成

1.1、什么是程序计数器?

1.2、介绍下Java堆


JDK1.7与JDK1.8的内存结构区别

为什么会有这种内存结构的区别?

因为元空间/方法区存储的都是一些常量,项目随着动态类加载的情况越来越多,这块儿内存的大小就变的越来越不可控。小了会出现系统的内存溢出,大的话又浪费内存,现在都放到了本地内存,防止堆内存溢出(OOM)

1.3、什么是虚拟机栈?

1.4、解释一下方法区

1.5、你听过直接内存吗?

用直接内存就少拷贝了一次

2、类加载器

2.1、什么是类加载器?

2.2、什么是双亲委派模型?

2.3、类加载的执行流程

3、垃圾回收

3.1、对象什么时候可以被回收?

3.2、JVM的垃圾回收算法有哪些?

3.3、说一下JVM的分代回收

3.4、JVM有哪些垃圾回收器?

初始标记是先找出跟GC ROOT直接相连的对象

并发标记是找出剩下的对象

3.4、聊一下G1垃圾回收器

3.5、强、软、弱、虚引用的区别

4、JVM实践

4.1、JVM调优的参数在哪里设置?

4.2、JVM调优的参数有哪些?

4.3、JVM调优的工具

4.4、内存泄露的排查思路

4.5、CPU飙高的排查思路

相关推荐
q***9658几秒前
Spring Data JDBC 详解
java·数据库·spring
ooooooctober3 分钟前
PHP代码审计框架性思维的建立
android·开发语言·php
Kuo-Teng3 分钟前
LeetCode 118: Pascal‘s Triangle
java·算法·leetcode·职场和发展·动态规划
倚肆15 分钟前
HttpServletResponse 与 ResponseEntity 详解
java·后端·spring
悟能不能悟17 分钟前
java List怎么转换为Vector
java·windows·list
yaoxin52112318 分钟前
241. Java 集合 - 使用 Collections 工厂类处理集合
java·windows
依_旧20 分钟前
【玩转全栈】----Django基本配置和介绍
java·后端
864记忆21 分钟前
Qt Widgets 模块中的函数详解
开发语言·qt
white-persist25 分钟前
差异功能定位解析:C语言与C++(区别在哪里?)
java·c语言·开发语言·网络·c++·安全·信息可视化
q***728727 分钟前
Golang 构建学习
开发语言·学习·golang