Java 在 Windows 11 VM 上突然退出(主机是 M1 Mac)

Java exits abruptly on a Windows 11 VM (host is M1 Mac)

我遇到一个非常奇怪的问题,Java 突然随机退出。

我有一台 配备 M1 系统的 Macbook(2021 型号),内存为 32GB。我正在 运行使用 Windows 11 (ARM64 Insider Preview) 虚拟机 Parallels。我为 VM 分配了 16GB RAM 和 6 个内核。我在主机和虚拟机上都安装了 Liberica JDK 8(完整 JavaFX)。我正在开发一个多模块 Maven 项目,在主机端和 VM 端都是同一个项目(该项目依赖于一些 Windows 一些任务的副事物,这就是我 运行在旁边安装 Windows 虚拟机)。

来自java -version的输出:

openjdk version "1.8.0_332"
OpenJDK Runtime Environment (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)

我也尝试过使用 Azul JDK 并遇到了同样的问题。

在主机端一切正常。 Maven 和 Java 命令都 运行 成功,没有中断或问题。然而,在 Windows VM 端,似乎 Java 只是随机退出,没有错误日志或任何其他内容。我注意到它只是挂起几秒钟,然后突然退出。我注意到它可能发生在 运行ning Maven 命令时,或者例如 运行ning 带有 java -jar.jar 包时。这是它的外观图片(不过上图也是如此):

几周前我完全没有问题。但后来我不得不重新安装 Parallels 和 VM(重新安装整个 W11 OS),突然这些问题开始出现。我尝试将 -XX:+HeapDumpOnOutOfMemoryError 添加到 MAVEN_OPTS 环境变量以查看它是否是 OutOfMemoryError,但它似乎没有任何结果。

有什么想法吗?

以防有人 运行 遇到此问题:我能够通过从 UUP Dump 下载的图像将 Windows 11 VM 安装到 Parallels 中来解决此问题。

我尝试重新安装从 Microsoft 的 Insider Preview 页面下载的 VM,但问题仍然存在,似乎无法解决。 Java 仍然非常频繁地随机退出。

我从 UUP Dump 下载了最新的 Windows 11 图像并安装了那个图像。安装了完全相同版本的 Maven、Java、Groovy 等,令人惊讶的是,问题消失了。我已经能够 运行 Java 在我的 VM 上运行一天而没有问题,而使用从 Microsoft 下载的图像,我能够在配置我的环境和克隆后的几分钟内重现该问题我正在开发的项目的 Git 仓库。

切换到 ARM64 Java 很多 对我有所改进(Microsoft 是我发现的第一个,可能还有其他)。

一些背景:不确定我是否完全同样的问题,但是vscode编译和代码检查缓慢且不可靠,我的 Mendix Java 应用程序不断崩溃甚至无法启动。因为那个用的是Java11,所以我安装的是ARM64版本的。这是在 Windows 11 ARM 中,来自 Microsoft 的预览页面,已更新(第一次尝试挂起,但第二次尝试成功)。