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