認識Java--走進Java和Java虛擬機器的發展史

來源:互聯網
上載者:User

Part I: 走進Java

第一章 走進Java

概述

優點:

  • 結構嚴謹,物件導向的程式設計語言;

  • 擺脫硬體平台的束縛,實現了“一次編寫,到處運行”的理想;

  • 提供相對安全的記憶體管理和訪問機制,避免了絕大部分的記憶體流失和指標越界問題;

  • 實現了熱點代碼檢測和運行時編譯及最佳化;

  • 有一套完善的應用介面程式介面以及無數的第三方類庫;

Java技術體系

JDK是用於支援Java開發的最小環境,包含Java程式設計語言、Java虛擬機器、Java API類庫三部分;

JRE是支援Java程式啟動並執行標準環境,包含Java API類庫中的Java SE API 子集和Java虛擬機器兩部分;

按照Java技術關注的重點業務領域來劃分,Java技術體系可分為4個平台:

  • Java Card:支援Applets(Java小程式)運行在小記憶體裝置(如智慧卡)上的平台;

  • Java ME(Micro Edition):支援Java運行在移動終端上的平台;(今有Android SDK)

  • Java SE(Standard Edition):支援面向案頭級應用的Java平台;

  • Java EE(Enterprise Edition):支援使用多層架構的企業級應用(如ERP、CRM應用)的Java平台;

Java發展史

  • JDK 1.0:Java虛擬機器、Applet、AWT等;

  • JDK 1.1:JAR檔案格式、JDBC、JavaBeans、RMI、內部類、反射;

  • JDK 1.2:拆分為J2SE/J2EE/J2ME、內建JIT編譯器、一系列Collections集合類;

  • JDK 1.3:JNDI服務、使用CORBA IIOP實現RMI通訊協定、Java 2D改進;

  • JDK 1.4:Regex、異常鏈、NIO、日誌類、XML解析器和XSLT轉換器;

  • JDK 1.5:自動裝箱、泛型、動態註解、枚舉、可變參數、遍曆迴圈、改進了Java記憶體模型、提供了java.util.concurrent並發包;

  • JDK 1.6:提供動態語言支援、提供編譯API和微型HTTP伺服器API、虛擬機器最佳化(鎖與同步、垃圾收集、類載入等);

  • JDK 1.7:G1收集器、加強對Java語言的調用支援、升級類載入架構;

  • JDK 1.8:Lambda運算式、函數式介面等;

Java虛擬機器發展史
  • Sun Classic/Extract VM:Classic VM是第一款商用虛擬機器,純解析器方式來執行Java代碼,如果要使用JIT編譯器就必須進行外掛,解析器和編譯器不能配合工作,編譯器執行效率非常差;Exact VM是Sun虛擬機器團隊曾在Solaris平台發布的虛擬機器,支援兩級即時編譯器、編譯器和解譯器混合工作、使用準確記憶體管理(虛擬機器可以知道記憶體中某個位置的資料具體是什麼類型),但很快就被HotSpot VM所取代;

  • Sun HotSpot VM:Sun JDK和OpenJDK所帶的虛擬機器,目前使用範圍最廣;繼承了前兩款虛擬機器的優點,還支援熱點代碼探測技術(通過計數器找出最具編譯價值的代碼);2006年Sun公司宣布JDK包括HotSpot VM開源,在此基礎上建立OpenJDK;

  • Sun Mobile-Embedded VM/Meta-Circular VM:一些Sun開發的面對移動和嵌入式發布的和實驗性質的虛擬機器;

  • BEA Jrockit/IDM J9 VM:JRockit VM曾經號稱是世界上最快的Java虛擬機器,專註於伺服器端應用,不包含解析器實現,全部靠即時編譯器編譯執行;J9 VM定位於HotSpot比較接近,主要目的是作為IBM公司各種Java產品的執行平台;

  • Azul VM/BEA Liquid VM:特定硬體平台專有的高效能虛擬機器;

  • Apache Harmony/Google Android Dalvik VM:Apache Harmony包含自己的虛擬機器和Java庫,但沒有通過TCK認證;Dalvik VM是Android平台的核心組成部分,其並沒有遵循Java虛擬機器規範,不能直接執行Class檔案,使用的是寄存器架構而不是JVM常見的棧架構;

  • Microsoft JVM及其他:微軟曾經是Java技術的鐵杆支援者,開發過Windows下效能最好的Java虛擬機器,但後來被Sun起訴終止其發展;

展望Java技術的未來
  • 模組化

  • 混合語言:通過特定領域的語言去解決特定領域的問題

  • 多核並行

  • 進一步豐富文法

  • 64位虛擬機器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.