1. 程式人生 > >《深入理解Java虛擬機器—JVM高階特性與實踐 周志明 著》之第1章 走近Java

《深入理解Java虛擬機器—JVM高階特性與實踐 周志明 著》之第1章 走近Java

1、Java的技術體系主要由支撐Java程式執行的虛擬機器、提供各開發領域介面支援的Java API、Java程式語言及許多第三方Java框架(如spring、Struts等)構成。

2、Java的優點:

         1. 擺脫了硬體平臺的束縛,實現了一次編寫,到處執行(跨平臺);

         2. 提供了相對安全的記憶體管理和訪問機制,避免了絕大部分的記憶體洩露和指標越界問題(gc機制);

         3. 實現了熱點程式碼檢測和執行時編譯及優化,使得Java應用隨著執行時間的增加效能提高;

         4. 有一套完善的應用程式介面和第三方開源庫的支援;

3、Java技術體系包括以下幾個組成部分:

         1. Java程式設計語言;

         2. 各種硬體平臺上的Java虛擬機器;

         3. Class檔案格式;

         4. Java API類庫;

4、可以把Java程式設計語言、Java虛擬機器、JavaAPI類庫這三部分統稱為JDK,JDK是用於支援Java程式開發的最小環境。

5、可以把Java API類庫中的JavaSE API子集和Java虛擬機器這兩部分統稱為JRE,JRE是支援Java程式執行的標準環境。

6、Java技術體系可以分為4個平臺:

         1. Java Card:支援Java小程式執行在小記憶體裝置上的智慧卡;

         2. Java ME:支援Java程式執行在移動終端上的平臺,最終被Android取代;

         3. Java SE:支援面向桌面級應用的Java平臺,提供了完整的Java核心API;

         4. Java EE:支援使用多層架構的企業級應用的Java平臺;

7、JDK相關版本的新特性:

         1. JDK1.5新特性:自動裝箱、自動拆箱、泛型、動態註解、列舉、可變引數、增強遍歷迴圈;

         2. JDK1.6新特性:提供動態語言支援、提供編譯API和微型HTTP伺服器API;

         3. JDK1.7新特性:提供新的G1收集器、加強對非Java語言的呼叫支援、升級類載入器架構;

         4. JDK1.8新特性:Lambda表示式、Jigsaw和JDK1.7中未實現的一部分Coin;

8、Java虛擬機器的發展:

         1. Sun Classic VM:世界上第一款商用Java虛擬機器,只能使用純直譯器方式來執行Java程式碼;

         2. Sun HotSpot VM:目前使用範圍最廣的Java虛擬機器,熱點程式碼探測技術;

         3. BEA JRockit VM:世界上速度最快的Java虛擬機器,全部程式碼靠即使編譯器編譯後執行;

         4. Google Dalvik VM:Android平臺的核心組成部分;

9、Java技術的未來:

         1. 模組化:解決應用系統與技術平臺越來越複雜、越來越龐大問題的一個重要途徑;

         2. 混合語言:Java虛擬機器支援多語言開發;

         3. 多核並行:JDK1.5引入java.util.concurrent包實現了一個粗粒度的併發框架;