| 1 |
Java 为什么能一次编写,处处运行? |
| 2 |
JVM 是什么? |
| 3 |
HotSpot 是什么? |
| 4 |
JVM 内存区域分类哪些? |
| 5 |
堆和栈区别是什么? |
| 6 |
JVM 哪块内存区域不会发生内存溢出? |
| 7 |
什么情况下会发生栈内存溢出? |
| 8 |
对象都是在堆上分配的吗? |
| 9 |
常用的 JVM 参数有哪些? |
| 10 |
Java 8 中的内存结构有什么变化? |
| 11 |
Java 8 中的永久代为什么被移除了? |
| 12 |
JVM 是怎么加载字节码文件的? |
| 13 |
什么是类加载器? |
| 14 |
类加载器(ClassLoader)有哪些方法? |
| 15 |
类加载器的分类及作用? |
| 16 |
编程实现一个自定义的类加载器 |
| 17 |
什么是双亲委派模型? |
| 18 |
为什么要打破双亲委派模型? |
| 19 |
Class.forName 和 ClassLoader 的区别? |
| 20 |
什么是 JVM 内存模型? |
| 21 |
JVM 内存模型和 JVM 内存结构的区别? |
| 22 |
什么是指令重排序? |
| 23 |
内存屏障是什么? |
| 24 |
什么是 Happens-Before 原则? |
| 25 |
JVM 从 GC 角度看,堆的分区情况? |
| 26 |
为什么堆要分新生代和老年代?而不是一个老年代就行? |
| 27 |
为什么新生代要分成 Eden 和 Survivor 两个区? |
| 28 |
为什么新生代 Survivor 区又分为两个区?一个不行吗? |
| 29 |
新生代各分区的默认比例是怎样的? |
| 30 |
哪些情况下存活对象会进入老年代? |
| 31 |
GC 是什么?为什么需要 GC? |
| 32 |
什么是 Young GC? |
| 33 |
什么是 Minor GC? |
| 34 |
什么是 Full GC? |
| 35 |
什么时候会触发 Minor GC? |
| 36 |
什么时候会触发 Full GC? |
| 37 |
一次完整的 GC 流程是怎样的? |
| 38 |
什么是 GC 停顿?为什么要停顿? |
| 39 |
如何减少长时间的 GC 停顿? |
| 40 |
JVM 如何判断一个对象可被回收? |
| 41 |
常用的垃圾收集器有哪些? |
| 42 |
JVM 中的默认垃圾收集器是? |
| 43 |
什么是 G1 垃圾收集器? |
| 44 |
有了 CMS 收集器,为什么又搞出了 G1? |
| 45 |
G1 垃圾收集器的适用场景? |
| 46 |
G1 垃圾收集器有什么优缺点? |
| 47 |
G1 收集器对于堆是怎么划分的? |
| 48 |
G1 收集器为什么重新划分了堆? |
| 49 |
G1 收集器是怎么处理大对象的? |
| 50 |
G1 收集器为什么新增 Humongous 区域?有什么用? |
| 51 |
G1 垃圾回收的过程是怎样的? |
| 52 |
G1 回收停顿了几次,为什么? |
| 53 |
怎么启用 G1 收集器?有哪些设置参数? |
| 54 |
什么是 CMS 垃圾收集器? |
| 55 |
CMS 垃圾收集器的适用场景? |
| 56 |
CMS 垃圾收集器有什么优缺点? |
| 57 |
CMS 收集器触发 GC 的条件? |
| 58 |
CMS 垃圾回收的过程是怎样的? |
| 59 |
CMS 垃圾收集器能处理浮动垃圾吗?为什么? |
| 60 |
CMS 回收停顿了几次,为什么? |
| 61 |
CMS 垃圾收集器为什么会被废弃? |
| 62 |
CMS 垃圾收集器废弃后有什么替代方案? |
| 63 |
怎么启用 CMS 收集器?有哪些设置参数? |
| 64 |
CMS 和 G1 收集器的区别? |
| 65 |
CMS 和 G1 收集器怎么选? |
| 66 |
常用的垃圾回收算法有哪些? |
| 67 |
你怎么理解 GC 引用计数算法? |
| 68 |
你怎么理解 GC 复制算法? |
| 69 |
你怎么理解 GC 标记清除算法? |
| 70 |
你怎么理解 GC 标记整理算法? |
| 71 |
你怎么理解 GC 分代算法? |
| 72 |
System.gc() 和 Runtime.gc() 的作用?有什么区别? |
| 73 |
什么是三色标记法? |
| 74 |
什么是浮动垃圾? |
| 75 |
什么是内存泄漏? |
| 76 |
Java 中会存在内存泄漏吗? |
| 77 |
为什么会发生内存泄漏? |
| 78 |
如何防止内存泄漏? |
| 79 |
一个线程 OOM 后,其他线程还能运行吗? |
| 80 |
什么是直接内存? |
| 81 |
直接内存有什么用? |
| 82 |
怎样访问直接内存? |
| 83 |
常用的 JVM 调优命令有哪些? |
| 84 |
常用的 JVM 问题定位工具有哪些? |
| 85 |
常用的主流 JVM 虚拟机都有哪些? |
| 86 |
JVM 对频繁调用的方法做了哪些优化? |
| 87 |
什么是热点代码? |
| 88 |
GraalVM 是什么技术? |