堆内存溢出-实习小记

背景：调研平台 供内部查询资料和文献等

正式环境报错，显示 oom-Java heap space ，先是检查了有没有创建大对象或者是递归的代码，然后适当扩大下内存。打开任意的 pdf 都失败，可能是内存没有释放（怀疑读 pdf 的工具有 bug） 用 jconsole 来看了一下程序执行时候的内存变化情况，内存是一致在增加的，本地分析一直在创建对象。分析堆内存快照，（XX:+HeapDumpOnOutOfMemoryError 堆内存溢出时的快照 后面可以加路径), 初步分析是持续调用生成字体字体对象的接口，也就是持续创建了字体对象。
找到源头就好办了，找到该接口持续创建对象的代码，应该是提出去做一个静态变量，而不是每次都在静态函数里面 new

ps: 第一次生产上遇见堆内存溢出，也是蛮兴奋的。 （只不过编辑的格式太烂了，还是得练练这方面）