国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java和JDK的關(guān)系;以及JDK版本

這篇具有很好參考價(jià)值的文章主要介紹了Java和JDK的關(guān)系;以及JDK版本。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、Java和JDK的關(guān)系:

Java是一門(mén)面向?qū)ο蟮木幊陶Z(yǔ)言,而JDK(Java Development Kit)則是開(kāi)發(fā)Java應(yīng)用程序所需的軟件開(kāi)發(fā)工具包。Java語(yǔ)言本身與JDK之間存在緊密的依賴關(guān)系,具體如下:

  1. Java語(yǔ)言:定義了語(yǔ)法、語(yǔ)義、數(shù)據(jù)類型、類庫(kù)規(guī)范等編程規(guī)則,是編寫(xiě)Java程序的基礎(chǔ)。

  2. JDK:包含了編譯器(javac)、解釋器(java)、調(diào)試器(jdb)、文檔生成工具(javadoc)等開(kāi)發(fā)工具,以及Java運(yùn)行環(huán)境(JRE)和Java基礎(chǔ)類庫(kù)(Java API)。JRE中包含了Java虛擬機(jī)(JVM)和Java標(biāo)準(zhǔn)類庫(kù),是運(yùn)行Java程序所必需的環(huán)境。因此,可以說(shuō)JDK是Java開(kāi)發(fā)者用來(lái)編譯、運(yùn)行、調(diào)試和維護(hù)Java程序的完整開(kāi)發(fā)工具集。

總結(jié)來(lái)說(shuō),Java語(yǔ)言是抽象的編程規(guī)范,而JDK是實(shí)現(xiàn)這一語(yǔ)言的具體工具集合。要編寫(xiě)和運(yùn)行Java程序,必須安裝相應(yīng)的JDK版本。

二、目前JDK的版本及其發(fā)布時(shí)間、主要特性變化:

以下是Java(JDK)近年來(lái)的主要版本及其發(fā)布日期,以及每個(gè)版本中引入的一些關(guān)鍵特性和改進(jìn):

JDK 8 (LTS)

  • 發(fā)布日期:2014年3月18日
  • 主要特性:
    • Lambda表達(dá)式:極大地簡(jiǎn)化了函數(shù)式編程風(fēng)格,增強(qiáng)了代碼的簡(jiǎn)潔性和可讀性。
    • Stream API:支持對(duì)集合數(shù)據(jù)流進(jìn)行高效、聲明式的處理。
    • 接口的默認(rèn)方法和靜態(tài)方法:允許在接口中定義默認(rèn)實(shí)現(xiàn),增強(qiáng)接口的靈活性和擴(kuò)展性。
    • 新的日期/時(shí)間API(java.time包):替代舊的Date/Calendar類,提供更加豐富和易于使用的日期、時(shí)間、時(shí)區(qū)處理功能。
    • ** Nashorn JavaScript引擎**:內(nèi)置高性能JavaScript執(zhí)行環(huán)境。
    • 并發(fā)改進(jìn):如StampedLock,增強(qiáng)并發(fā)控制能力。
  • 注意“JDK 1.8”這種說(shuō)法實(shí)際上是對(duì)“JDK 8”的一種習(xí)慣性稱呼。這里的“1.8”并非表示JDK的版本號(hào)是1.8,而是指JDK的第8個(gè)主要版本。在Java的發(fā)展歷史中,早期版本的命名方式確實(shí)包含了小數(shù)點(diǎn),如JDK 1.5、JDK 1.6等。但從JDK 7開(kāi)始,官方的命名方式去掉了小數(shù)點(diǎn),直接采用“JDK 7”、“JDK 8”這樣的形式。盡管官方已經(jīng)采用了新的命名方式,但由于習(xí)慣和記憶的原因,很多人仍然沿用舊的命名方式,將“JDK 8”稱為“JDK 1.8”。這種稱呼在開(kāi)發(fā)者社區(qū)中相當(dāng)普遍,尤其是在討論早期JDK版本與后續(xù)版本之間的區(qū)別和兼容性時(shí)。因此,當(dāng)你聽(tīng)到“JDK 1.8”時(shí),你應(yīng)該明白它實(shí)際上指的是“JDK 8”。這是一個(gè)約定俗成的稱呼,盡管它并不完全符合官方的命名規(guī)范。同時(shí),了解這一點(diǎn)也有助于你更好地理解和參與Java開(kāi)發(fā)社區(qū)的討論。

