# Java 虚拟机面试题 by 爽爽学编程

本文作者:爽爽学编程 (opens new window)

本站地址:https://code-wss.com (opens new window)

# JVM 的 TLAB(Thread-Local Allocation Buffer)是什么?

# 什么是 JVM 垃圾回收的 concurrent mode failure?产生它的真正原因是什么?

# Java 是如何实现跨平台的?

# 编译执行与解释执行的区别是什么?JVM 使用哪种方式?

# JVM 的内存区域是如何划分的?

# Java 中堆和栈的区别是什么?

# 什么是 Java 中的直接内存?

# 什么是 Java 中的常量池?

# 你了解 Java 的类加载器吗?

# 什么是 Java 中的 JIT(Just-In-Time)编译?

# 什么是 Java 的 AOT(Ahead-Of-Time)编译?

# 你了解 Java 的逃逸分析吗?

# Java 中的强引用、软引用、弱引用和虚引用分别是什么?

# Java 中常见的垃圾收集器有哪些?

# Java 中如何判断对象是否是垃圾?不同垃圾回收方法有何区别?

# 为什么 Java 的垃圾收集器将堆分为老年代和新生代?

# 为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)?

# 为什么 Java 新生代被划分为 S0、S1 和 Eden 区?

# Java 中有哪些垃圾回收算法?

# 什么是三色标记算法?

# Java 中的 young GC、old GC、full GC 和 mixed GC 的区别是什么?

# 什么条件会触发 Java 的 young GC?

# 什么情况下会触发 Java 的 Full GC?

# 什么是 Java 的 PLAB?

# 为什么 Java 中 CMS 垃圾收集器在发生 Concurrent Mode Failure 时的 Full GC 是单线程的?

# 为什么 Java 中某些新生代和老年代的垃圾收集器不能组合使用?比如 ParNew 和 Parallel Old

# JVM 新生代垃圾回收如何避免全堆扫描?

# Java 的 CMS 垃圾回收器和 G1 垃圾回收器在记忆集的维护上有什么不同?

# 为什么 G1 垃圾收集器不维护年轻代到老年代的记忆集?

# Java 中的 CMS 和 G1 垃圾收集器如何维持并发的正确性?

# 什么是 Java 中的 logging write barrier?

# Java 的 G1 垃圾回收流程是怎样的?

# Java 的 CMS 垃圾回收流程是怎样的?

# 你了解 Java 的 ZGC(Z Garbage Collector)吗?

# Java 中 CMS 垃圾收集器的写屏障如何维护卡表和增量更新?

# JVM 垃圾回收调优的两个主要目标是什么?

# 如何对 Java 的垃圾回收进行调优?

# 常用的 JVM 配置参数有哪些?

# 你常用哪些工具来分析 JVM 性能?

# 如何在 Java 中进行内存泄漏分析?

# 什么是 Java 中的指令重排?

# 什么是 Java 中的双亲委派模型?

Java 虚拟机面试题 by 爽爽学编程

爽爽学编程   |