Java故障排查及工具最佳实践
在互联网+的今天,人们在PC、手机、Pad 上安装了各式各样的软件服务或APP,享受着互联网技术带来的高效和便捷。随着这些产品的高速发展,大家对高性能、稳定性、安全性、扩展性等方面有了更高的要求,而诞生于20多年前的Java平台,一直紧跟时代脉搏,兼收并蓄,持续优化,在编程领域交出最满意的答卷,最终成为现代互联网服务端开发的王者。当然,一种语言再强大,也不能在任何时候都能达到我们理想的状态。在实际工作中,我们会遇到非常多故障或性能问题,有些问题是需要在开发设计前通过规范避免的,有些问题是需要根据线上生产环境“边查边看边调整”的。很多工程师在遇到这些问题时,会根据一些浅显的表现来做很“粗暴”的处理,比如:OOM了就升配内存,CPU飙高就升核,超时异常过多就延长超时时间。诚然,在紧急情况下,有些处理能马上解决问题,但毕竟不是长久之计,甚至有时候会弄巧成拙。
Java类加载器概览
Java内存模型
线上问题诊断工具Arthas
杜云飞
业界资深技术专家
曾任小虫科技CTO、合伙人