不,真的,这就是我想要做的。服务器拥有 1600 个用户——后端长时间运行的进程,而不是 Web 服务器——但有时用户产生的活动比平时多,所以它需要减少负载,特别是当它耗尽“资源”时表示堆内存。这是一个很大的设计问题——如何设计这个?
这可能涉及防止 OOM 而不是从中恢复。理想情况下
if(nearlyOutOfMemory()) throw new MyRecoverableOOMException();
可能发生。
但是那个nearlyOutOfMemory()
功能我真的不知道可能是什么。