解決Error occurred during initialization of VM Java虛擬機(jī)初始化失敗問題
遇到這個(gè)問題,其實(shí)很多人就害怕了,根本找不到問題的原因…
JVM那可是一個(gè)遙不可攀的東西,我寫Java的,JVM報(bào)錯(cuò)了我咋整?
首先,先排查一下你的環(huán)境是否按照規(guī)矩配置好了
1.如果在Eclipse上運(yùn)行出現(xiàn)了這個(gè)錯(cuò)誤
估計(jì)是你的環(huán)境沒有配置好,eclipse主要是通過JRE的運(yùn)行環(huán)境來執(zhí)行你的代碼
右擊項(xiàng)目名,找到properties屬性:
- 1、點(diǎn)擊Java Build Path,找到Libraries;
- 2、點(diǎn)擊Libraries進(jìn)入;
- 3、雙擊JRE System Library如下圖所示。
然后Finish即可
2.IDEA中出現(xiàn)這個(gè)情況
File > Project Structure
一般情況下,SDKs都會(huì)隨著變化,如果沒變,你就手動(dòng)點(diǎn)一下
Modules也一樣
然后OK即可
自己編譯的JDK進(jìn)行debug時(shí)出現(xiàn)這樣的情況
需要知道,一般在java.lang包下的東西都與虛擬機(jī)掛鉤,在修改了java.lang包下的一些代碼后,需要重新編譯,并且需要確保jvm在運(yùn)行時(shí)不會(huì)調(diào)用這些方法,或者你在執(zhí)行某個(gè)代碼的方法不會(huì)被其他的類相互之間調(diào)用,如果出現(xiàn)相互之間調(diào)用的情況…就極有可能導(dǎo)致Java虛擬機(jī)無法初始化
比如,在ArrayList的構(gòu)造方法中就不能隨便添加System.out.println()
打印語句
一般…寫寫注釋得了,別像我一樣亂改…
這些rt.jar包下的代碼,誰也不知道會(huì)不會(huì)出現(xiàn)什么特殊的情況
就比如我在java.util.ArrayList.java中的add方法添加了這么一行打印語句
在Test的main方法中創(chuàng)建了一個(gè)ArrayList對(duì)象
理論上,我沒有調(diào)用add方法,應(yīng)該不會(huì)執(zhí)行add方法吧…
實(shí)際上,我運(yùn)行之后發(fā)現(xiàn)…
原來在調(diào)用list.add()之前,ArrayList其實(shí)已經(jīng)運(yùn)行過N次了,只是咱不知道而已…
這是我之前修改了HashMap.java源碼中的一些代碼,結(jié)果就導(dǎo)致虛擬機(jī)起不來了,還好后面復(fù)原了
原諒我的無知…
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入淺析Spring 的aop實(shí)現(xiàn)原理
AOP(Aspect-OrientedProgramming,面向方面編程),可以說是OOP(Object-Oriented Programing,面向?qū)ο缶幊蹋┑难a(bǔ)充和完善。本文給大家介紹Spring 的aop實(shí)現(xiàn)原理,感興趣的朋友一起學(xué)習(xí)吧2016-03-03網(wǎng)關(guān)Spring Cloud Gateway HTTP超時(shí)配置問題
這篇文章主要介紹了網(wǎng)關(guān)Spring Cloud Gateway HTTP超時(shí)配置問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01SpringBoot和Swagger結(jié)合提高API開發(fā)效率
這篇文章主要介紹了SpringBoot和Swagger結(jié)合提高API開發(fā)效率的相關(guān)資料,需要的朋友可以參考下2017-09-09深入理解SpringCloud之Eureka注冊(cè)過程分析
eureka是一種去中心化的服務(wù)治理應(yīng)用,其顯著特點(diǎn)是既可以作為服務(wù)端又可以作為服務(wù)向自己配置的地址進(jìn)行注冊(cè),這篇文章主要介紹了深入理解SpringCloud之Eureka注冊(cè)過程分析2018-05-05Idea自動(dòng)生成Entity實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Idea自動(dòng)生成Entity實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Mybatis的Mapper代理對(duì)象生成及調(diào)用過程示例詳解
這篇文章主要為大家介紹了Mybatis的Mapper代理對(duì)象生成及調(diào)用過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09java 中Collection存儲(chǔ)器詳解及簡單實(shí)例
這篇文章主要介紹了java 中Collection存儲(chǔ)器詳解及簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-04-04Springboot如何利用攔截器攔截請(qǐng)求信息收集到日志詳解
一些系統(tǒng)經(jīng)常需要關(guān)注用戶請(qǐng)求的具體信息,如用戶信息、請(qǐng)求參數(shù)、響應(yīng)結(jié)果等等,在SpringBoot應(yīng)用中可通過攔截器的方式統(tǒng)一處理,下面這篇文章主要給大家介紹了關(guān)于Springboot如何利用攔截器攔截請(qǐng)求信息收集到日志的相關(guān)資料,需要的朋友可以參考下2021-08-08