JVM面试篇

一、什么是JVM

二、字节码的组成

三、说一下运行时数据区

四、哪些区域会出现内存溢出,会有什么现象?

五、JVM在JDK6-8之间在内存区域上有什么不同

六、类的生命周期

七、什么是类加载器

八、什么是双亲委派机制

九、如何打破双亲委派机制


什么是双亲委派机制?

  • 双亲委派机制指的是:当一个类加载器接收到加载类的任务时,会自底向上交给父类加载器查找是否加载过,再由顶向下进行加载。
  • 双亲委派机制的作用:保证类加载的安全性,避免重复加载。
  • 打破双亲委派机制的方法:实现自定义类加载器,重写findClass方法,将双亲委派机制的代码去除。

十、Tomcat的自定义类加载器

十一、如何判断堆上的对象没有被引用?

十二、JVM 中都有哪些引用类型

十三、ThreadLocal中为什么要使用弱引用?

十四、有哪些垃圾回收算法

十五、有哪些常用的垃圾回收器

十六、如何解决内存泄漏问题

十七、常见的JVM参数

相关推荐
罗超驿16 小时前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
顾昂_17 小时前
内存泄漏排查和 Chrome DevTools 使用教程
前端·javascript·面试
KaifuZeng17 小时前
模电面试问题汇总一
单片机·嵌入式硬件·面试·模电
栈溢出了17 小时前
Redis 分片集群与哈希槽笔记
java·redis·笔记·spring
遨游DATA17 小时前
Spring Boot 启动失败排查:如何区分多 Bean 冲突与清理阶段异常
java·spring boot·后端
wabs66618 小时前
关于单调栈【力扣739.每日温度的思考】
java·开发语言
雪碧聊技术18 小时前
为什么要学函数式编程?
java·函数式编程
aaPIXa62219 小时前
C++ 用 13 条规则让模型写出安全现代 C++
java·c++·安全
2601_9498177220 小时前
C++指针与引用深度精讲:底层原理、差异对比与高阶实战陷阱
java·jvm·c++
va学弟20 小时前
Java 网络通信编程(10):Channel 和 Selector
java·开发语言