一尘不染

在DalvikVM之上的Android-Sun JVM上运行Java字节码

java

由于Java实现(OpenJDK)和Android的虚拟机DalvikVM都是开源的,因此必须有可能在Google的DalvikVM之上实现Sun的JavaVM。这样就可以Clojure, Jython在android上开箱即用地运行基于JVM的应用程序和语言()。

是否正在持续努力以产生Sun JVM的这种实现?


阅读 165

收藏
2020-12-03

共1个答案

一尘不染

OpenJDK使用本机代码,因此它是一个不平凡的端口……至少有一个用Java编写的VM(JikesRVM),不幸的是,它不是Java的完整实现。

由于DalvikVM运行从.class文件转换而来的类,因此应该可以转换这些类。然后,“唯一的”问题是语言在运行中即时生成字节码-
为此,在程序在DalvikVM上运行时,将需要额外的步骤将生成的字节码转换为DalvikVM格式。

嗯……是一种JITT(即时翻译器),可以在电话运行时将类文件转换为DalvikVM文件。我不知道那会有多慢。

2020-12-03