【從零開始java學習|第一篇】java中的名詞概念(JDK、JVM、JRE等等)

目錄

一、核心運行環境三要素(JVM/JRE/JDK)

二、常用開發指令(JDK 自帶工具)

三、一些其他概念

四、總結核心邏輯鏈

要入門 Java,理解核心概念之間的關系是基礎。以下是 Java 中最核心的基礎概念、工具及相關名詞的整理,包含它們的含義、區別和記憶方法:

一、核心運行環境三要素(JVM/JRE/JDK)

這三個是 Java 跨平臺特性的核心,從包含關系上:JDK ? JRE ? JVM

  1. JVM(Java Virtual Machine,Java 虛擬機)

    • 含義:是一臺 “虛擬的計算機”,負責執行 Java 字節碼(.class 文件)。
    • 作用:Java 的 “跨平臺” 核心 —— 不同操作系統(Windows/macOS/Linux)有不同的 JVM 實現,但都能執行相同的字節碼,實現 “一次編寫,到處運行”(Write Once, Run Anywhere)。
    • 特點:本身不直接運行 Java 源文件(.java),只運行編譯后的字節碼(.class)。
  2. JRE(Java Runtime Environment,Java 運行時環境)

    • 含義:是 Java 程序運行所需的最小環境。
    • 組成:包含?JVM?+ 運行 Java 程序必需的核心類庫(如java.lang包中的基礎類)。
    • 用途:如果只需要運行別人寫好的 Java 程序(比如.jar文件),安裝 JRE 即可。
  3. JDK(Java Development Kit,Java 開發工具包)

    • 含義:是 Java 開發人員必須安裝的工具包。
    • 組成:包含?JRE?+ 開發工具(編譯器、調試器、文檔工具等)。
    • 用途:用于編寫、編譯、調試 Java 程序。開發者必須安裝 JDK(因為包含編譯工具javac)。

對于這些概念,可以通過這樣來理解
用 “工具箱” 比喻:

  • JVM 是 “發動機”(執行核心);
  • JRE 是 “能讓發動機跑起來的整套系統”(發動機 + 基礎燃料 / 零件);
  • JDK 是 “帶維修工具的全套系統”(包含 JRE,再加扳手 / 螺絲刀等開發工具)。

二、常用開發指令(JDK 自帶工具)

這些指令在命令行中使用,是 JDK 工具的入口:

  1. javac

    • 含義:Java 編譯器(compiler)。
    • 功能:將 Java 源文件(.java)編譯為字節碼文件(.class)。
    • 示例:javac HelloWorld.java?→ 生成HelloWorld.class
  2. java

    • 含義:Java 運行工具。
    • 功能:啟動 JVM,并讓 JVM 加載并執行指定的.class 字節碼文件(注意:執行時不需要寫.class后綴)。
    • 示例:java HelloWorld?→ JVM 執行HelloWorld.class
  3. javadoc

    • 含義:Java 文檔生成工具(document)。
    • 功能:從 Java 源文件的注釋(以/** ... */格式)中提取內容,生成 HTML 格式的 API 文檔。
    • 示例:javadoc HelloWorld.java?→ 生成文檔文件夾。
  4. jar

    • 含義:Java 歸檔工具(Java Archive)。
    • 功能:將多個.class 文件、資源文件打包成.jar文件(類似壓縮包),方便分發和運行(如一個 Java 程序可能包含多個.class,打包后只需傳輸一個.jar)。
    • 示例:jar cvf MyApp.jar *.class?→ 將所有.class 打包成 MyApp.jar。
  5. jdb

    • 含義:Java 調試器(debugger)。
    • 功能:用于調試 Java 程序(設置斷點、查看變量、單步執行等)。不過實際開發中更多用 IDE(如 IDEA)的圖形化調試工具,較少直接用命令行 jdb。

記憶方法
通過指令中的 “關鍵詞” 聯想功能:

  • javac:c = compile(編譯)→ 編譯源文件;
  • java:直接對應 “運行 Java”;
  • javadoc:doc = document(文檔)→ 生成文檔;
  • jar:archive(歸檔)→ 打包文件;
  • jdb:db = debugger(調試器)→ 調試程序。

