此係列隨筆是針對《深刻理解Java虛擬機:JVM高級特性與最佳實踐 第2版》的總結html
上一節,咱們搭建好了java的開發環境,這一節,咱們來看Java的技術體系java
如 果 僅 從 傳 統 意 義 上 來 看, Sun 官 方 所 定 義 的 Java 技 術 體 系 包 括 以 下 幾 個 組 成 部 分:編程
- Java程序設計語言
- Java API,包括 Java API類庫 和 來自商業機構以及開源社區的第三方類庫
- Class 文件格式
- 各類硬件平臺上的Java 虛 擬 機
簡稱 | 全稱 | 含義 |
---|---|---|
Java SE | Java Platform Standard Edition | java 平臺標準版 |
JDK | Java SE Development Kit | Java 語言的軟件開發工具包(SDK) |
JRE | Java Runtime Environment | Java運行時環境 |
JVM | Java Virtual Machine | Java虛擬機 |
全稱:Java SE Development Kit —— Java 語言的軟件開發工具包(SDK)安全
咱們能夠把 Java程序設計語言
、Java API類庫
、Java虛擬機
這三部分統稱爲 JDK,JDK是用於支持Java程序開發的最小環境。oracle
JDK的組成結構以下圖(來自 JDK8官方文檔 首頁)
jvm
全稱:Java Runtime Environment —— Java運行時環境編程語言
如上圖,咱們能夠把Java API類庫中的Java SE API子集
和Java虛擬機
這兩部分統稱爲 JRE( Java Runtime Environment),JRE是支持Java程序運行的標準環境。工具
全稱:Java Virtual Machine —— Java虛擬機性能
JVM是一種用於計算設備的規範,它是一個虛構出來的計算機,是經過在實際的計算機上仿真模擬各類計算機功能來實現的。開發工具
三者的關係爲:
JDK包含了JRE
JRE包含了JVM
如 果 按 照 技 術 所 服 務 的 領 域 來 劃 分, 或 者 說 按 照 Java 技 術 關 注 的 重 點 業 務 領 域 來 劃 分, Java 技 術 體 系 可 以 分 爲 4 個 平 臺, 分 別 爲:
- Java Card
支 持 一 些 Java 小 程 序( Applets) 運 行 在
小 內 存 設 備
( 如 智 能 卡) 上 的 平 臺。
- Java ME( Micro Edition)
支 持 Java 程 序 運 行 在
移 動 終 端
( 手 機、 PDA) 上 的 平 臺, 對 Java API 有 所 精 簡, 並 加 入 了 針 對 移 動 終 端 的 支 持, 這 個 版 本 以 前 稱 爲 J2ME。
- Java SE( Standard Edition)
支 持 面 向
桌 面 級 應 用
( 如 Windows 下 的 應 用 程 序) 的 Java 平 臺, 提 供 了 完 整 的 Java 核 心 API, 這 個 版 本 以 前 稱 爲 J2SE。
- Java EE( Enterprise Edition)
支 持 使 用 多 層 架 構 的
企 業 應 用
( 如 ERP、 CRM 應 用) 的 Java 平 臺, 除 了 提 供 Java SE API 外, 還 對 其 作 了 大 量 的 擴 充[ 3] 並 提 供 了 相 關 的 部 署 支 持, 這 個 版 本 以 前 稱 爲 J2EE。
Java能得到如此普遍的承認,除了它擁有一門結構嚴謹、面向對象
的編程語言以外,還有許多不可忽視的優勢:
- 跨平臺
它擺脫了硬件平臺的束縛,實現了「一次編寫、處處運行」
- 相對安全的內存管理和訪問機制
它提供了一個相對安全的內存管理和訪問機制,避免了絕大部分的內存泄露和指針越界問題
- 熱點代碼檢測和運行時編譯及優化
它實現了熱點代碼檢測和運行時編譯及優化,這使得Java應用能隨着運行時間的增長而得到更高的性能
- 完整的應用程序接口和第三方類庫
它有一套完整的應用程序接口,還有無數來自商業機構和開源社區的第三方類庫來幫助它實現各類各樣的功能