JamVM 2.0.0 发布,超小型 Java 虚拟机

jopen 4年前

JamVM 2.0.0 发布,这是首个支持 OpenJDK 的版本,包括 6、7 和 8 版本,完全支持 JSR 292 (invokedynamic) ,完全支持 Lambda 表达式和类型注解 (JSR 308) 以及方法参数反射。完整的改进记录请看这里

JamVM是一个新的Java虚拟机,它符合JVM规范第二版。

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.oschina.net/news/55495/jamvm-2-0-java-vm