JamVM是一个开源的Java虚拟机,遵从GPL2.0协议发布,它符合最新的Java虚拟机规范。它的主要特点是其大小非常小,在PowerPC上仅有大约200KB,而在Intel处理器上仅有180KB。不像其他的小型虚拟机(如Jelatine JVM、SableVM等),JamVM支持完整的Java虚拟机规范。从SourceForge的JamVM站点得知,今年7月底,JamVM 2.0.0发布,这是首个支持OpenJDK 的版本(包括 6、7和最新的8版本),该版本完全支持动态调用(JSR 292)、 Lambda 表达式和类型注解 (JSR 308)以及方法参数反射。同时,还修复了大量的Bug ,性能和兼容性也得到了改进,更多JamVM 2.0.0相关信息请查看发布说明。JamVM具有以下特性:
另外,JamVM的解释器经过了高度优化,吸收了许多最新的技术如堆栈缓存和direct-threading(直接线程)技术。其最新版本扩展了这些,包括一个代码复制的JIT编译器,且编译器也可移植。同时,JamVM为了支持UNIX和POSIX兼容的系统进行了重写,不过在UNIX系统之间仍然存在不兼容的情况。另外,一些架构需要专门的配置(如内存故障等),最后本地调用约定(或者应用二进制接口)是与平台和架构相关的。JamVM支持的主要系统和框架如下:
其中带星号(*)的架构需要使用libffi进行配置。 另外,非常著名的Android虚拟机DVM(Dalvik Virtual Machine )是基于寄存器实现,它是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。2006年,DVM还在开发中,Google的Android团队就使用JamVM开发应用框架。2007年DVM发布, Android团队才使用DVM取代JamVM。 本文转载自:微信公众账号 - InfoQ,版权归原作者所有! |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|