Java Virtual Machine(JVM)是運行所有 Java 程式的抽象計算機,屬軟體模擬實現。擁有想像中的硬體:處理器、堆疊、暫存器、指令集。Java 原始碼編譯為位元組碼,JVM 在執行時將位元組碼解譯為具體平台機器指令。
這就是「一次編譯,到處運行」的技術本質。
「高度優化的 Java 運行環境,主要面向消費類電子設備,如蜂窩電話、可視電話、數位機頂盒、汽車導航系統等。將 Java 平台無關特性移植至小型電子設備,允許移動無線設備間共享應用程式。」
1999 年 JavaOne 大會正式推出,開啟了 Java 進軍嵌入式與行動領域的篇章。
J2ME 將體系劃分為三大塊:JVM、配置、Profile。JVM 位於最底層,直接運作於裝置 OS 之上,為上層配置與 Profile 提供統一的位元組碼執行環境。CLDC 採用 KVM,CDC 採用 CVM,兩者皆為標準 JVM 的針對性縮減與優化。
JVM 是 Java 跨平台的靈魂;J2ME 是 JVM 在資源受限嵌入式世界的專屬映射。理解 JVM 的抽象機器模型與位元組碼執行機制,能幫助開發者在 J2ME 開發中更深入地理解效能瓶頸、記憶體模型與移植性邊界。