while死循環導致的內存溢出


場景:新開發的功能內測,新調用了其它模塊的接口,一如既往的點鼠標,計費,但是許久都沒有響應頁面遮罩一直鎖着,最后拋出了以下異常

咋一看這個異常信息,不就是鎖表了嗎?把鎖表進程Kill掉,再來一遍,結果還是同樣的異常,鎖表的異常只是最終的結果,是什么導致的鎖表呢?

於是到JBoss服務器尋求更多的異常信息,找到線索。

查看JBoss服務器日志發現了內存溢出的情況,查看堆棧信息發現在業務代碼的78行,

StringBuilder在進行append時,出現的異常。
轉移突破點,分析代碼:

先給大家提一個問題(埋個伏筆)

沒錯,在while死循環下進行了StringBuild的拼接,進程一直未走完,事務一直未提交,導致數據庫先拋出了鎖表的異常,當StringBuild不斷的進行拼接,最后導致內存溢出。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM