標籤:熱點代碼 第三方類 port support 檢測 多核 .com html util
Java優點:
- 一次編寫,到處運行
- 安全的記憶體管理和訪問機制
- 熱點代碼檢測和運行時編譯及最佳化
- 完善的應用程式介面
- 無數的第三方類庫等
廣義上講,能夠運行於Java虛擬機器上的語言及相關程式都屬於Java技術體系。
傳統意義上講,Sun定義的Java技術體系包括:
-
Java程式設計語言
-
各種硬體平台上的Java虛擬機器
-
Class檔案格式
-
Java API類庫
-
來自商業機構和開源社區的第三方Java類庫
?
JDK是支援Java開發的最小環境,包括Java程式設計語言,Java虛擬機器和Java API類庫三部分
JRE是支援Java運行的標準環境,包括Java API中Java SE API和Java虛擬機器
為Java技術體系所包含的內容1
回到頂部主流JVM
- Sun HotSpot VM
- BEA JRocket VM
- IBM J9 VM
回到頂部Java技術未來
模組化
- Java SE動態組件支援(Dynamic Component Support for Java SE),即OSGI
- OpenJDK的Jigsaw子項目推動Java模組化
混合語言
虛擬機器不和包括Java在內的任何語言綁定,它只與Class檔案關聯。因此只要符合Java虛擬機器規範,任何一門語言編譯出的Class檔案都是可以被接受的。
目前在JVM上啟動並執行指令碼語言Top5:Groovy,JRuby,Scala,Fantom,Jython
多核並行
JDK1.5引入的java.util.concurrent包實現了粗粒度的並發架構,JDK1.7加入的java.util.concurrent.forkjoin對這一架構進行了重要擴充。
OpenJDK子項目Sumatra利用GPU和APU運算能力,提供Java語言層面的API支援
Hadoop, Scala, Clojure等
進一步豐富的文法
- 自動裝箱、泛型、動態註解、枚舉、可變長參數、遍曆迴圈等文法
- OpenJDK子項目Coin用來收集處理Java文法細節修改
64位虛擬機器
64位虛擬機器相對於32位存在指標膨脹和各種資料類型對齊問題,多消耗額外10%-30%的記憶體。JDK 1.6提供了-XX:+UserCompressedOops用於普通對象指標壓縮。但是毫無疑問,主流虛擬機器終將會發展至64位。
Java技術體系