(直接用shutdown.bat就正常),这句话是暗示你在通过某个工具(比如 IDE, Eclipse)之类的”重启“就不正常?如果是这样,可能是某个目录设置不正确(比如使用的是相对目录,在程序运行后当前目录切换到其它目录,导致相对目录对应的绝对目录变化了)。这个 java.lang.Object 本身是 JVM 内核,它出错了只能说明初始化的目录有问题(比如 jvm.dll 找到了,但 java home 不正常)。