三、一些其他概念

  1. 字節碼(Bytecode)

    • 含義:.java 文件經javac編譯后生成的中間代碼(.class 文件內容)。
    • 特點:不是機器碼(不能直接被 CPU 執行),但能被 JVM 識別并執行,是 Java 跨平臺的關鍵(“一次編譯,到處運行” 的中間載體)。
  2. .java 文件 vs .class 文件

    • .java:Java 源文件,開發者編寫的代碼(人類可讀)。
    • .class:編譯后的字節碼文件(JVM 可讀),不可直接修改(除非反編譯)。
  3. Java 三大平臺

    • Java SE(Standard Edition,標準版):基礎平臺,包含核心類庫(如集合、IO、多線程等),是其他平臺的基礎,用于開發桌面應用或簡單程序。
    • Java EE(Enterprise Edition,企業版):在 SE 基礎上擴展,用于開發企業級應用(如網站、分布式系統),包含 Servlet、JSP、數據庫連接等技術。
    • Java ME(Micro Edition,微型版):針對嵌入式設備(如手機、智能家電)的簡化版,現已逐漸被 Android 替代。
  4. IDE(Integrated Development Environment,集成開發環境)

    • 含義:集成了代碼編輯、編譯、調試、運行等功能的工具,簡化開發流程。
    • 常用工具:IntelliJ IDEA(主流)、Eclipse、NetBeans 等。
  5. 類庫(Class Library)

    • 含義:Java 官方或第三方提供的預定義類和方法的集合(如java.util包的工具類、java.io的輸入輸出類),開發者可直接調用,無需重復編寫。
  6. JIT 編譯器(Just-In-Time Compiler,即時編譯器)

    • 含義:JVM 的一部分,會將頻繁執行的字節碼實時編譯為機器碼(直接被 CPU 執行),提高程序運行效率(字節碼解釋執行較慢,JIT 優化后速度接近原生程序)。

記憶方法

  • 字節碼:“中間翻譯官”—— 介于.java(人類寫)和機器碼(CPU 讀)之間;
  • 三大平臺:SE(基礎款)、EE(企業款)、ME(迷你款);
  • JIT:“即時優化器”—— 讓 JVM 執行更快的 “加速器”。

四、總結核心邏輯鏈

開發 Java 程序的流程:
編寫.java源文件?→ 用javac編譯 → 生成.class字節碼?→ 用java指令啟動JVM?→ JVM 執行字節碼(依賴JRE的類庫)。
整個過程中,開發者需要JDK(因為包含javac等工具),而用戶只需JRE即可運行程序。

如果我的內容對你有幫助,請點贊,評論,收藏。接下來我將繼續更新相關內容!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/92624.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92624.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92624.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UVa12345 Dynamic len(set(a[L:R]))

[TOC](UVa12345 Dynamic len(set(a[L:R]))) 題目鏈接 UVA - 12345 Dynamic len(set(a[L:R])) 題意 有編號從 0 到 n?1 的 n 個數,有兩種操作: Q L R 詢問編號 L 到編號 R?1 的數中有多少個不同的數字。M X Y 將編號為 X 的數字改為 Y。 你的任務就是…

[Ubuntu] VNC連接Linux云服務器 | 實現GNOME圖形化

將桌面環境修改為 GNOME 并通過 VNC 遠程訪問的步驟 & TightVNC 的安裝與配置說明:1. 安裝 GNOME 桌面環境 sudo apt update sudo apt install ubuntu-gnome-desktop -y2. 安裝 TightVNC 服務器 sudo apt install tightvncserver -y3. 初始化 VNC Server 并設置…

進程、網絡通信方法

一、進程間通信(IPC)方法 適用于同一臺主機上的進程間數據交換。 管道(Pipe) 匿名管道:單向通信,僅用于父子進程。 命名管道(FIFO):通過文件系統路徑訪問,支持無親緣關系進程。 消息隊列(Message Queue) 結構化消息(類型+數據),按類型讀取,支持異步通信。…

[激光原理與應用-241]:設計 - 266n皮秒深紫外激光器,哪些因素影響激光器紫外光的輸出功率?

