JamVM 2.0.0 發布,超小型 Java 虛擬機

jopen 10年前發布 | 13K 次閱讀 JamVM

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!