不,實際上,這就是我想要做的。服務器持有1600個用戶 - 後端長時間運行的進程,而不是web服務器 - 但有時用戶產生比平時更多的活動,因此需要減少負載,特別是當它耗盡「資源」時意味着堆內存。這是一個很大的設計問題 - 如何設計?Java - 在內存不足時以編程方式減少應用程序負載
這可能涉及防止OOM而不是從它們中恢復過來。理想情況下
if(nearlyOutOfMemory()) throw new MyRecoverableOOMException();
可能發生。
但那nearlyOutOfMemory()
函數我真的不知道可能是什麼。
這裏討論的東西類似http://stackoverflow.com/questions/11508310/detecting-out-of-memory-errors/11510049#11510049答案可能會有幫助 – Scorpion 2014-01-22 12:15:27