java jvm 11 不启动

标签 java windows jvm java-11

操作系统:Windows 10
java :11.0.1
我设置环境变量

set JAVA_HOME=<null>

set CLASSPATH=<null>

set PATH='d:\java\jdk-11.0.1\bin
正在运行的 cmd
版本
正在运行的 cmd
java -version
返回此错误:
Error occurred during initialization of VM
java.lang.IllegalArgumentException: Null charset name
    at java.nio.charset.Charset.lookup(java.base/Charset.java:455)
    at java.nio.charset.Charset.defaultCharset(java.base/Charset.java:608)
    at java.lang.StringCoding.decode(java.base/StringCoding.java:316)
    at java.lang.String.(java.base/String.java:592)
    at java.lang.String.(java.base/String.java:614)
    at java.lang.System.initProperties(java.base/Native Method)
    at java.lang.System.initPhase1(java.base/System.java:1942)

我试试
java -Dfile.encoding=UTF-8
同样的错误
我的 jdk8 没问题
我的 jdk 11 在公司电脑上没问题
什么?

最佳答案

此问题可以在安装了 gb18030 支持包的简体中文 Windows 中重现。
我用进程监视器跟踪它,看到进程以一些缓冲区溢出错误结束,同时加载名为 simsun gb18030 的字体文件(类似这样,我记不太清楚了。)
JDK 11 之后的任何版本的热点 jvm 都存在此问题。
但是对于 j9 vm,没有问题。

关于java jvm 11 不启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53079179/

相关文章:

java - 如何将 Map<String, List<Object>> 流式传输到 Stream<Entry<String, Object>> 中?

java - 按下通知按钮时未调用 BroadcastReceiver

java - 如何从 Java 访问 Windows 事件查看器日志数据

java - 如何修复 java.lang.UnsupportedClassVersionError : Unsupported major. 次要版本

java - 为什么当我在静态 block 中不使用 "lambda method reference"代码风格时会导致死锁?

java - 奇怪的数组复制错误

java - CXF 2.4.2 : No conduit initiator was found for the namespace http://schemas. xmlsoap.org/soap/http

java - classloader和web应用以及war文件的lib目录

.net - Windows 文件系统统计更新频率

windows - CMD 中的循环...如何循环 A 到 Z(对于驱动器号)