解决本地启动项目卡到一半问题
1:把日志级别调低 调成DEBUG
2:找到debug 打印出来的异常信息
3:错误:Constructor threw exception; nested exception is java.lang.StackOverflowError
原因 : 函数调用栈太深了,注意代码中是否有了循环调用方法而无法退出的情况。
原理
StackOverflowError 是一个java中常出现的错误:在jvm运行时的数据区域中有一个java虚拟机栈,当执行java方法时会进行压栈弹栈的操作。在栈中会保存局部变量,操作数栈,动态链接,方法出口。jvm规定了栈的最大深度,当执行时栈的深度大于了规定的深度,就会抛出StackOverflowError错误。
4:如不是代码问题,可设置 VM options
-Xms512m -Xmx2048m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m -Xss5m
-Xms512m :设置JVM初始堆内存为512m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmx2048m:设置JVM最大堆内存为2048m。
-XX:MaxNewSize=512m:设置年轻代最大值为512m。
-XX:MaxPermSize=1024m:设置持久代最大值为1024m。
-Xss5m:设置每个线程的栈大小。当这个值被设置的较大(例如>2MB)时将会在很大程度上降低系统的性能。
可参考:
https://blog.csdn.net/weixin_40461281/article/details/81126287