常见面试题

  1. JVM 性能调优都做了什么?
  2. 有做过JVM内存优化吗?怎么进行优化的?
  3. 从SQL、JVM、架构、数据库四个方面说一说优化思路?
  4. JVM的编译优化?
  5. JVM诊断调优工具?
  6. JVM怎么调优,堆内存,栈空间设置多少合适?
  7. JVM相关的分析工具用过那些?具体的性能调优步骤?
  8. 如何进行JVM调优,有哪些方法?
  9. 如何理解内存泄漏问题?那些情况会出现内存泄漏?如何解决?
  10. JVM如何调优,参数怎么调?
  11. 每秒几十万并发的系统为什么会频繁的发生GC?
  12. 日均百万级交易系统如何优化JVM?
  13. 线上OOM如何监控、定位、解决?
  14. 高并发系统如何基于G1垃圾回收器优化性能?

线上问题

  1. 生产环境发生了内存溢出该如何处理?
  2. 生产环境应该给服务分配多少内存?
  3. 如何对垃圾回收器的性能进行调优?
  4. 生产环境cpu负载很高该如何处理?
  5. 生产环境应该给应用分配多少线程合适?
  6. 不加log 如何确认请求是否执行了某一行代码?查看某个方法的入参和返回值?

为什么要调优?

  1. 防止出现OOM
  2. 解决OOM
  3. 减少 full GC 的次数

调优的依据

  1. 运行日志
  2. 异常堆栈
  3. GC日志
  4. 线程快照
  5. 堆转储快照

调优方向

  1. 合理的编写代码
  2. 充分合理的利用硬件资源
  3. 合理的进行JVM调优