JVM
2025
30
- 编译执行与解释执行的区别是什么?JVM 使用哪种方式? 你了解 Java 的逃逸分析吗? 什么情况下会触发 Java 的 Full GC? 什么是 Java 的 AOT(Ahead-Of-Time)? 什么是 Java 的 PLAB? 什么是 Java 中的 JIT(Just-In-Time)? 什么是 Java 中的常量池? 什么是 Java 中的直接内存(堆外内存)? 什么是三色标记算法? 什么条件会触发 Java 的 young GC? 说说 Java 的执行流程? 为什么 G1 垃圾收集器不维护年轻代到老年代的记忆集? 为什么 Java 的垃圾收集器将堆分为老年代和新生代? 为什么 Java 新生代被划分为 S0、S1 和 Eden 区? 为什么 Java 中 CMS 垃圾收集器在发生 Concurrent Mode Failure 时的 Full GC 是单线程的? 为什么 Java 中某些新生代和老年代的垃圾收集器不能组合使用?比如 ParNew 和 Parallel Old G1 相对于 CMS 有哪些进步的地方? Java 的 CMS 垃圾回收器和 G1 垃圾回收器在记忆集的维护上有什么不同? Java 里的对象在虚拟机里面是怎么存储的? Java 是如何实现跨平台的? Java 中常见的垃圾收集器有哪些? Java 中的 CMS 和 G1 垃圾收集器如何维持并发的正确性? Java 中的 young GC、old GC、full GC 和 mixed GC 的区别是什么? Java 中堆和栈的区别是什么? Java 中如何判断对象是否是垃圾?不同垃圾回收方法有何区别? JIT 编译后的代码存在哪? JVM 的 TLAB(Thread-Local Allocation Buffer)是什么? JVM 的内存区域是如何划分的? JVM 垃圾回收时产生的 concurrent mode failure 的原因是什么? JVM 新生代垃圾回收如何避免全堆扫描?