1
6
Hotspot (GPL,太阳) Harmony (Apache,也是Android的Dalvik虚拟机的基础) CLDC - Connected Limited Device Configuration (再次声明)这个不是真正的开放源码,但是源代码是可用的。 |
2
10
退房 Alternative Java Implementations 或 links page 的 Kaffe 您将在下面找到其摘要的虚拟机(请检查原始站点中的链接):
这两个列表都不是最新的,也不是像 OpenJDK 或 Apache Harmony 不见了。 也就是说,我不知道您所说的“好的开源实现”到底是什么意思。对每个人来说,好并不意味着相同的事情,可能取决于环境。Kaffe是虚拟机教育和/或研究的理想选择,IBM的Jikes有一个非常快速的编译器,OpenJDK可能非常成熟,但可能不是用于教育目的的最佳选择,等等。它们都是很好的实现,但我不知道哪一个对您来说是“更好”的。事实上,我会让你决定的。 |
3
3
我不认为,OpenJDK源代码是学习编写虚拟机的一个很好的起点。它太大了,太具体了。周围还有其他选择,比如:
有一个好 Wikipedia entry 关于可选的JVM实现。其中有些已经在这里提到过,有些没有。 |
4
2
以下是两个玩具合资企业: |
5
0
当然要使用RQ提供的源代码,但是如果要编写一个JVM,请考虑使用 register based implementation . 正如本文所描述的,基于寄存器的机器确实会导致指令膨胀,但应该更快。而且,由于目前似乎没有任何基于注册的JVM实现,您自己从头开始编写一个这样的实现会带来额外的好处。 |