当前位置: 首页 > 面试题库 >

是否有可能在Java中捕获内存不足异常?

濮阳钟展
2023-03-14
问题内容

我正在开发一个需要大量内存的程序,并且我想在内存不足异常发生时捕获。我听说这是不可能的,但对此是否有所发展感到好奇。


问题答案:

这也不例外。这是一个错误:java.lang.OutOfMemoryError

当它从Throwable下降时,你可以捕获它:

try {
    // create lots of objects here and stash them somewhere
} catch (OutOfMemoryError E) {
    // release some (all) of the above objects
}

但是,除非你要进行一些相当具体的工作(例如,在特定代码段内分配大量工作),否则你可能将无法捕捉到它,因为你将不知道它将从何处抛出。



 类似资料:
  • 问题内容: 任何Throwable都可以被捕获 输出: 因此,如果在初始化块期间做不好的事情,我希望能够捕获ExceptionInInitializerError。但是,以下操作无效: 输出: 并且如果我更改代码以另外捕获ArrayIndexOutOfBoundsException 被捕获的是ArrayIndexOutOfBoundsException: 谁能告诉我为什么呢? 问题答案: 顾名思义

  • 问题内容: 我遇到一个问题,我正在提交一个包含少量数据的简单表单,当我在选项卡中检查ajax的URL似乎正常时,但是在处理了ajax之后,它会发出错误提示,并将其重定向到我的主页,并从控制台选项卡我有这个: 未捕获的异常:内存不足 在我的ajax中,我只有以下简单代码: 在我的PHP控制器中,我具有此功能 问题答案: 从您重定向到主页的描述,但是在ajax响应部分中没有执行此操作的代码,我怀疑元素

  • 问题内容: 我一直在阅读JLS,并且遇到了11.1.3节。我引用的异步异常是: 大多数异常是由于它们所发生的线程的操作而同步发生的,并且在程序中被指定为可能导致此类异常的某个点处发生。相反,异步异常是在程序执行的任何时候都可能发生的异常。 和 异步异常仅由于以下原因而发生: […] * Java虚拟机中的内部错误或资源限制,阻止其实现Java编程语言的语义。在这种情况下,引发的异步异常是Virtu

  • 本文向大家介绍是否可以在单个catch块中捕获多个Java异常?,包括了是否可以在单个catch块中捕获多个Java异常?的使用技巧和注意事项,需要的朋友参考一下 例外是程序执行期间发生的问题(运行时错误)。发生异常时,程序会突然终止,并且生成异常的行之后的代码将永远不会执行。 代码中有多个异常 在Java 7之前,只要我们有一个可能会生成多个异常的代码,并且如果您需要专门处理该代码,则应在一次尝

  • 问题内容: 我需要捕获两个异常,因为它们需要相同的处理逻辑。我想做类似的事情: 是否可以避免在每个catch块中重复处理程序代码? 问题答案: Java 7及更高版本 从Java 7开始,支持多异常捕获。 语法为: 的静态类型是列出的异常中最特殊的通用超类型。有一个很好的功能,如果您将其重新抛出,编译器就会知道只能抛出列出的异常之一。 Java 6及更早版本 在Java 7之前,有多种方法可以解决

  • 最近我被要求在我的代码中捕获可抛出的内容。所以我们遇到了一个争论,我们是否应该这样做,我给出了一个OutOfMemoryError的例子,在这种情况下,即使我们捕获到错误,我们的代码也不会被进一步处理。 所以为了测试这个理论,我们为它创建了示例代码。 在Wed Jun 16 14:20:41 IST 2021时间运行测试 try Block内部 catch Block内部 Java.lang.Ou