0


Error occurred during initialization of VM Java虚拟机初始化失败

遇到这个问题,其实很多人就害怕了,根本找不到问题的原因…
JVM那可是一个遥不可攀的东西,我写Java的,JVM报错了我咋整?
首先,先排查一下你的环境是否按照规矩配置好了

1.如果在Eclipse上运行出现了这个错误:

估计是你的环境没有配置好,eclipse主要是通过JRE的运行环境来执行你的代码
右击项目名,找到properties属性:
1、点击Java Build Path,找到Libraries;
2、点击Libraries进入;
3、双击JRE System Library如下图所示。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
然后Finish即可

2.IDEA中出现这个情况

File > Project Structure
在这里插入图片描述
在这里插入图片描述
一般情况下,SDKs都会随着变化,如果没变,你就手动点一下
在这里插入图片描述
Modules也一样
在这里插入图片描述
然后OK即可

自己编译的JDK进行debug时出现这样的情况

需要知道,一般在java.lang包下的东西都与虚拟机挂钩,在修改了java.lang包下的一些代码后,需要重新编译,并且需要确保jvm在运行时不会调用这些方法,或者你在执行某个代码的方法不会被其他的类相互之间调用,如果出现相互之间调用的情况…就极有可能导致Java虚拟机无法初始化

比如,在ArrayList的构造方法中就不能随便添加

System.out.println()

打印语句
在这里插入图片描述
一般…写写注释得了,别像我一样乱改…
这些rt.jar包下的代码,谁也不知道会不会出现什么特殊的情况
就比如我在java.util.ArrayList.java中的add方法添加了这么一行打印语句
在这里插入图片描述
在Test的main方法中创建了一个ArrayList对象
在这里插入图片描述
理论上,我没有调用add方法,应该不会执行add方法吧…
实际上,我运行之后发现…
在这里插入图片描述

原来在调用list.add()之前,ArrayList其实已经运行过N次了,只是咱不知道而已…😂

这是我之前修改了HashMap.java源码中的一些代码,结果就导致虚拟机起不来了,还好后面复原了
在这里插入图片描述
原谅我的无知…😛


如果对你有帮助...点个赞呗~❤️ 谢谢您!

标签: java jvm eclipse

本文转载自: https://blog.csdn.net/qq_41755616/article/details/125805716
版权归原作者 不想CRUD的小凯 所有, 如有侵权,请联系我们删除。

“Error occurred during initialization of VM Java虚拟机初始化失败”的评论:

还没有评论