你知道用 Java/J2ME 编写的运行时,它能够读取和执行脚本/二进制文件吗?
8 回答
我知道一个用 Java 编写的 x86 模拟器,JPC
我只写了这样一种语言,设计得足够小,适合 J2ME,并且不使用反射/代码生成/等...
它是自由许可下的开源软件,因此欢迎您使用、研究它、将其包含在您自己的程序中,或者对其进行修改以使其行为符合您的要求。
对于“常规”Java,还有其他语言做得更多、更快、更完整。
许多 JVM 语言 - 例如 Clojure。几乎有数百种 JVM 语言在流传,其中大部分是用 Java 实现的——Scala、Rhino 等。
就独特的语言而言,主要是 Clojure 和 Scala。此外,JVM 平台还有许多主要语言的端口,主要是高级语言。其中包括 Ruby -> JRuby、Python -> Jython 和 JavaScript -> Rhino。更完整的列表在这里。
这是一个令人印象深刻的 Java 虚拟机编程语言列表:
问题是 j2me 在反射的使用方面可能太有限而无法启用此功能,因此您需要调查您的特定目标。
一般的java来讲,有很多,比如JRuby、Beanshell、Jython等。
我刚刚收听了一个软件工程广播播客,其中一位 Sun 开发人员谈到了 Maxine,它是一个主要用 Java 本身实现的 JVM。这是一次非常有趣的采访和技术。
因此,有朝一日 Java 本身(即标准 JVM)将在 Java 中实现是可行的,就像 C 编译器是用 C 编写的(经过一些引导之后)。