1. 程式人生 > >Java 內存溢出(java.lang.OutOfMemoryError)的常見情況和處理方式總結

Java 內存溢出(java.lang.OutOfMemoryError)的常見情況和處理方式總結

lang 詳細 對象的引用 logic root 常見 gic a-out 重復

java.lang.OutOfMemoryError這個錯誤我相信大部分開發人員都有遇到過,產生該錯誤的原因大都出於以下原因:JVM內存過小、程序不嚴密,產生了過多的垃圾。

導致OutOfMemoryError異常的常見原因有以下幾種:

1. 內存中加載的數據量過於龐大,如一次從數據庫取出過多數據;
2. 集合類中有對對象的引用,使用完後未清空,使得JVM不能回收;
3. 代碼中存在死循環或循環產生過多重復的對象實體;
4. 使用的第三方軟件中的BUG;
5. 啟動參數內存值設定的過小;

此錯誤常見的錯誤提示:

1. tomcat:java.lang.OutOfMemoryError: PermGen space
2. tomcat:java.lang.OutOfMemoryError: Java heap space
4. weblogic:Root cause of ServletException java.lang.OutOfMemoryError
5. resin:java.lang.OutOfMemoryError
6. java:java.lang.OutOfMemoryError

文章詳細內容見:

Java 內存溢出(java.lang.OutOfMemoryError)的常見情況和處理方式總結

Java 內存溢出(java.lang.OutOfMemoryError)的常見情況和處理方式總結