我正在尝试编写自己的JVM。你能指点我一些现有的开源实现吗? 感谢。
答案 0 :(得分:10)
答案 1 :(得分:6)
Hotspot(GPL,作者Sun)
Harmony(Apache,也是Android的Dalvik VM的基础)
CLDC - Connected Limited Device Configuration(Sun再次)这个不是真正的开源,但源代码可用。
答案 2 :(得分:3)
我不认为,openjdk源代码是学习编写VM的一个很好的起点。它太大了,太具体了。有类似的替代方案:
关于替代JVM实现有一个很好的Wikipedia entry。其中一些已经在这里提到过,有些则没有。
答案 3 :(得分:2)
以下是两个玩具JVM:
答案 4 :(得分:0)
绝对使用rq提供的源代码,但是如果要编写JVM,请考虑使用register based implementation。正如本文所描述的那样,基于寄存器的机器确实会导致指令臃肿,但应该更快。由于似乎没有任何基于寄存器的JVM实现,因此从头开始编写一个额外的奖励。
答案 5 :(得分:0)
如果你喜欢一些更具异国情调的东西。高级IKVM是一个基于mono / .NET CLR构建的开源JVM。