由于Java实现(OpenJDK)和Android的虚拟机DalvikVM都是开源的,因此必须有可能在Google的DalvikVM之上实现Sun的JavaVM。这样就可以Clojure, Jython在android上开箱即用地运行基于JVM的应用程序和语言()。
OpenJDK
Clojure, Jython
是否正在持续努力以产生Sun JVM的这种实现?
OpenJDK使用本机代码,因此它是一个不平凡的端口……至少有一个用Java编写的VM(JikesRVM),不幸的是,它不是Java的完整实现。
由于DalvikVM运行从.class文件转换而来的类,因此应该可以转换这些类。然后,“唯一的”问题是语言在运行中即时生成字节码- 为此,在程序在DalvikVM上运行时,将需要额外的步骤将生成的字节码转换为DalvikVM格式。
嗯……是一种JITT(即时翻译器),可以在电话运行时将类文件转换为DalvikVM文件。我不知道那会有多慢。