java - Java 虚拟机会在 WinRT 上运行吗?

原文 标签 java jvm windows-runtime

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

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

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

最佳答案

是和不是。

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

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

关于java - Java 虚拟机会在 WinRT 上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957609/

相关文章:

xaml - 如何在 Metro/WinRT 应用程序的 ListView 项目单击时设置不同的背景颜色?

java - AppContext 中同名同类的两个 bean(一个被模拟)

java - 如何在Java中读取/写入NetBeans项目本身中的文件

java - Java程序可在Windows下运行,但在Mac OS JVM中无法运行

java - 我必须安装jdk win64吗?

Java 进程消耗超过 2 GB 的内存

java - 从日期开始算星期几

java - 是否可以获取该对象的名称?

windows-phone-8 - Visual Studio C# 中的内容对话框模板

winapi - Windows Phone 8.1 WinRT 应用程序中的 Google 登录和检索配置文件信息