有哪些JVM组装商?

时间:2011-05-30 13:06:39

标签: java jvm assembly

我想要一个简单明了的JVM汇编程序。它应该采用以The Java Virtual Machine Specification中描述的助记符语言编写的文本文件,并生成类文件,即字节码。

要明确:我不想要一个可以从API调用生成类文件的库。

JVM汇编程序的当前状态是什么?它们是否支持invokedynamic(对我来说不是强制性的,但是有优势)?我可以使用哪些操作系统?他们各自的利弊是什么?

2 个答案:

答案 0 :(得分:10)

过了一段时间,现在有Jasmin替代Krakatau。{/ p>

来自README.txt

  

Krakatau汇编程序旨在替代Jasmin,最初是由于Jasmin的限制而编写的。它主要向后兼容Jasmin的语法,但不一定与JasminXT中引入的扩展兼容。但是,Krakatau提供了许多新功能,最重要的是能够直接指定常量池引用。

目前看来Krakatau最近一个月前更新过,而Jasmin最近一次更新是在九年前。

Krakatau支持invokedynamic并使用与JVMS中使用的相同的指令名称。

Krakatau是用Python实现的。就个人而言,我喜欢用Java实现我的Java工具,但考虑到这个工具的性质(从非Java源代码构建类文件)以及缺乏竞争,我给它一个机会。 / p>

答案 1 :(得分:8)

Jasmin是事实上的标准。最新版本支持invokedynamic。它是用Java编写的,所以它是可移植的。