JDK 9 (非LTS)

  • 發(fā)布日期:2017年9月21日
  • 主要特性:
    • 模塊系統(tǒng)(Project Jigsaw):引入模塊化架構(gòu),提升了大型應(yīng)用的組織和部署能力。
    • JShell:交互式Java REPL(Read-Eval-Print Loop),方便快速原型開(kāi)發(fā)和學(xué)習(xí)。
    • HTTP/2客戶端:提供新的API支持HTTP/2協(xié)議。
    • 進(jìn)程API:允許Java程序控制和管理操作系統(tǒng)進(jìn)程。
    • 改進(jìn)的Javadoc:支持HTML5,增強(qiáng)文檔生成工具的功能和樣式。

JDK 10 (非LTS)

  • 發(fā)布日期:2018年3月20日
  • 主要特性:
    • 局部變量類型推斷(var關(guān)鍵字):簡(jiǎn)化變量聲明,特別是在使用Lambda表達(dá)式和流時(shí)。
    • 垃圾回收器接口:為GC實(shí)現(xiàn)提供了統(tǒng)一的接口,便于定制和替換。
    • 根證書(shū)更新機(jī)制:通過(guò)JDK自動(dòng)更新根證書(shū)存儲(chǔ),增強(qiáng)安全性。

JDK 11 (LTS)

  • 發(fā)布日期:2018年9月25日
  • 主要特性:
    • ZGC:低延遲垃圾收集器:實(shí)驗(yàn)性引入,提供接近實(shí)時(shí)的暫停時(shí)間。
    • Epsilon GC:無(wú)操作垃圾收集器:用于性能基準(zhǔn)測(cè)試和特殊場(chǎng)景。
    • HTTP客戶端標(biāo)準(zhǔn)化:將JDK 9的HTTP/2客戶端升級(jí)為標(biāo)準(zhǔn)API。
    • Flight Recorder和Mission Control:用于監(jiān)控、診斷和分析JVM和Java應(yīng)用程序的工具,正式成為JDK一部分。
    • 移除Java EE和CORBA模塊:精簡(jiǎn)JDK,將這些模塊移至獨(dú)立的項(xiàng)目。

JDK 12 - 1.png (非LTS)

  • 發(fā)布日期:2019年3月19日 - 2020年3月17日
  • 主要特性:
    • Switch表達(dá)式(預(yù)覽):增強(qiáng)switch語(yǔ)句,使其能返回值并支持模式匹配。
    • Microbenchmark Suite:內(nèi)置微基準(zhǔn)測(cè)試框架,便于性能評(píng)估。
    • Shenandoah GC:實(shí)驗(yàn)性引入,提供低停頓時(shí)間的并發(fā)垃圾收集器。

JDK 13 - 1.png (非LTS)

  • 發(fā)布日期:2019年9月17日 - 2020年9月15日
  • 主要特性:
    • 文本塊(Text Blocks):簡(jiǎn)化多行字符串的創(chuàng)建和處理。
    • Switch表達(dá)式(正式版):在JDK 12的基礎(chǔ)上完善并正式啟用。

JDK 14 - 1.png (非LTS)

  • 發(fā)布日期:2020年3月17日 - 2021年3月16日
  • 主要特性:
    • Records:簡(jiǎn)化數(shù)據(jù)類的定義,提供簡(jiǎn)潔的語(yǔ)法創(chuàng)建不可變對(duì)象。
    • Pattern Matching for instanceof:增強(qiáng)instanceof運(yùn)算符,支持類型檢查和解構(gòu)賦值。

JDK 15 - 1.png (非LTS)

  • 發(fā)布日期:2020年9月15日 - 2021年9月14日
  • 主要特性:
    • 隱藏類(Hidden Classes):允許動(dòng)態(tài)生成僅供內(nèi)部使用的類,提高性能和內(nèi)存效率。
    • ZGC:并發(fā)線程堆棧處理:增強(qiáng)ZGC對(duì)線程堆棧的并發(fā)處理能力。

JDK 16 (LTS)

  • 發(fā)布日期:2021年3月16日
  • 主要特性:
    • Records:正式啟用,作為Java語(yǔ)言的新特性。
    • Packaging Tool (jpackage):簡(jiǎn)化Java應(yīng)用程序打包為本地平臺(tái)可安裝格式。

