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飙高的排查思路

相关推荐
一勺菠萝丶6 分钟前
Maven SNAPSHOT 父 POM 无法解析问题排查
java·maven
GZ同学7 分钟前
单双变量Ripley’s K函数 R 语言实现
开发语言·r语言
Channing Lewis8 分钟前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel
小小龙学IT15 分钟前
Apache Airflow 2.x 深度指南:用 Python 编排一切的现代化工作流引擎
开发语言·python·apache
少爷晚安。17 分钟前
Java基础02_JDK&JRE下载安装及环境配置
java·开发语言
小冷爱读书18 分钟前
allocator
开发语言·c++
小冷爱读书21 分钟前
C++ 单例四种实现完整演进逻辑
开发语言·c++·c++学习
bubiyoushang88831 分钟前
电力线信道“五类噪声”仿真MATLAB
开发语言·matlab
cici1587431 分钟前
彩色图像模糊增强(Fuzzy Enhancement)MATLAB 实现
开发语言·算法·matlab
kaikaile199532 分钟前
图像稀疏化分解 + 压缩感知(CS)重建 MATLAB
开发语言·计算机视觉·matlab