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欄目裏這個修改