Java虚拟机 JamVM
JamVM是一个新的Java虚拟机,它符合JVM规范第二版。
其最新版本JamesVM 1.5.2,于2009年2月4日发布。此版本主要修正了一些bug,添加了一点小功能,与2003年发布的JamVM 1.0.0版一致。
JamVM的特点是极小,在PowerPC上仅有大约200KB,而在Intel处理器上仅有180KB。
不像其他的小虚拟机(如KVM),JamVM支持完整的规范,包括支持对象终结(Object Finalization)、软/弱/虚引用、类卸载(class-unloading)、Java本地接口(JNI)和反射API。
JamVM 解释器是高度优化的,吸收了许多最新的技术如stack-caching(堆栈缓存)和direct-threading(直接线程)技术。其最新版本扩 展了这些,包括一个代码复制的JIT编译器,且编译器也可移植。JamVM的大多数代码均用C语言实现,易于移植到新架构。
JamVM支持下列OS/架构:
一、Linux
1)PowerPC
JamVM开发的主要平台,在G3和G4系统得到良好的测试。
2)i386
在i586、i686 (Pentium III)、Pentium 4、Athlon和Core 2 Duo等建立和测试。
3)ARM
运行Linux的iPAQ等
4)AMD64
在AMD Athlon 64、Pentium 4和Core 2 Duo上建立和测试
5)MIPS
在O32 ABI上建立和测试
二、Mac OS X / Darwin
1)PowerPC
Mac OS X 10.3 (Panther)和10.4 (Tiger)上建立和测试
2)PowerPC64
G5上建立和测试
3)i386
Apple MacBook Pro (Intel Core Duo and Core 2 Duo)上建立和测试
4)ARM
使用非官方的toolchain建立并测试
JamVM使用GNU Classpath的Java类库,大量的引用类必须为指定的VM进行修改。使用Classpath的0.97版肯定能工作。
注意:JamVM与Sun或IBM的虚拟机或OpenJDK一起将不能工作。