OOME錯(cuò)誤拋出原因(排列以發(fā)生的可能性為據(jù)):
1. Java Heap中無法申請(qǐng)到足夠的內(nèi)存用于創(chuàng)建新的object,JVM會(huì)拋出OOME錯(cuò)誤
根據(jù)異常發(fā)生的日志分析,有可能是因?yàn)镻OP3受信時(shí),發(fā)生死鎖,導(dǎo)致舊對(duì)象無法釋
放,Java heap 內(nèi)存超過最大分配內(nèi)存,OOME拋出。
2. Native memory JVM正常運(yùn)行和 JNI調(diào)用第三方庫時(shí)分配內(nèi)存。Native內(nèi)存會(huì)在JVM進(jìn)程所
需要的內(nèi)存向系統(tǒng)申請(qǐng),如果JNI調(diào)用不能申請(qǐng)到內(nèi)存就會(huì)拋出OOME錯(cuò)誤。
3. Process memory size 不夠。這種可能性比較小。
凡是有該標(biāo)志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
、轉(zhuǎn)載請(qǐng)注明來處和原文作者。非常感謝。