JDK 17 (LTS)

  • 發(fā)布日期:2021年9月14日
  • 主要特性:
    • Sealed Classes:限制類的子類化,增強(qiáng)API設(shè)計(jì)的靈活性和安全性。
    • Pattern Matching for switch:增強(qiáng)switch語(yǔ)句,支持模式匹配。

JDK 18 (非LTS)

  • 發(fā)布日期:2022年3月22日
  • 主要特性:
    • Virtual Threads (Project Loom):輕量級(jí)線程( fibers),簡(jiǎn)化并發(fā)編程模型。
    • Structured Concurrency:通過(guò)try-with-resources風(fēng)格的API支持結(jié)構(gòu)化并發(fā)控制。

JDK 19 (非LTS)

  • 發(fā)布日期:2022年9月20日
  • 主要特性:
    • Foreign Function & Memory API (Preview):支持直接調(diào)用C/C++代碼和操作外部?jī)?nèi)存。

請(qǐng)注意,上述列表中,LTS(Long-Term Support)版本通常提供更長(zhǎng)時(shí)間的維護(hù)和支持,適合用于生產(chǎn)環(huán)境。非LTS版本則通常包含更多實(shí)驗(yàn)性或預(yù)覽特性,適合開(kāi)發(fā)人員探索和試用新技術(shù)。同時(shí),每個(gè)版本的具體發(fā)布日期和特性可能隨著Oracle的計(jì)劃有所變動(dòng),建議查閱Oracle官方發(fā)布的最新信息以獲取最準(zhǔn)確的版本詳情。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-861468.html

