Java开发自我介绍JVM 的类加载过程包括哪几个阶段?每一阶段的作用是什么?什么是双亲委派模型?为什么要这样设计?可以打破这个模型吗?自定义类加载器的场景有哪些?你有在实际项目中用过吗?热部署/热更新原理是什么?你了解类卸载机制吗?你如何判断 Java 应用发生了内存泄漏?怎么排查?你如何查看 JVM 内存使用情况?用过哪些调优工具?(如 JConsole、jstat、Arthas、MAT)OOM(OutOfMemoryError)常见的几种类型有哪些?如何定位问题?你是否手动配置过 JVM 参数?常用的 JVM 启动参数有哪些?(如 -Xms、-Xmx、-XX:+UseG1GC 等)如何通过 GC 日志分析 JVM 状态?日志中关键字段你能看懂吗?如何设置 JVM 的元空间(Metaspace)大小?PermGen 和 Metaspace 有什么区别?