arm linux移植jvm,JVM的ARM移植.PDF
JVM的ARM移植
JVM 的 ARM 移植
當今JVM 種類很多,如IBM JVM 、MS JVM 等等。但要把它用到 ARM 上,并非易事。
經(jīng)過測試和對比,最終還是選擇了 SUN 的JVM,其中,J2ME (Java 2 Platform Micro
Edition)是專為移動設備設計的,在移動通信設備上已經(jīng)有了很廣的應用,非常適合我
們在嵌入式中使用。J2ME 根據(jù)硬件資源的限制,分為CLDC (Connected Limited Device
Configuration)和 CDC (Connected Device Configuration),無論是 CLDC 還是 CDC,其
核心都是 Java 虛擬機。CLDC 采用了 KVM,它是一個真正的最小的而又基本上完整的 Java
虛擬機,小到可以裝入幾十 KB 的內存中。CDC 則采用了 CVM,它是一個具有完整的 J2SE
1.3 VM 支持能力的Java 虛擬機,因此也更適合使用、更有效,但又比標準的J2SE VM 小 。
作為一個全功能的 Java 虛擬機,CVM 幾乎支持 J2SE VM 的所有先進特性,包括最底層的調
錯處理和本地語言接口 。
SUN 的JVM 開源后,作為 JAVA 開發(fā)社區(qū)的一個項目,為避免版權問題,J2ME 改名為
phoneME 。CLDC 對應 phoneME Feature,而CDC 對應 phoneME Feature,虛擬機則稱為
CVM 。由于我們有較為豐富的硬件資源,并且為今后更為復雜的開發(fā)考慮,我們選擇了
phoneME Feature,本文的描述,也是針對 phoneME Feature 展開的。
一、CVM SYSTEM MAP
首先,讓我們來看張圖。
這張圖很好表述了CVM 的整個運行過程。遺憾的是本文不打算變成嬰兒讀物,對 JVM
的實現(xiàn)不打算加以介紹,其實SUN 官方網(wǎng)站上有份 《JAVA 虛擬機規(guī)范》,比我在這嘮叨
一半天來得給系統(tǒng)準確 。同時這張圖來 自Mark Lam 的Blog,他是一位SUN 的工程師,在
CVM 的小組中工作,他對這張圖有了很全面的說明,但掃興的是我不打算在這里引用,因
為我不愿就此把這篇文章變成虛擬機實現(xiàn)的專著……
二、如何獲得源碼
JAVA 開源后第一個受益的就是 J2ME,我也希望你能稱為受益者 一。首先,你得獲
取到最新的源代碼:
# svn c o https ://phon eme ./svn /phone me /comp one nts/cldc/trunk cldc
# svn c o https ://phon eme ./svn /phone me /comp one nts/pcsl/trunk pcsl
# svn c o https ://phon eme ./svn /phone me /comp one nts/mi dp/trunk mid p
# svn c o https ://phon eme ./svn /phone me /comp one nts/cdc/trunk c dc
# svn c o https ://phon eme ./svn /phone me /comp one nts/to ols/trunk too ls
# svn c o https ://phon eme ./svn /phone me /comp one nts/jum p/trunk jump
# svn c o https ://phon eme ./svn /phone me /comp one nts/abst racti ons/trunk
abstr action s
三、編譯
一般地,你直接 make 就可以了,如果報錯,可能是你系統(tǒng)缺少一些環(huán)境變量,如
JDK_HOME 、HOST_CC 等,具體請參閱官方網(wǎng)站上的 《CDC Build System Guide》 。一帆風
順的話,不出10分鐘 (對我的破機子來說),你就能編譯出CVM 了。不過我估計你會出許
多問題,譬如說少了某些Linux庫文件或某些工具,這個和你編譯時使用的系統(tǒng)相關,因
人而異,我用的是 Ubuntu 7.10,少了什么系統(tǒng)都會很友善的提示你,并告訴你在線安裝的
方法,裝完重新make 吧,總能成功的 。雖然CVM 支持 JAVA 1.4的規(guī)范,但你仍然可以
用最新的J2SE 1
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的arm linux移植jvm,JVM的ARM移植.PDF的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: msf生成linux shellcode
- 下一篇: linux关闭硬件蜂鸣器,Linux T