単純な質問のように思えますが、意味のある答えを見つけることができず、多くの憶測が飛び交いました。
また、答えが「はい」の場合、それはどの JVM でしょうか。Oracle のものですか、それとも Microsoft によってパッチが適用されたものですか?
具体的には、Java デスクトップ アプリケーションを JRE 7 で実行していますが、WinRT で実行できますか? つまり、WinRT に JRE 7 をインストールできますか? 問題なく動くでしょうか?
単純な質問のように思えますが、意味のある答えを見つけることができず、多くの憶測が飛び交いました。
また、答えが「はい」の場合、それはどの JVM でしょうか。Oracle のものですか、それとも Microsoft によってパッチが適用されたものですか?
具体的には、Java デスクトップ アプリケーションを JRE 7 で実行していますが、WinRT で実行できますか? つまり、WinRT に JRE 7 をインストールできますか? 問題なく動くでしょうか?
はいといいえ。
WindowsランタイムAPIとWindowsストアアプリから使用できるWindowsAPIの部分を使用して、Java仮想マシンまたは少なくともその大部分を実装することは確かに可能です。ただし、そのようなJVMは、JVMをコンパイルするJITではなく、解釈するJVMである必要があります。JITコンパイルには、メモリ保護を変更する機能(生成されたコードの実行を許可するため)が必要ですが、メモリ保護(VirtualProtect
およびその仲間)を変更するAPIは、Windowsストアアプリのユーザーコードから呼び出すことはできません。
では、Windowsストアアプリで使用できる解釈JVMを実装できますか?おそらく。ただし、十分に機能して使用できるJVMを実装できるかどうかは、まったく別の問題です。