1.目前可以搜到的主流解決方法(親測自己用不好使版)
報錯問題:
搜到的解決方法(不能用版):
,
目前網(wǎng)上大多數(shù)解決方法都是說取消idea中此處的勾選,但是我在這里取消勾選后,警告仍然存在。于是接下來通過不斷的查資料對這個警告也有了一定的認識,看到這里,沒耐心的小伙伴可以先行退出,因為這個警告完全可以不解決。接下來將介紹這個警告出現(xiàn)的原因及強迫癥的解決方法
2.Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended出現(xiàn)的原因
此警告的翻譯:
警告原因:
Java HotSpot(TM) 64-Bit Server VM 發(fā)出這個警告的原因是因為當前應用程序在加載類時使用了 ClassLoader
的共享機制,但是共享只支持引導加載程序類。但是JVM 試圖將一些系統(tǒng)類庫(例如 rt.jar、charsets.jar 等)加載到共享內(nèi)存中,但這些類庫并不符合共享內(nèi)存的要求,從而導致警告。
解決辦法:
懶人版
Java虛擬機(JVM)會在啟動時加載并使用系統(tǒng)類庫,這些類庫包括rt.jar、charsets.jar等。如果 JVM 無法將這些系統(tǒng)類庫加載到共享內(nèi)存中,它會按照非共享內(nèi)存的方式單獨加載這些類庫,這不會對應用程序產(chǎn)生任何影響,但會導致 "Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended" 這個警告。這個警告也并不會影響測試類的運行結(jié)果(題主這里時這樣的)。所以這個警告時可以直接忽略的。懶人解決方法就是直接忽略(我推薦,因為我懶,并且眾所周知,程序能跑起來且結(jié)果正確就不用動了)。
強迫癥版:
當然了,會有一些小伙伴不能接受自己的運行結(jié)果中存在這一個鮮紅的警告:
經(jīng)過好長時間的百度,只能確定想要徹底消除警告需要禁止啟動優(yōu)化,不過這里試了好多方法都沒實現(xiàn),要是有哪位小伙伴找到了拜托在評論區(qū)評論一下,讓我學習一下。
一下內(nèi)容轉(zhuǎn)載自gpt(僅供參考版);
實際上,在默認情況下,JVM會自動將某些系統(tǒng)類庫加載到共享內(nèi)存中。如果出現(xiàn) "Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended" 這個警告,說明在這種情況下,某些類庫不符合共享內(nèi)存的要求,無法使用共享內(nèi)存來加載。
通常情況下,如果您想將自己編寫的類庫放入共享內(nèi)存中加載,可以通過修改 JVM 啟動參數(shù)來實現(xiàn)。例如,可以使用 -Xshare:off 參數(shù)關閉共享內(nèi)存的支持,或者使用 -Xshare:on 參數(shù)開啟共享內(nèi)存的支持并指定共享庫的名字,也可以使用 -Xshare:auto 參數(shù)讓 JVM 自動確定是否使用共享內(nèi)存。
但是,請注意,對于 JDK 提供的系統(tǒng)類庫,不建議手動修改 JVM 啟動參數(shù)來強制將它們加載到共享內(nèi)存中。因為這些類庫已經(jīng)經(jīng)過優(yōu)化,對于絕大多數(shù)應用來說,它們已經(jīng)足夠快了,并沒有必要再進行額外的優(yōu)化。
總之,如果出現(xiàn) "Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended" 這個警告,您可以嘗試使用 -Xshare:off 參數(shù)關閉共享內(nèi)存的支持,從而避免這個警告。但需要注意的是,在絕大多數(shù)情況下,這個警告并不會對應用程序產(chǎn)生實質(zhì)性的影響,可以忽略它。
個人總結(jié):
如果這個警告不影響目前程序中測試類的運行,那就大膽忽略吧,以為我這里在試圖取消這個警告的警告的時候曾一度令測試類無法運行。文章來源:http://www.zghlxwxcb.cn/news/detail-757828.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-757828.html
到了這里,關于取消Async Stack Traces無法解決Sharing is only supported for boot loader classes時的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!