JVM_總結_02_Java技術體系

1、前言

此係列隨筆是針對《深刻理解Java虛擬機:JVM高級特性與最佳實踐 第2版》的總結html

上一節,咱們搭建好了java的開發環境,這一節,咱們來看Java的技術體系java

2、Java技術體系

1.按功能劃分

如 果 僅 從 傳 統 意 義 上 來 看, Sun 官 方 所 定 義 的 Java 技 術 體 系 包 括 以 下 幾 個 組 成 部 分:編程

  • Java程序設計語言
  • Java API,包括 Java API類庫 和 來自商業機構以及開源社區的第三方類庫
  • Class 文件格式
  • 各類硬件平臺上的Java 虛 擬 機

1.1 名詞解釋

簡稱 全稱 含義
Java SE Java Platform Standard Edition java 平臺標準版
JDK Java SE Development Kit Java 語言的軟件開發工具包(SDK)
JRE Java Runtime Environment Java運行時環境
JVM Java Virtual Machine Java虛擬機

1.2 JDK

全稱:Java SE Development Kit —— Java 語言的軟件開發工具包(SDK)安全

咱們能夠把 Java程序設計語言Java API類庫Java虛擬機這三部分統稱爲 JDK,JDK是用於支持Java程序開發的最小環境。oracle

JDK的組成結構以下圖(來自 JDK8官方文檔 首頁)
在這裏插入圖片描述jvm

1.3 JRE

全稱:Java Runtime Environment —— Java運行時環境編程語言

如上圖,咱們能夠把Java API類庫中的Java SE API子集Java虛擬機這兩部分統稱爲 JRE( Java Runtime Environment),JRE是支持Java程序運行的標準環境。工具

1.4 JVM

全稱:Java Virtual Machine —— Java虛擬機性能

JVM是一種用於計算設備的規範,它是一個虛構出來的計算機,是經過在實際的計算機上仿真模擬各類計算機功能來實現的。開發工具

1.5 jdk、jre、jvm的關係

三者的關係爲:

JDK包含了JRE
JRE包含了JVM

在這裏插入圖片描述

2.按業務領域劃分

如 果 按 照 技 術 所 服 務 的 領 域 來 劃 分, 或 者 說 按 照 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。

3、Java的優勢

Java能得到如此普遍的承認,除了它擁有一門結構嚴謹、面向對象的編程語言以外,還有許多不可忽視的優勢:

  1. 跨平臺

它擺脫了硬件平臺的束縛,實現了「一次編寫、處處運行」

  1. 相對安全的內存管理和訪問機制

它提供了一個相對安全的內存管理和訪問機制,避免了絕大部分的內存泄露和指針越界問題

  1. 熱點代碼檢測和運行時編譯及優化

它實現了熱點代碼檢測和運行時編譯及優化,這使得Java應用能隨着運行時間的增長而得到更高的性能

  1. 完整的應用程序接口和第三方類庫

它有一套完整的應用程序接口,還有無數來自商業機構和開源社區的第三方類庫來幫助它實現各類各樣的功能

4、參考資料

  1. Java Platform Standard Edition 8 Documentation
  2. 五月的倉頡——Java虛擬機1:什麼是Java
  3. 弄懂JDK、JRE和JVM究竟是什麼
相關文章
相關標籤/搜索