一、短期穩定性266nm皮秒深紫外激光器紫外光輸出功率的穩定性受非線性晶體性能、光學系統設計、熱管理效果、重復頻率與脈沖能量匹配度、環境干擾控制等因素影響,具體分析如下:1. 非線性晶體性能晶體選擇與狀態:BBO(偏硼酸鋇&…

Django配置sqllite之外的數據庫

當連接到其他數據庫后端時,如 MariaDB、MySQL、Oracle 或 PostgreSQL,將需要額外的連接參數。請參閱下面的 ENGINE 配置,了解如何指定其他數據庫類型。這個例子是針對 PostgreSQL: 在django項目的settings.py文件里,關…

銀河通用招人形機器人強化學習算法工程師了

人形強化學習算法工程師(26屆)(崗位信息已通過jobleap.cn授權,可在csdn發布)銀河通用機器人 北京收錄時間: 2025年08月11日職位描述1. 研發基于深度強化學習的足式機器人運動控制算法,提升機器…

使用MongoDB存儲和計算距離

一、MongoDB 計算距離的優勢 優勢說明原生地理空間索引支持 2dsphere 索引,高效處理地理坐標查詢(毫秒級響應)。內置地理計算函數提供 $near、$geoWithin、$geoNear 等操作符,無需手動實現復雜計算。高性能基于B樹索引優化&#…

鴻蒙開發-ArkUI中@Type作用詳細解答

在鴻蒙(HarmonyOS)應用開發中,Type 是 ArkUI 框架中用于 類型定義和類型檢查 的關鍵注解(裝飾器)。它的主要作用是為自定義組件的屬性提供明確的類型約束,確保數據傳遞的類型安全性。 核心作用解析&#xf…

MCU中的存儲器映射(Memory Map)

MCU中的存儲器映射(Memory Map) 在MCU(微控制器單元)中,存儲器映射(Memory Map)是指將不同類型的存儲器(如Flash、RAM、外設寄存器等)和功能模塊分配到統一的地址空間的過程。這種映射方式使得CPU可以通過訪問特定地址來讀寫數據或控制外設,而無需關心物理存儲介質的…

Rust面試題及詳細答案120道(11-18)-- 控制流與函數

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

數據結構-排序(2)

一、堆排序 (借助樹)1.利用完全二叉樹構建大頂堆 2.堆頂元素和堆底元素進行交換,堆底元素不再參與構建,剩余元素繼續構建大頂堆3.時間復雜度 O(nlogn)1.完全二叉樹:按照從上到下,從左到右的順序進行排序2.…

Qt-信號和槽

一.信號和槽概念1. 信號(Signal)概念:信號是 Qt 對象在狀態發生變化或事件發生時自動發出的通知。比如按鈕被點擊、文本框內容變化、定時器超時等,都會發出相應信號。本質:它只是一個函數聲明(沒有函數體&a…

NLP學習開始-02邏輯回歸

邏輯回歸什么是邏輯回歸邏輯回歸的應用場景邏輯回歸幾個重要概念Sigmoid 函數損失函數構建邏輯回歸模型的步驟舉個例子參數解釋模型優化什么是邏輯回歸 邏輯回歸(Logistic Regression)是一種廣泛應用于分類問題的統計學習方法,盡管名字中帶有…

【運維進階】LAMPLNMP 最佳實踐

LAMP/LNMP 最佳實踐 LAMP/LNMP 組件 LAMP:LinuxApacheMysql/MariadbPHP/Python/Perl。 LNMP:LinuxNginxMysql/MariadbPHP/Python/Perl。 Linux:操作系統,提供程序運行基礎。Apache/Nginx:Web 服務器,提供網…

深入解析 resolv.conf 文件:DNS 配置的核心

/etc/resolv.conf 文件是 Linux 和類 Unix 系統中 DNS 配置的核心組件。它決定了系統如何將域名解析為 IP 地址,這是網絡通信的關鍵環節。本文將深入探討 resolv.conf 文件的核心內容,重點講解 nameserver 指令以及 options 配置中的 attempts 和 rotate…

【LeetCode】102 - 二叉樹的層序遍歷

題目描述 給你二叉樹的根節點 root,返回其節點值的層序遍歷(即逐層地,從左到右訪問所有節點)。 解題思路 使用 BFS(廣度優先搜索)的思想,維護當前層的所有節點,逐層處理:…

計算機網絡1-5:計算機網絡的性能指標

目錄 常用性能指標 速率 帶寬 吞吐量 時延 時延帶寬積 ?往返時間 ?利用率 ?丟包率 常用性能指標 性能指標可以從不同的方面來度量計算機網絡的性能 常用的計算機網絡的性能指標有8個:速率、帶寬、吞吐量、時延、時延帶寬積、往返時間、利用率、丟包率 速率 比特…

TDengine IDMP 文檔介紹

TDengine IDMP (Industrial Data Management Platform) 是一款 AI 原生的物聯網、工業數據管理平臺。它通過經典的樹狀層次結構組織傳感器、設備采集的數據,建立數據目錄,對數據提供語境化、標準化的處理、并提供實時分析、可視化、事件管理與報警等功能…

使用 iFLOW-CLI GitHub Action 和 Qwen3-Coder 給 GitHub 倉庫生成幻燈片風格的文檔站點

阿里的心流 https://www.iflow.cn/ 團隊最近開源了一款基于終端的 AI Agent 工具 iFLOW CLI, 目前可以免費使用到強大的 Qwen3-Coder、Kimi K2 等模型。又是一款類似 Anthropics Claude Code 的產品。 iFlow CLI 是一款直接在終端中運行的強大 AI 助手。它能夠無縫分析代碼倉庫…

【2025最新】在 macOS 上構建 Flutter iOS 應用

推薦超級課程: 本地離線DeepSeek AI方案部署實戰教程【完全版】Docker快速入門到精通Kubernetes入門到大師通關課AWS云服務快速入門實戰 目錄軟件要求操作系統開發工具文本編輯器或集成開發環境安裝 Flutter SDK下載并安裝 Flutter將 Flutter 添加到您的PATH配置 i…