到了這里,關(guān)于Java和JDK的關(guān)系;以及JDK版本的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Java探索之旅】我與Java的初相識(shí)(二):程序結(jié)構(gòu)與運(yùn)行關(guān)系和JDK,JRE,JVM的關(guān)系

    【Java探索之旅】我與Java的初相識(shí)(二):程序結(jié)構(gòu)與運(yùn)行關(guān)系和JDK,JRE,JVM的關(guān)系

    ?? 嶼小夏 : 個(gè)人主頁(yè) ??個(gè)人專欄 : Java入門(mén)到精通 ?? 莫道桑榆晚,為霞尚滿天! Java作為一門(mén)廣泛應(yīng)用的編程語(yǔ)言,其結(jié)構(gòu)和運(yùn)行環(huán)境對(duì)于初學(xué)者來(lái)說(shuō)可能會(huì)帶來(lái)一些困惑。本文旨在幫助初學(xué)者了解Java程序的基本結(jié)構(gòu)以及可能遇到的一些常見(jiàn)問(wèn)題,同時(shí)解釋了JDK、JRE和

    2024年02月04日
    瀏覽(156)
  • 【Java】后端開(kāi)發(fā)語(yǔ)言Java和C#,兩者對(duì)比注解和屬性的區(qū)別以及作用

    【Java】后端開(kāi)發(fā)語(yǔ)言Java和C#,兩者對(duì)比注解和屬性的區(qū)別以及作用

    歡迎來(lái)到《小5講堂》 大家好,我是全棧小5。 這是《Java》序列文章,每篇文章將以博主理解的角度展開(kāi)講解, 特別是針對(duì)知識(shí)點(diǎn)的概念進(jìn)行敘說(shuō),大部分文章將會(huì)對(duì)這些概念進(jìn)行實(shí)際例子驗(yàn)證,以此達(dá)到加深對(duì)知識(shí)點(diǎn)的理解和掌握。 溫馨提示:博主能力有限,理解水平有限

    2024年01月16日
    瀏覽(28)
  • mac 切換java jdk版本 java8 java11

    mac 切換java jdk版本 java8 java11

    1. ? 終端執(zhí)行命令 ?查看本地各版本jdk:mac通常默認(rèn)安裝了jdk1.8 安裝目錄是?/Library/Java/JavaVirtualMachines/ cd /Library/Java/JavaVirtualMachines/ ls 2. ? 上述命令列出的各版本目錄名 后,在全局配置文件.bash_profile中新增上面命令列出的各版本jdk,并指定當(dāng)前環(huán)境變量默認(rèn)的版本為jdk1.8

    2024年02月16日
    瀏覽(27)
  • 多個(gè) JDK 版本(Java 8、Java 17、Java 21)下載和切換

    多個(gè) JDK 版本(Java 8、Java 17、Java 21)下載和切換

    隨著 Spring Boot 的版本不斷迭代更新,新發(fā)布的 Spring Boot 版本已經(jīng)不再支持 JDK 8, 對(duì) JDK 版本的最低要求為 17 。 所以,為了在實(shí)際中可以任意選擇所需的 JDK 版本,將 多個(gè) JDK 版本切換的方法 總結(jié)如下: JDK 不同版本可以在 Oracle 官網(wǎng)下載, 下載地址 :點(diǎn)此進(jìn)入 選擇所需的

    2024年02月03日
    瀏覽(27)
  • Java/JDK查看版本、歷史版本對(duì)照

    Java/JDK查看版本、歷史版本對(duì)照

    在準(zhǔn)備安裝Android Studio時(shí),需要查看以前安裝的JDK是什么版本的。又想到初學(xué)Java時(shí)對(duì)Java版本和JDK版本各種稱呼的迷惑。因此查了一些資料,這里做個(gè)記錄。 查看電腦已安裝的Java/JDK版本: 鍵盤(pán)按鍵win+R,打開(kāi)快捷窗口,輸入cmd,回車 在控制臺(tái)輸入命令Java --version,適用于新版

    2024年02月05日
    瀏覽(32)
  • 【Java學(xué)習(xí)】-Java JDK 1.8與17版本比較

    Java Development Kit(JDK)是Java編程語(yǔ)言的開(kāi)發(fā)環(huán)境。它包含了Java編譯器(javac)、Java虛擬機(jī)(JVM)以及其他必需的工具和庫(kù)。本文將比較JDK 1.8和17兩個(gè)版本,分析它們的發(fā)展歷史和地位,并探討它們之間的差異和優(yōu)勢(shì)。 JDK 1.8,也稱為Java 8,于2014年發(fā)布。它是Java平臺(tái)自2006年以

    2024年02月16日
    瀏覽(30)
  • Java JDK各版本特性

    Java JDK各版本特性

    ????????Java 8 之前版本中有一些重要特性和改進(jìn)。以下是其中一些主要特性以及它們發(fā)布版本: Java SE 7(發(fā)布于2011年): Switch 字符串:允許在 switch 語(yǔ)句中使用字符串。 泛型的類型推斷:允許在實(shí)例化泛型時(shí),不需要重復(fù)指定泛型參數(shù)類型。 改進(jìn)的異常處理:引入了多

    2024年02月11日
    瀏覽(19)
  • Java多版本JDK管理工具

    Java多版本JDK管理工具

    GitHub - ystyle/jvms: JDK Version Manager (JVMS) for Windows 適用于 Windows 的 JDK 版本管理器 (JVMS),在Windows上輕松的管理多Java版本。 安裝 https://github.com/ystyle/jvms/releases 初始化 從上面的鏈接下載完成 解壓zip并將jvms.exe復(fù)制到你想要的路徑 以管理員身份運(yùn)行 cmd 或 powershell cd 到j(luò)vms.exe其中的

    2024年01月25日
    瀏覽(30)
  • 如何實(shí)現(xiàn)Java JDK的多版本共存&&一鍵切換版本

    如何實(shí)現(xiàn)Java JDK的多版本共存&&一鍵切換版本

    學(xué)習(xí)Java最一開(kāi)始就是需要做環(huán)境配置啦,安裝JDK是必不可少的。大家都知道JDK是Java開(kāi)發(fā)者工具包,那么一般來(lái)說(shuō)要選擇什么樣的版本來(lái)安裝呢?可以安裝多個(gè)JDK嗎?是否可以我隨時(shí)想切換哪個(gè)JDK就使用哪個(gè)呢? 下面我會(huì)主要說(shuō)明如何實(shí)現(xiàn)Java JDK的多版本共存。 一般來(lái)說(shuō),企

    2024年04月17日
    瀏覽(21)
  • 如何實(shí)現(xiàn)Java JDK的多版本共存

    如何實(shí)現(xiàn)Java JDK的多版本共存

    學(xué)習(xí)Java最一開(kāi)始就是需要做環(huán)境配置啦,安裝JDK是必不可少的。大家都知道JDK是Java開(kāi)發(fā)者工具包,那么一般來(lái)說(shuō)要選擇什么樣的版本來(lái)安裝呢?可以安裝多個(gè)JDK嗎?是否可以我隨時(shí)想切換哪個(gè)JDK就使用哪個(gè)呢? 下面我會(huì)主要說(shuō)明如何實(shí)現(xiàn)Java JDK的多版本共存。 一般來(lái)說(shuō),企

    2024年01月16日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包