作java以來第一次遇到內存溢出的狀況,剛開始是一臉懵逼的!java
我的發現java會出現內存溢出的狀況,其緣由是:死循環、過深的遞歸(包括本身調用本身的部分狀況,本身調用本身有時會陷入遞歸出不來)spring
解決辦法:找到報錯的那一行,消除死循環或者過深的遞歸便可!
mvc
報錯信息:code
嚴重: Servlet.service() for servlet [springmvc] in context with path [/OABase] threw exception [Handler processing failed; nested exception is java.lang.StackOverflowError] with root cause java.lang.StackOverflowError at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) at com.mfc.dao.CheckinginDaoImpl.getCheckinginDetails(CheckinginDaoImpl.java:33) ..................................................