Java面试实战之OOM异常

今天是周末,祝大家周末愉快,11月3日更新了极限挑战,看的我是感触良多,心中还是澎湃的不行。1.Java堆用于存储对象实例,只要不断地创建对象,并且保证GCRoots到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么在对象数量到达最大堆的容量限制后悔产生内存溢出异常。

有哪些原因会导致JAVA进程退出?

如下图所示ps:由于两年多没写crud了,所以忘记mybatis怎么用了,所以上面那个问题,我选择了无视。

K8s工程化:K8s中的Java应用出现OOM后怎么办?

背景前段时间,线上系统出现了两次持续时间比较长的事故。这两次事故暴露我在某些方面的不足。同时,也意识到在SRE这个领域,经验的重要性。事故过程中,我们发现大量的FullGC。当时,我们想到了要dump内存出来分析,可惜发现没有加 -XX:HeapDumpPath 参数。

面试官:哪些原因会导致JAVA进程退出?

如下图所示ps:由于两年多没写crud了,所以忘记mybatis怎么用了,所以上面那个问题,我选择了无视。

JAVA内存泄露2-3经典案例

原因:WeakHashMap 的 Key 虽然是弱引用,但是其Value持有Key 中对象的强引用会导致Key 无法回收,无限往WeakHashMap 加入数据同样会 OOM。

网站地图