最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎入門之JDK、JRE、JVM關系詳解及開發(fā)流程

 更新時間:2026年01月29日 10:46:34   作者:cyforkk  
Java開發(fā)中的JDK、JRE和JVM是三個至關重要的概念,它們構成了Java應用程序的運行基礎,這篇文章主要介紹了Java基礎入門之JDK、JRE、JVM關系詳解及開發(fā)流程的相關資料,需要的朋友可以參考下

1. JDK, JRE, JVM 的關系(核心重點)

它們是 包含關系,從下到上層層嵌套,共同支撐Java程序的運行與開發(fā)。

  • JVM (Java Virtual Machine):Java虛擬機
    • 是Java程序的“運行引擎”,負責將字節(jié)碼翻譯成底層系統(tǒng)可執(zhí)行的機器碼。
    • 核心作用是屏蔽操作系統(tǒng)差異,實現(xiàn)“一次編寫,到處運行”(Write Once, Run Anywhere)。
    • 單獨存在無法運行程序,因為它缺少核心類庫(如java.lang包)。
  • JRE (Java Runtime Environment):Java運行環(huán)境
    • 公式:JRE = JVM + 核心類庫 (Libs)
    • 作用:提供運行Java程序所需的基礎環(huán)境,包括JVM和標準類庫。
    • 適用場景:僅需要運行已編譯的Java程序(如運行Minecraft客戶端)。
  • JDK (Java Development Kit):Java開發(fā)工具包
    • 公式:JDK = JRE + 開發(fā)工具 (javac, java, jdb等)
    • 作用:為開發(fā)者提供編譯、調(diào)試、文檔生成等工具,是開發(fā)Java程序的必備環(huán)境。

2. Java 開發(fā)步驟

Java是半編譯半解釋型語言,標準開發(fā)流程分為三步,通過mermaid流程圖直觀展示:

  1. 編寫 (Write)
    • 創(chuàng)建.java源文件(如HelloWorld.java),編寫人類可讀的Java代碼。
  2. 編譯 (Compile)
    • 使用javac命令將源代碼編譯為.class字節(jié)碼文件(如javac HelloWorld.java)。
    • 字節(jié)碼是JVM可識別的中間代碼,與操作系統(tǒng)無關。
  3. 運行 (Run)
    • 使用java命令啟動JVM并加載字節(jié)碼(如java HelloWorld,注意不加.class后綴)。
    • JVM通過解釋器或JIT(Just-In-Time)編譯器將字節(jié)碼轉(zhuǎn)換為本地機器碼執(zhí)行。

3. 注釋 (Comments)

注釋是給程序員看的說明,Java編譯器會忽略。共有三種類型:

  • 單行注釋//

    // 這是一個單行注釋,僅限一行
    int a = 10;
    
  • 多行注釋/* ... */

    /* 這是一個多行注釋
       可以跨行書寫
       不會被編譯執(zhí)行 */
    
  • 文檔注釋/** ... */(重要)

    • 通常用于類、方法、變量上方,可通過javadoc命令生成HTML文檔。
    /**
     * 這是一個文檔注釋
     * @author 作者名
     * @version 1.0
     */
    public class Demo { }
    

4. Java 語言的優(yōu)缺點

優(yōu)點

  1. 跨平臺性:JVM屏蔽底層差異,實現(xiàn)“一次編寫,到處運行”。
  2. 面向?qū)ο?/strong>:支持封裝、繼承、多態(tài),適合開發(fā)大型企業(yè)級系統(tǒng)。
  3. 健壯性:強類型機制、異常處理、自動垃圾回收(GC),減少內(nèi)存泄漏風險。
  4. 生態(tài)強大:擁有Spring、大數(shù)據(jù)框架(如Hadoop)、海量開源庫,功能覆蓋全面。
  5. 多線程支持:內(nèi)置多線程機制,易于開發(fā)高并發(fā)應用。

缺點

  1. 語法繁瑣:相比Python/Go,需編寫更多“樣板代碼”(如Getter/Setter,可通過Lombok插件緩解)。
  2. 啟動慢:JVM冷啟動較慢,不適合輕量級腳本或Serverless場景。
  3. 內(nèi)存占用高:Java應用通常比C++應用占用更多內(nèi)存。

5. JVM 的核心原理(補充)

JVM運行時將內(nèi)存劃分為不同區(qū)域,核心區(qū)域包括:

  1. 堆 (Heap)
    • 存放所有new出來的對象實例,是GC的主要工作區(qū)域。
  2. 棧 (Stack)
    • 存放局部變量和方法調(diào)用,方法執(zhí)行完畢后棧內(nèi)存自動釋放。
  3. 方法區(qū) (Method Area)
    • 存放類的元數(shù)據(jù)、常量池、靜態(tài)變量等信息。

總結

