相关疑难解决方法(0)

110
推荐指数
9
解决办法
15万
查看次数

捕获java.lang.OutOfMemoryError?

文档java.lang.Error说:

Error是Throwable的子类,表示合理的应用程序不应该尝试捕获的严重问题

但是作为java.lang.Error子类java.lang.Throwable,我可以捕获这种类型的Throwable.

我明白为什么抓住这种例外不是一个好主意.据我所知,如果我们决定捕获它,catch处理程序不应该自己分配任何内存.否则OutOfMemoryError将再次抛出.

所以,我的问题是:

  1. 捕获时是否有任何真实的单词场景java.lang.OutOfMemoryError可能是一个好主意?
  2. 如果我们决定捕获java.lang.OutOfMemoryError,我们怎么能确定catch处理程序本身不分配任何内存(任何工具或最佳实践)?

java try-catch out-of-memory

97
推荐指数
8
解决办法
8万
查看次数

是否有可能在java中捕获内存不足?

我正在开发一个需要大量内存的程序,我想在发生内存不足异常时捕获.我听说这是不可能做到的,但是如果在这方面有任何发展,我很好奇.

java exception out-of-memory

52
推荐指数
7
解决办法
8万
查看次数

JVM是否可以在不重新启动的情况下从OutOfMemoryError中恢复

  1. 如果有更多对象分配请求进入之前有机会运行GC,JVM是否可以在不重启的情况下从OutOfMemoryError中恢复?

  2. 各个JVM实现在这方面有所不同吗?

我的问题是关于JVM恢复而不是用户程序试图通过捕获错误来恢复.换句话说,如果在应用程序服务器(jboss/websphere/..)中抛出OOME,我是否必须重新启动它?或者,如果进一步的请求似乎没有问题,我可以让它运行.

java jvm out-of-memory

43
推荐指数
1
解决办法
2万
查看次数

如何在Java中处理OutOfMemoryError?

我必须序列化大约一百万个项目,当我运行我的代码时,我得到以下异常:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOfRange(Unknown Source)
    at java.lang.String.<init>(Unknown Source)
    at java.io.BufferedReader.readLine(Unknown Source)
    at java.io.BufferedReader.readLine(Unknown Source)
    at org.girs.TopicParser.dump(TopicParser.java:23)
    at org.girs.TopicParser.main(TopicParser.java:59)
Run Code Online (Sandbox Code Playgroud)

我该如何处理?

java memory-management

12
推荐指数
6
解决办法
6万
查看次数

Java:构造函数失败的对象会发生什么?

请考虑以下代码段:

class Test1 {
    private static Test1 instance;
    @NonNull private final Date date1;
    @NonNull private final Date date2;

    Test1() throws Exception {

        this.date1 = new Date();

        Test1.instance = this;
        if (true) {
            throw new Exception();
        }

        this.date2 = new Date();
    }

    public void dump() {
        System.out.println("date1: " + date1);
        System.out.println("date2: " + date2);
    }

    static void test() {
        Test1 t1 = null;
        try {
            t1 = new Test1();
        } catch (Exception e) {
            e.printStackTrace();
        }
        Test1.instance.dump();
        assert t1 == null; …
Run Code Online (Sandbox Code Playgroud)

java null constructor exception

4
推荐指数
1
解决办法
80
查看次数