一贪嫂、Java技術(shù)體系
Sun官方定義的Java技術(shù)體系包括以下幾個組成部分:
- Java程序設(shè)計語言
- 各種硬件平臺上的Java虛擬機
- Class文件格式
- Java API類庫
- 來自商業(yè)機構(gòu)和開源社區(qū)的第三方Java類庫
JDK(Java Development Kit):支持Java程序開發(fā)的最小環(huán)境籍胯。
Java程序設(shè)計語言、Java虛擬機、Java API類庫谈秫。
JRE(Java Runtime Environment):支持Java程序運行的標(biāo)準(zhǔn)環(huán)境惕橙。
Java SE API子集、Java虛擬機谓形。
按照技術(shù)所服務(wù)的領(lǐng)域來劃分灶伊,Java技術(shù)體系可以分為4個平臺:
- Java Card
支持一些Java小程序(Applets)運行在小內(nèi)存設(shè)備(如智能卡)上的平臺。 - Java ME(Micro Edition)
支持Java程序運行在移動終端(手機寒跳、PDA)上的平臺聘萨,對Java API有所精簡,并加入了針對移動終端的支持童太,這個版本以前稱為J2ME米辐。 - Java SE(Standard Edition)
支持面向桌面級應(yīng)用(如Windows下的應(yīng)用程序)的Java平臺,提供了完整的Java核心API书释,這個版本以前稱為J2SE翘贮。 - Java EE(Enterprise Edition)
支持使用多層架構(gòu)的企業(yè)應(yīng)用(如ERP、CRM應(yīng)用)的Java平臺爆惧,除了提供Java SE API外狸页,還對其做了大量的擴充并提供了相關(guān)的部署支持,這個版本以前稱為J2EE扯再。
二芍耘、Java虛擬機發(fā)展史
- Sun Classic / Exact VM
- Sun HotSpot VM
- Sun Mobile-Embedded VM / Meta-Circular VM
- BEA JRockit / IBM J9 VM
- Azul VM / BEA Liquid VM
- Apache Harmony / Google Android Dalvik VM
Dalvik VM是Android平臺的核心組成部分之一,它的名字來源于冰島一個名為Dalvik的小漁村熄阻。Dalvik VM并不是一個Java虛擬機斋竞,它沒有遵循Java虛擬機規(guī)范,不能直接執(zhí)行Java的Class文件饺律,使用的是寄存器架構(gòu)而不是JVM中常見的棧架構(gòu)窃页。但是它與Java又有著千絲萬縷的聯(lián)系跺株,它執(zhí)行的dex(Dalvik Executable)文件可以通過Class文件轉(zhuǎn)化而來,使用Java語法編寫應(yīng)用程序脖卖,可以直接使用大部分的Java API等乒省。在Android 2.2中提供了即時編譯器實現(xiàn)。 - Microsoft JVM及其他