Java的跨平臺性依賴于JVM的“翻譯”能力——JVM針對不同操作系統(tǒng)提供對應版本,將統(tǒng)一的.class字節(jié)碼轉(zhuǎn)換為本地機器碼。理解JDK、JRE、JVM的關系,以及Java開發(fā)流程和JVM內(nèi)存結構,是掌握Java基礎的關鍵。這些知識不僅幫助初學者建立系統(tǒng)認知,也為后續(xù)學習高級特性(如GC調(diào)優(yōu)、多線程)打下堅實基礎。

到此這篇關于Java基礎入門之JDK、JRE、JVM關系詳解及開發(fā)流程的文章就介紹到這了,更多相關JDK、JRE、JVM關系詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring中的@Autowired注解深入解析與實戰(zhàn)指南

    Spring中的@Autowired注解深入解析與實戰(zhàn)指南

    本文介紹了Spring框架中的@Autowired注解,詳細講解了其基本用法、高級用法以及實際應用場景,通過@Autowired注解,Spring容器可以自動將依賴的Bean注入到目標Bean中,從而簡化代碼并提高可維護性,需要的朋友可以參考下
    2024-11-11
  • Java之泛型在使用過程全解析

    Java之泛型在使用過程全解析

    這篇文章介紹了泛型的基本概念及其在Java中的應用,泛型通過統(tǒng)一類型參數(shù)消除了強轉(zhuǎn)問題,廣泛應用于集合類(如List、Set、Map)中,確保元素類型一致,文章還詳細解釋了泛型類、泛型方法、子類繼承、類型限制(上限和下限)、泛型擦除以及橋接方法等關鍵概念
    2025-09-09
  • Spring中的BeanFactory對象實例化工廠詳解

    Spring中的BeanFactory對象實例化工廠詳解

    這篇文章主要介紹了Spring中的BeanFactory對象實例化工廠詳解,BeanFactory及其子類是Spring IOC容器中最重要的一個類,BeanFactory由類名可以看出其是一個Bean工廠類,其實它確實是一個Bean工廠類,完成Bean的初始化操作,需要的朋友可以參考下
    2023-12-12
  • mybatis一對多兩種mapper寫法實例

    mybatis一對多兩種mapper寫法實例

    這篇文章主要介紹了mybatis一對多兩種mapper寫法實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Java的線程阻塞、中斷及優(yōu)雅退出方法詳解

    Java的線程阻塞、中斷及優(yōu)雅退出方法詳解

    這篇文章主要介紹了Java的線程阻塞、中斷及優(yōu)雅退出方法詳解,Java中的線程阻塞是指當一個線程無法繼續(xù)執(zhí)行時,它會進入阻塞狀態(tài),直到某個條件滿足后才能繼續(xù)執(zhí)行,線程阻塞可以通過多種方式實現(xiàn),需要的朋友可以參考下
    2023-10-10
  • Java中循環(huán)冗余校驗(CRC32)的實現(xiàn)

    Java中循環(huán)冗余校驗(CRC32)的實現(xiàn)

    CRC校驗實用程序庫在數(shù)據(jù)存儲和數(shù)據(jù)通訊領域,為了保證數(shù)據(jù)的正確,就不得不采用檢錯的手段,下面這篇文章主要給大家介紹了關于Java中循環(huán)冗余校驗(CRC32)實現(xiàn)的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • 簡單了解Spring Framework5.0新特性

    簡單了解Spring Framework5.0新特性

    這篇文章主要介紹了簡單了解Spring Framework5.0新特性,涉及了核心框架修訂,核心容器更新,使用Kotlin進行函數(shù)式編程等幾個方面的介紹,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Java實現(xiàn)圖形界面計算器

    Java實現(xiàn)圖形界面計算器

    這篇文章主要為大家詳細介紹了Java實現(xiàn)圖形界面計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • SpringBoot如何進行業(yè)務校驗實例詳解

    SpringBoot如何進行業(yè)務校驗實例詳解

    這篇文章主要給大家介紹了關于SpringBoot如何進行業(yè)務校驗的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • Java通用BouncyCastle實現(xiàn)的DES3加密的方法

    Java通用BouncyCastle實現(xiàn)的DES3加密的方法

    這篇文章主要介紹了Java通用BouncyCastle實現(xiàn)的DES3加密的方法,本文給大家介紹的非常詳細,對大家的學習或工作,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12

最新評論

福海县| 辉南县| 韩城市| 遂昌县| 黄陵县| 卢龙县| 彩票| 兴安盟| 珲春市| 滨海县| 阳信县| 上思县| 宁德市| 商丘市| 连云港市| 镇江市| 鄂托克旗| 依兰县| 安国市| 沙雅县| 越西县| 周口市| 鄂托克旗| 福贡县| 宜都市| 鞍山市| 千阳县| 惠东县| 徐水县| 通山县| 乌鲁木齐市| 遵化市| 花垣县| 敖汉旗| 西林县| 华蓥市| 玉龙| 永丰县| 定安县| 临夏市| 翁牛特旗|