Java虚拟机 JamVM

jopen 11年前

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一起将不能工作。

项目主页:http://www.open-open.com/lib/view/home/1349787830900