Java 虚拟机面试题34 题
- 01 常见的垃圾回收算法有哪些?
- 02 类加载过程是怎样的?什么是双亲委派机制?
- 03 什么是 JVM 内存模型(JMM)?
- 04 什么是逃逸分析?对象一定分配在堆上吗?
- 05 Java 对象在内存中的布局是怎样的?
- 06 Java 有 GC 为什么还会内存泄漏?常见的内存泄漏场景有哪些?
- 07 JVM 如何判断一个对象可以被回收?
- 08 JVM 线上问题排查常用哪些工具?
- 09 JVM 有哪几种常见的垃圾回收器?各自适用什么场景?
- 10 JVM 运行时数据区有哪些?
- 11 new 一个对象时,JVM 内部发生了什么?
- 12 StackOverflowError 和 OutOfMemoryError 有什么区别?
- 13 三色标记算法是什么?并发标记为什么会漏标?SATB 和增量更新有什么区别?
- 14 G1 垃圾收集器的原理是什么?为什么能做到可预测停顿?
- 15 JIT 即时编译是什么?解释器和编译器如何配合?什么是分层编译?
- 16 强引用、软引用、弱引用、虚引用有什么区别?
- 17 对象什么时候会从年轻代进入老年代?
- 18 什么是 JMH?为什么 Java 基准测试不能简单地用 System.currentTimeMillis 计时?
- 19 为什么用元空间(Metaspace)替代永久代(PermGen)?元空间会 OOM 吗?
- 20 class 文件结构是怎样的?字节码是如何执行的?
- 21 Minor GC、Major GC、Full GC 有什么区别?
- 22 OutOfMemoryError 有哪几种?分别是什么原因导致的?
- 23 如何分析 GC 日志?看哪些关键指标判断 GC 是否健康?
- 24 如何自定义类加载器?什么场景需要打破双亲委派?
- 25 什么是 Java Agent?premain 和 agentmain 有什么区别?
- 26 什么是 TLAB?它是怎么解决多线程对象分配的竞争问题的?
- 27 什么是安全点(Safepoint)?STW 是怎么实现的?什么是安全区域?
- 28 什么是堆外内存(直接内存)?DirectByteBuffer 是怎么管理它的?
- 29 什么是字节码增强?ASM、Javassist、Byte Buddy 有什么区别?
- 30 CMS 收集器的工作流程是怎样的?它有哪些缺点?为什么被淘汰了?
- 31 sun.misc.Unsafe 是什么?它有哪些危险的能力?为什么叫「Unsafe」?
- 32 ZGC 是什么?为什么它能做到亚毫秒级停顿?染色指针和读屏障是怎么回事?
- 33 什么是压缩指针(Compressed Oops)?为什么堆超过 32G 反而更浪费内存?
- 34 JVM 调优常用参数有哪些?
没有符合条件的题目。