我们遇到错误“java.lang.OutOfMemoryError:要求数组大小超过VM限制”在日志文件中,也观察其他过程中也出现此错误错误后运行进程的原因 - java.lang.OutOfMemoryError:请求的数组大小是否超出VM限制?
- 后运行服务器为什么不停止等上述错误后进程也运行?
- 是否所有的java.lang.OutOfMemoryError错误都会阻塞整个应用程序?
- 假设有10个线程,其中一个线程由于OutofMemory错误而失败。在这种情况下将所有的线程会被阻塞或其他9个线程将继续该过程
实施例记录器的消息:
示例...(QuartzScheduler.java:2166) - 工作(DEFAULT.jobLaunchStatusPoller org.quartz.SchedulerException:作业抛出未处理的异常[请参阅嵌套异常:java.lang.OutOfMemoryError:请求的数组大小超过VM限制] at org.quartz.core.JobRunShell.run(JobRunShell.java :210) at org.quartz.simpl.SimpleThreadPool $ WorkerThread.run(SimpleThreadPool.java:546) 由:java.lang.OutOfMemoryError引起:请求的数组大小为exce eds VM limit [Mar 17 13:32:24] [3578814] WARN [PollingScheduler_Worker-19](JobExecutor.java:54) - Job Execution Started。
谢谢。
一般来说,服务器尽量不要因为一个例外的崩溃。谷歌的'setUncaughtExceptionHandler',如果你想了解他们如何做到这一点。 – kdgregory