内存溢出 (out of memory) 概念 指程序在申请内存时,没有足够的内存空间供其使用。 原因 代码编写的时候,因为对方法(循环)和类应用设计的不合理,没有预估到临时对象会占用大量内存。把过多的数据放入到java缓存性能压力大导致消息堆积占用内存,以至于在性能测试时生成庞大数量的临时变量GC没有做出有效回收 内存泄露 (memory leak) 概念 程序在申请内存后,无法释放已申请的内存空间 区别 内存泄露是导致内存溢出的原因之一,有一定的因果关系 内存泄露可以通过完善代码来避免 内存溢出可以通过调整配置或者硬件来减少发生频率