2

这似乎是一个简单的问题,但我找不到有意义的答案,只有很多猜测。

此外,如果答案是肯定的,它会是哪个 JVM,Oracle 的还是微软修补的东西?

具体来说:我有一个在 JRE 7 上运行的 Java 桌面应用程序,它会在 WinRT 上运行吗?我的意思是,我可以在 WinRT 上安装 JRE 7 吗?它会毫无问题地运行吗?

4

1 回答 1

3

是和不是。

使用 Windows 运行时 API 和可从 Windows 应用商店应用程序使用的 Windows API 部分当然可以实现 Java 虚拟机,或者至少是虚拟机的大部分。但是,这样的 JVM 需要是解释型 JVM,而不是 JIT 编译型 JVM。JIT 编译需要能够更改内存保护(以允许执行生成的代码),但VirtualProtect不能从 Windows 应用商店应用程序中的用户代码调用更改内存保护(和朋友)的 API。

那么,您能否实现一个可在 Windows 应用商店应用程序中使用的解释型 JVM?大概。不过,是否有可能实现一个性能足够好以供使用的 JVM 完全是另一回事。

于 2012-12-19T20:39:03.353 回答