解决Error occurred during initialization of VM Java虚拟机初始化失败问题

 更新时间:2025年03月20日 09:24:50   作者:不想CRUD的小凯  
这篇文章主要介绍了解决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报错:找不到或无法加载主类的解决办法

    Java报错:找不到或无法加载主类的解决办法

    在Java中当您尝试运行一个类作为主类时,如果系统找不到该类或者无法加载该类,就会出现"找不到或无法加载主类"的错误,这篇文章主要给大家介绍了关于Java报错:找不到或无法加载主类的解决办法,需要的朋友可以参考下
    2024-12-12
  • 深入理解Java基础中的集合框架

    深入理解Java基础中的集合框架

    Java集合框架(Java Collections Framework, JCF)也称容器,这里可以类比 C++中的 STL,在这里主要对如下部分进行源码分析,及在面试中常见的问题,例如,在阿里面试常问到的 HashMap和ConcurrentHashMap原理等等,深入源码分析是面试中必备的技能
    2023-08-08
  • Java利用InputStream类实现文件读取与处理

    Java利用InputStream类实现文件读取与处理

    在Java开发中,输入流(InputStream)是一个非常重要的概念,它涉及到文件读写、网络传输等多个方面,InputStream类是Java中输入流的抽象基类,定义了读取输入流数据的方法,本文将以InputStream类为切入点,介绍Java中的输入流概念及其应用,需要的朋友可以参考下
    2023-11-11
  • Java调用Oss JDk实现删除指定目录下的所有文件

    Java调用Oss JDk实现删除指定目录下的所有文件

    这篇文章主要为大家详细介绍了Java如何调用Oss JDk实现删除指定目录下的所有文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2025-03-03
  • Java中LinkedHashSet的实现原理详解

    Java中LinkedHashSet的实现原理详解

    这篇文章主要介绍了Java中LinkedHasSet的实现原理详解,LinkedHashSet 是具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现,此实现与HashSet 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表,需要的朋友可以参考下
    2023-09-09
  • 如何将Object类转换为实体类

    如何将Object类转换为实体类

    这篇文章主要介绍了如何将Object类转换为实体类,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 浅谈java.util.concurrent包中的线程池和消息队列

    浅谈java.util.concurrent包中的线程池和消息队列

    这篇文章主要介绍了浅谈java.util.concurrent包中的线程池和消息队列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • SpringBoot通过接口下载resources下的文件方式

    SpringBoot通过接口下载resources下的文件方式

    SpringBoot通过接口下载resources目录文件,解决jar包部署后资源路径不可直接访问的问题,利用Resource类加载文件,通过HttpServletResponse返回流,实现用户下载功能
    2025-09-09
  • SpringBoot整合Java DL4J实现情感分析系统

    SpringBoot整合Java DL4J实现情感分析系统

    在当今数字化时代,企业越来越重视用户的反馈,以不断改进产品和服务,自然语言处理技术为分析用户评价提供了强大的工具,本文将介绍如何使用 Spring Boot 整合 Java Deeplearning4j 构建一个情感分析系统,需要的朋友可以参考下
    2024-10-10
  • Java 详解Collection集合之ArrayList和HashSet

    Java 详解Collection集合之ArrayList和HashSet

    本章具体介绍了ArrayList和HashSet两种集合的基本使用方法和区别,图解穿插代码实现。 JAVA成仙路从基础开始讲,后续会讲到JAVA高级,中间会穿插面试题和项目实战,希望能给大家带来帮助
    2022-03-03

最新评论