为了记录catch块中的任何内容,我们需要一个String对象的文本,但JVM已经用完了内存。我能想到的两个可能的原因是:
答案 0 :(得分:3)
非常广泛的问题,但一个简单的答案:在实施JVM时,您可能不想等到100%的内存耗尽。
意思是:你可能只是简单地拉开"紧急休息"当你达到99.99%的限制时。因为那时你知道你有那个"微小的"需要保留以允许(某种程度上)协调"紧急关闭"。
除此之外:这可能是"更少"关于给出异常的一些消息字符串...请记住,JVM还会收集堆栈跟踪信息;并将其附加到异常/错误。 (imho)更多昂贵,然后为一些消息字符串腾出空间!