搜尋
首頁Javajava教程認識Java--走進Java和Java虛擬機器的發展史

Part I: 走進Java

第一章走進Java

概述

優點:

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

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

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

  • ##實現了熱點程式碼偵測和執行時間編譯及最佳化;

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

Java技術系統

認識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發展史

認識Java--走進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:正規表示式、異常鏈、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技術的未來############模組化###
  • Hybrid language: Use domain-specific languages ​​to solve problems in specific fields

  • Multi-core parallelism

  • Further Rich syntax

  • 64-bit virtual machine

Related recommendations:

The development of Java (history ) Trajectory and historical changes

Detailed Overview of Java Virtual Machine

以上是認識Java--走進Java和Java虛擬機器的發展史的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?Mar 17, 2025 pm 05:46 PM

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?Mar 17, 2025 pm 05:44 PM

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?Mar 17, 2025 pm 05:43 PM

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Mar 17, 2025 pm 05:35 PM

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具