Java 有没有办法知道何时超出GC开销限制?

Java 有没有办法知道何时超出GC开销限制?,java,error-handling,Java,Error Handling,我有一个2D数组,当在for循环中时,它会达到GC开销限制。有没有办法让if语句在发生GC错误时停止for循环,而不将错误返回控制台?同时,我的2D阵列将达到最大值。这将是错误的方法。您需要编写代码(您没有显示代码),这样才不会导致错误。发生错误的原因是2D数组是一个包含行和列的表,共有9列乘以1000000行。我想在出现错误退出之前将阵列停止到最大值。为什么要这样做?你打算如何处理一个半初始化的数组?我会将它作为一个表返回,并向用户显示一个图形错误,即已达到最大值,并且返回了一个具有最大行数的

我有一个2D数组,当在for循环中时,它会达到GC开销限制。有没有办法让if语句在发生GC错误时停止for循环,而不将错误返回控制台?同时,我的2D阵列将达到最大值。

这将是错误的方法。您需要编写代码(您没有显示代码),这样才不会导致错误。发生错误的原因是2D数组是一个包含行和列的表,共有9列乘以1000000行。我想在出现错误退出之前将阵列停止到最大值。为什么要这样做?你打算如何处理一个半初始化的数组?我会将它作为一个表返回,并向用户显示一个图形错误,即已达到最大值,并且返回了一个具有最大行数的表。但你没有达到最大值。您创建的垃圾太多,GC无法处理。您希望修复代码,使其不会产生太多垃圾。那么你只需要担心内存不足。那将是错误的方法。您需要编写代码(您没有显示代码),这样才不会导致错误。发生错误的原因是2D数组是一个包含行和列的表,共有9列乘以1000000行。我想在出现错误退出之前将阵列停止到最大值。为什么要这样做?你打算如何处理一个半初始化的数组?我会将它作为一个表返回,并向用户显示一个图形错误,即已达到最大值,并且返回了一个具有最大行数的表。但你没有达到最大值。您创建的垃圾太多,GC无法处理。您希望修复代码,使其不会产生太多垃圾。那么你只需要担心内存不足。