【008】2020.11.07 週六 --《Java日常之OOM & Idea debug技巧》



OOM

問題

一個sql裏查詢的數據70W,佔用內存100多M多個這樣的sql,就可能導致OOM,需要Java服務都重啓才能解決


原因

在RabbitMQ裏操作失敗後,還會失敗查詢,到這上述sql增多,繼續發生OOM,繼續重試,造成惡性循環

解決

1)限制查詢數據的地方2)對OOM問題要重視,避免服務重啓,影響接口和業務功能

其他

1)OOM後,可以從其dump的文件中分析定位原因解決

2)Java和php不一樣的地方:Java爲什麼一個 OOM就會導致整個服務的掛掉? php的話出現查詢一次內容過多,只是影響本次內容的,不會影響整個服務的

Idea的debug一些技巧

1)可以通過設置實現一個spring 應用啓動2個服務

2)條件debug:debug時,臨時修改讓某些條件的走debug

3)動態調整變量的值:可以通過修改debug欄目裏這個修改

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章