JVM报错

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006015f4f0, pid=4292, tid=0x0000000000001954
#
# JRE version: Java(TM) SE Runtime Environment (8.0_144-b01) (build 1.8.0_144-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V  [jvm.dll+0x50f4f0]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# D:\develop-tools\eclipse\hs_err_pid4292.log
#
# Compiler replay data is saved as:
# D:\develop-tools\eclipse\replay_pid4292.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

解决:
JVM的PermSize空间几乎已经消耗完了,并且回收算法在压缩Perm空间的时候出了错。
因此,建议改变内存回收的算法,或扩大PermSize和MaxPermSize的数值。
五.栈溢出引起的Crash
Java代码引起的栈溢出,通常不会引起JVM的Crash,而是抛出一个Java异常:java.lang.StackOverflowError。
但是在Java虚拟机中,Java的代码和本地C或C++代码公用相同的Stack。这样,在执行本地代码所造成的栈溢出,
就有可能引起JVM的Crash了。
栈溢出引起的Crash会在日志的文件头中看到“EXCEPTION_STACK_OVERFLOW”字样。另外,在当前线程的Stack
信息中也能发现一些信息。

你可能感兴趣的:(JAVA开发)