线上排查、性能优化等概念也是面试过程中的“常客”,而对于线上遇到的“疑难杂症”,需要通过理性的思维去分析问题、排查问题、定位问题、解决问题,同时,如果解决掉所遇到的问题或瓶颈后,也可以在能力范围之内尝试最优解以及适当考虑拓展性。
当Java程序发生OOM时,可以通过以下命令检查程序运行情况:常用命令jstack:用于打印出Java进程中各个线程当前的调用栈信息,以及各个线程阻塞的原因等信息。可以通过jstack命令查看是否有线程阻塞、死循环等情况。
Java生产环境内存OOM问题排查指南:大龄程序员亲历的“血泪”实战,看完少走10年弯路!大家好,我是一名从业十多年的Java老炮,经历过无数深夜救火的OOM(OutOfMemoryError)问题。内存溢出是Java生产环境中最棘手的故障之一,轻则服务崩溃,重则数据丢失!
面试官:你这个太抽象了,能不能具体点?首先,我们铺垫了什么是 OOM,以及 OOM 发生的场景,包括内存溢出、内存泄漏,从而得出了这个问题:当 Java 线程在处理请求时,抛出了 OOM 异常,整个进程还能处理请求吗?