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

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

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

1. JDK, JRE, JVM 的關(guān)系(核心重點(diǎn))

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

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

2. Java 開發(fā)步驟

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

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

3. 注釋 (Comments)

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

  • 單行注釋//

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

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

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

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

優(yōu)點(diǎn)

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

缺點(diǎn)

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

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

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

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

總結(jié)

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

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

相關(guān)文章

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

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

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

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

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

    Spring中的BeanFactory對象實(shí)例化工廠詳解

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

    mybatis一對多兩種mapper寫法實(shí)例

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

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

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

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

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

    簡單了解Spring Framework5.0新特性

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

    Java實(shí)現(xiàn)圖形界面計(jì)算器

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

    SpringBoot如何進(jìn)行業(yè)務(wù)校驗(yàn)實(shí)例詳解

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

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

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

最新評論

页游| 科技| 邯郸市| 卓资县| 休宁县| 土默特右旗| 尉氏县| 邯郸县| 天台县| 永兴县| 明星| 望江县| 忻城县| 屏南县| 孝昌县| 页游| 明水县| 巴林左旗| 鹤庆县| 安顺市| 揭西县| 洛南县| 拉萨市| 九寨沟县| 巍山| 泰兴市| 龙胜| 通榆县| 来凤县| 桂东县| 河间市| 高台县| 永福县| 唐河县| 凉山| 道孚县| 灵石县| 仁寿县| 曲阳县| 沾化县| 广平县|