java.lang.StackOverflowError錯誤

作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)
..................................................