写了一段测试程序,然后开始执行:
@RequestMapping("/for")
public String for1() {
List list = new ArrayList();
while (true){
list.add(new Byte[1]);
log.info("list:{}",list.size());
}
}
首先使用top命令查看:
可见PID为1554的java进程cpu爆炸
1、使用jstack导出堆栈信息:jstack 1554 >/Users/ly/Documents/show.txt
2、使用1554转换为10进制:printf “%x” 1554,得到2e86
3、用2e86去show.txt中去查找
至此:问题定位