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

JDK的版本迭代(JDK9 - JDK20)

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

1. 發(fā)布特點(diǎn)

發(fā)行版本 發(fā)行時(shí)間 備注
Java 1.0 1996.01.23 Sun公司發(fā)布了Java的第一個(gè)開(kāi)發(fā)工具包
Java 5.0 2004.09.30 ①版本號(hào)從1.4直接更新至5.0;②平臺(tái)更名為JavaSE、JavaEE、JavaME
Java 8.0 2014.03.18 此版本是繼Java 5.0以來(lái)變化最大的版本。是長(zhǎng)期支持版本(LTS
Java 9.0 2017.09.22 此版本開(kāi)始,每半年更新一次
Java 10.0 2018.03.21
Java 11.0 2018.09.25 JDK安裝包取消獨(dú)立JRE安裝包,是長(zhǎng)期支持版本(LTS
Java 12.0 2019.03.19
Java17.0 2021.09 發(fā)布Java 17.0,版本號(hào)也稱(chēng)為21.9,是長(zhǎng)期支持版本(LTS
Java19.0 2022.09 發(fā)布Java19.0,版本號(hào)也稱(chēng)為22.9。

從Java 9 這個(gè)版本開(kāi)始,Java 的計(jì)劃發(fā)布周期是 6個(gè)月。

這意味著Java的更新從傳統(tǒng)的以特性驅(qū)動(dòng)的發(fā)布周期,轉(zhuǎn)變?yōu)橐?code>時(shí)間驅(qū)動(dòng)的發(fā)布模式,并且承諾不會(huì)跳票。通過(guò)這樣的方式,開(kāi)發(fā)團(tuán)隊(duì)可以把一些關(guān)鍵特性盡早合并到 JDK 之中,以快速得到開(kāi)發(fā)者反饋,在一定程度上避免出現(xiàn)像 Java 9 兩次被迫延遲發(fā)布的窘?jīng)r。

針對(duì)企業(yè)客戶(hù)的需求,Oracle 將以三年為周期發(fā)布長(zhǎng)期支持版本(long term support)。

Oracle 的官方觀(guān)點(diǎn)認(rèn)為:與 Java 7->8->9 相比,Java 9->10->11的升級(jí)和 8->8u20->8u40 更相似。

新模式下的 Java 版本發(fā)布都會(huì)包含許多變更,包括語(yǔ)言變更JVM 變更,這兩者都會(huì)對(duì) IDE、字節(jié)碼庫(kù)和框架產(chǎn)生重大影響。此外,不僅會(huì)新增其他 API,還會(huì)有 API被刪除(這在 Java 8 之前沒(méi)有發(fā)生過(guò))。

目前看這種發(fā)布策略是非常成功的,解開(kāi)了 Java/JVM 演進(jìn)的許多枷鎖,至關(guān)重要的是,OpenJDK 的權(quán)力中心,正在轉(zhuǎn)移到開(kāi)發(fā)社區(qū)和開(kāi)發(fā)者手中。 在新的模式中,既可以利用 LTS 滿(mǎn)足企業(yè)長(zhǎng)期可靠支持的需求,也可以滿(mǎn)足各種開(kāi)發(fā)者對(duì)于新特性迭代的訴求。因?yàn)橛?2-3 年的最小間隔粒度來(lái)試驗(yàn)一個(gè)特性,基本是不現(xiàn)實(shí)的。

2. 名詞解釋

Oracle JDK和Open JDK

這兩個(gè)JDK最大不同就是許可證不一樣。但是對(duì)于個(gè)人用戶(hù)來(lái)講,沒(méi)區(qū)別。

Oracle JDK Open JDK
來(lái)源 Oracle團(tuán)隊(duì)維護(hù) Oracle和Open Java社區(qū)
授權(quán)協(xié)議 Java 17及更高版本 Oracle Java SE 許可證
Java16及更低版本甲骨文免費(fèi)條款和條件 (NFTC) 許可協(xié)議
GPL v2許可證
關(guān)系 由Open JDK構(gòu)建,增加了少許內(nèi)容
是否收費(fèi) 2021年9月起Java17及更高版本所有用戶(hù)免費(fèi)。 16及更低版本,個(gè)人用戶(hù)、開(kāi)發(fā)用戶(hù)免費(fèi)。 2017年9月起,所有版本免費(fèi)
對(duì)語(yǔ)法的支持 一致 一致

JEP

JEP(JDK Enhancement Proposals):jdk 改進(jìn)提案,每當(dāng)需要有新的設(shè)想時(shí)候,JEP可以提出非正式的規(guī)范(specification),被正式認(rèn)可的JEP正式寫(xiě)進(jìn)JDK的發(fā)展路線(xiàn)圖并分配版本號(hào)。

LTS

LTS(Long-term Support)長(zhǎng)期支持 。Oracle官網(wǎng)提供了對(duì)Oracle JDK個(gè)別版本的長(zhǎng)期支持,即使發(fā)發(fā)行了新版本,比如目前最新的JDK19,在結(jié)束日期前,LTS版本都會(huì)被長(zhǎng)期支持。(出了bug,會(huì)被修復(fù),非LTS則不會(huì)再有補(bǔ)丁發(fā)布)所以,一定要選一個(gè)LTS版本,不然出了漏洞沒(méi)人修復(fù)了。

版本 開(kāi)始日期 結(jié)束日期 延期結(jié)束日期
7(LTS) 2011年7月 2019年7月 2022年7月
8(LTS) 2014年3月 2022年3月 2030年12月
11(LTS) 2018年9月 2023年9月 2026年9月
17(LTS) 2021年9月 2026年9月 2029年9月
21(LTS) 2023年9月 2028年9月 2031年9月

如果要選擇Oracle JDK,目前可選的LTS版本為8、11、17三個(gè)。

3. 各版本支持時(shí)間路線(xiàn)圖

JDK的版本迭代(JDK9 - JDK20)

4. 各版本介紹

JDK的版本迭代(JDK9 - JDK20)

jdk 9

Java 9 提供了超過(guò)150項(xiàng)新功能特性,包括備受期待的模塊化系統(tǒng)、可交互的 REPL 工具:jshell,JDK 編譯工具,Java 公共 API 和私有代碼,以及安全增強(qiáng)、擴(kuò)展提升、性能管理改善等。

特性太多,查看鏈接:

https://openjdk.java.net/projects/jdk9/

jdk 10

https://openjdk.java.net/projects/jdk/10/

286: Local-Variable Type Inference 局部變量類(lèi)型推斷
296: Consolidate the JDK Forest into a Single Repository JDK庫(kù)的合并
304: Garbage-Collector Interface 統(tǒng)一的垃圾回收接口
307: Parallel Full GC for G1 為G1提供并行的Full GC
310: Application Class-Data Sharing 應(yīng)用程序類(lèi)數(shù)據(jù)(AppCDS)共享
312: Thread-Local Handshakes ThreadLocal握手交互
313: Remove the Native-Header Generation Tool (javah) 移除JDK中附帶的javah工具
314: Additional Unicode Language-Tag Extensions 使用附加的Unicode語(yǔ)言標(biāo)記擴(kuò)展
316: Heap Allocation on Alternative Memory Devices 能將堆內(nèi)存占用分配給用戶(hù)指定的備用內(nèi)存設(shè)備
317: Experimental Java-Based JIT Compiler 使用Graal基于Java的編譯器
319: Root Certificates 根證書(shū)
322: Time-Based Release Versioning 基于時(shí)間定于的發(fā)布版本

jdk 11

https://openjdk.java.net/projects/jdk/11/

181: Nest-Based Access Control 基于嵌套的訪(fǎng)問(wèn)控制
309: Dynamic Class-File Constants 動(dòng)態(tài)類(lèi)文件常量
315: Improve Aarch64 Intrinsics 改進(jìn) Aarch64 Intrinsics
318: Epsilon: A No-Op Garbage Collector Epsilon — 一個(gè)No-Op(無(wú)操作)的垃圾收集器
320: Remove the Java EE and CORBA Modules 刪除 Java EE 和 CORBA 模塊
321: HTTP Client (Standard) HTTPClient API
323: Local-Variable Syntax for Lambda Parameters 用于 Lambda 參數(shù)的局部變量語(yǔ)法
324: Key Agreement with Curve25519 and Curve448 Curve25519 和 Curve448 算法的密鑰協(xié)議
327: Unicode 10
328: Flight Recorder 飛行記錄儀
329: ChaCha20 and Poly1305 Cryptographic Algorithms ChaCha20 和 Poly1305 加密算法
330: Launch Single-File Source-Code Programs 啟動(dòng)單一文件的源代碼程序
331: Low-Overhead Heap Profiling 低開(kāi)銷(xiāo)的 Heap Profiling
332: Transport Layer Security (TLS) 1.3 支持 TLS 1.3
333: ZGC: A Scalable Low-Latency Garbage Collector(Experimental) 可伸縮低延遲垃圾收集器
335: Deprecate the Nashorn JavaScript Engine 棄用 Nashorn JavaScript 引擎
336: Deprecate the Pack200 Tools and API 棄用 Pack200 工具和 API

jdk 12

https://openjdk.java.net/projects/jdk/12/

189:Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 低暫停時(shí)間的GC
230: Microbenchmark Suite 微基準(zhǔn)測(cè)試套件
325: Switch Expressions (Preview) switch表達(dá)式
334: JVM Constants API JVM常量API
340: One AArch64 Port, Not Two 只保留一個(gè)AArch64實(shí)現(xiàn)
341: Default CDS Archives 默認(rèn)類(lèi)數(shù)據(jù)共享歸檔文件
344: Abortable Mixed Collections for G1 可中止的G1 Mixed GC
346: Promptly Return Unused Committed Memory from G1 G1及時(shí)返回未使用的已分配內(nèi)存

jdk 13

https://openjdk.java.net/projects/jdk/13/

350: Dynamic CDS Archives 動(dòng)態(tài)CDS檔案
351: ZGC: Uncommit Unused Memory ZGC:取消使用未使用的內(nèi)存
353: Reimplement the Legacy Socket API 重新實(shí)現(xiàn)舊版套接字API
354: Switch Expressions (Preview) switch表達(dá)式(預(yù)覽)
355: Text Blocks (Preview) 文本塊(預(yù)覽)

jdk 14

https://openjdk.java.net/projects/jdk/14/

305: Pattern Matching for instanceof (Preview) instanceof的模式匹配
343: Packaging Tool (Incubator) 打包工具
345: NUMA-Aware Memory Allocation for G1 G1的NUMA-Aware內(nèi)存分配
349: JFR Event Streaming JFR事件流
352: Non-Volatile Mapped Byte Buffers 非易失性映射字節(jié)緩沖區(qū)
358: Helpful NullPointerExceptions 實(shí)用的NullPointerExceptions
359: Records (Preview)
361: Switch Expressions (Standard) Switch表達(dá)式
362: Deprecate the Solaris and SPARC Ports 棄用Solaris和SPARC端口
363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector 刪除并發(fā)標(biāo)記掃描(CMS)垃圾回收器
364: ZGC on macOS
365: ZGC on Windows
366: Deprecate the ParallelScavenge + SerialOld GC Combination 棄用ParallelScavenge + SerialOld GC組合
367: Remove the Pack200 Tools and API 刪除Pack200工具和API
368: Text Blocks (Second Preview) 文本塊
370: Foreign-Memory Access API (Incubator) 外部存儲(chǔ)器訪(fǎng)問(wèn)API

jdk 15

https://openjdk.java.net/projects/jdk/15/

339: Edwards-Curve Digital Signature Algorithm (EdDSA) EdDSA 數(shù)字簽名算法
360: Sealed Classes (Preview) 密封類(lèi)(預(yù)覽)
371: Hidden Classes 隱藏類(lèi)
372: Remove the Nashorn JavaScript Engine 移除 Nashorn JavaScript 引擎
373: Reimplement the Legacy DatagramSocket API 重新實(shí)現(xiàn) Legacy DatagramSocket API
374: Disable and Deprecate Biased Locking 禁用偏向鎖定
375: Pattern Matching for instanceof (Second Preview) instanceof 模式匹配(第二次預(yù)覽)
377: ZGC: A Scalable Low-Latency Garbage Collector ZGC:一個(gè)可擴(kuò)展的低延遲垃圾收集器
378: Text Blocks 文本塊
379: Shenandoah: A Low-Pause-Time Garbage Collector Shenandoah:低暫停時(shí)間垃圾收集器
381: Remove the Solaris and SPARC Ports 移除 Solaris 和 SPARC 端口
383: Foreign-Memory Access API (Second Incubator) 外部存儲(chǔ)器訪(fǎng)問(wèn) API(第二次孵化版)
384: Records (Second Preview) Records(第二次預(yù)覽)
385: Deprecate RMI Activation for Removal 廢棄 RMI 激活機(jī)制

jdk 16

https://openjdk.java.net/projects/jdk/16/

338: Vector API (Incubator) Vector API(孵化器)
347: Enable C++14 Language Features JDK C++的源碼中允許使用C++14的語(yǔ)言特性
357: Migrate from Mercurial to Git OpenJDK源碼的版本控制從Mercurial (hg) 遷移到git
369: Migrate to GitHub OpenJDK源碼的版本控制遷移到github上
376: ZGC: Concurrent Thread-Stack Processing ZGC:并發(fā)線(xiàn)程處理
380: Unix-Domain Socket Channels Unix域套接字通道
386: Alpine Linux Port 將glibc的jdk移植到使用musl的alpine linux上
387: Elastic Metaspace 彈性元空間
388: Windows/AArch64 Port 移植JDK到Windows/AArch64
389: Foreign Linker API (Incubator) 提供jdk.incubator.foreign來(lái)簡(jiǎn)化native code的調(diào)用
390: Warnings for Value-Based Classes 提供基于值的類(lèi)的警告
392: Packaging Tool jpackage打包工具轉(zhuǎn)正
393: Foreign-Memory Access API (Third Incubator)
394: Pattern Matching for instanceof Instanceof的模式匹配轉(zhuǎn)正
395: Records Records轉(zhuǎn)正
396: Strongly Encapsulate JDK Internals by Default 默認(rèn)情況下,封裝了JDK內(nèi)部構(gòu)件
397: Sealed Classes (Second Preview) 密封類(lèi)

jdk 17

https://openjdk.java.net/projects/jdk/17/

306: Restore Always-Strict Floating-Point Semantics 恢復(fù)始終嚴(yán)格的浮點(diǎn)語(yǔ)義

356: Enhanced Pseudo-Random Number Generators 增強(qiáng)型偽隨機(jī)數(shù)生成器
382: New macOS Rendering Pipeline 新的macOS渲染管道
391: macOS/AArch64 Port macOS/AArch64端口
398: Deprecate the Applet API for Removal 棄用Applet API后續(xù)將進(jìn)行刪除
403: Strongly Encapsulate JDK Internals 強(qiáng)封裝JDK的內(nèi)部API
406: Pattern Matching for switch (Preview) switch模式匹配(預(yù)覽)
407: Remove RMI Activation 刪除RMI激活機(jī)制
409: Sealed Classes 密封類(lèi)轉(zhuǎn)正
410: Remove the Experimental AOT and JIT Compiler 刪除實(shí)驗(yàn)性的AOT和JIT編譯器
411: Deprecate the Security Manager for Removal 棄用即將刪除的安全管理器
412: Foreign Function & Memory API (Incubator) 外部函數(shù)和內(nèi)存API(孵化特性)
414: Vector API (Second Incubator) Vector API(第二次孵化特性)
415: Context-Specific Deserialization Filters 上下文特定的反序列化過(guò)濾器

jdk 18

https://openjdk.org/projects/jdk/18/

400: UTF-8 by Default 默認(rèn)為UTF-8
408: Simple Web Server 簡(jiǎn)單的Web服務(wù)器
413: Code Snippets in Java API Documentation Java API文檔中的代碼片段
416: Reimplement Core Reflection with Method Handles 用方法句柄重新實(shí)現(xiàn)核心反射
417: Vector API (Third Incubator) Vector API(第三個(gè)孵化器)
418: Internet-Address Resolution SPI internet地址解析SPI
419: Foreign Function & Memory API (Second Incubator) 外部函數(shù)與內(nèi)存API(第二孵化器)
420: Pattern Matching for switch (Second Preview) 開(kāi)關(guān)模式匹配(第二次預(yù)覽)
421: Deprecate Finalization for Removal 不贊成刪除最終化

jdk 19

https://openjdk.org/projects/jdk/19/

405: Record Patterns (Preview) 記錄模式(預(yù)覽)
422: Linux/RISC-V Port Linux / RISC-V端口
424: Foreign Function & Memory API (Preview) 外部函數(shù)和內(nèi)存API(預(yù)覽)
425: Virtual Threads (Preview) 虛擬線(xiàn)程(預(yù)覽版)
426: Vector API (Fourth Incubator) Vector API(第四個(gè)孵化器)
427: Pattern Matching for switch (Third Preview) 開(kāi)關(guān)模式匹配(第三次預(yù)覽)
428: Structured Concurrency (Incubator) 結(jié)構(gòu)化并發(fā)(孵化器)

jdk 20

https://openjdk.org/projects/jdk/20/

429: Scoped Values (Incubator) 范圍值(孵化器)
432: Record Patterns (Second Preview) 記錄模式(第二次預(yù)覽)
433: Pattern Matching for switch (Fourth Preview) 開(kāi)關(guān)模式匹配(第四次預(yù)覽)
434: Foreign Function & Memory API (Second Preview) 外部函數(shù)和內(nèi)存API(第二次預(yù)覽)
436: Virtual Threads (Second Preview) 虛擬線(xiàn)程(第二次預(yù)覽版)
437: Structured Concurrency (Second Incubator) 結(jié)構(gòu)化并發(fā)(第二個(gè)孵化器)
438: Vector API (Fifth Incubator) 載體API(第五孵化器)

5. JDK各版本下載鏈接

https://www.oracle.com/java/technologies/downloads/archive/

JDK的版本迭代(JDK9 - JDK20)

6. 應(yīng)該如何學(xué)習(xí)新特性

對(duì)于新特性,應(yīng)該從哪幾個(gè)角度學(xué)習(xí)新特性呢?

  • 語(yǔ)法層面:

    • 比如JDK5中的自動(dòng)拆箱、自動(dòng)裝箱、enum、泛型
    • 比如JDK8中的lambda表達(dá)式、接口中的默認(rèn)方法、靜態(tài)方法
    • 比如JDK10中局部變量的類(lèi)型推斷
    • 比如JDK12中的switch
    • 比如JDK13中的文本塊
  • API層面:

    • 比如JDK8中的Stream、Optional、新的日期時(shí)間、HashMap的底層結(jié)構(gòu)
    • 比如JDK9中String的底層結(jié)構(gòu)
    • 新的 / 過(guò)時(shí)的 API
  • 底層優(yōu)化

    • 比如JDK8中永久代被元空間替代、新的JS執(zhí)行引擎

    • 比如新的垃圾回收器、GC參數(shù)、JVM的優(yōu)化文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-438024.html

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

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(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)文章

  • CentOS 各版本的對(duì)應(yīng)內(nèi)核表和發(fā)行時(shí)間表【全】

    目前 CentOS Linux 已經(jīng)停止更新了,剩下 CentOS Stream 還在維護(hù)。在這里統(tǒng)一記錄 CentOS 各版本的 內(nèi)核對(duì)應(yīng)表 和 發(fā)行時(shí)間表 。 版本時(shí)間從新到舊排列。 CentOS version Architectures RHEL base Kernel CentOS release date RHEL release date 8.0-1905 x86-64, ppc64le, AArch64 8.0 4.18.0-80 2019-09-24[14] 2019-05-07[142][1

    2024年04月10日
    瀏覽(18)
  • JDK17新特性之--JDK9到JDK17 String 新增的新方法

    JDK17新特性之--JDK9到JDK17 String 新增的新方法

    JDK9之后對(duì)String底層存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)進(jìn)行了重大的修改 1 ,同步也增加了許多新的方法,主要有Text Blocks、chars()、codePoints()、describeConstable()、formatted()、indent()、isBlank()、isEmpty()、lines()、repeat()、strip()、stripLeading()、stripIndent()、stripTrailing()、translateEscapes(),接下來(lái)就逐一看看每個(gè)

    2024年02月04日
    瀏覽(23)
  • JVM工作原理與實(shí)戰(zhàn)(十四):JDK9及之后的類(lèi)加載器

    JVM工作原理與實(shí)戰(zhàn)(十四):JDK9及之后的類(lèi)加載器

    JVM工作原理與實(shí)戰(zhàn) RabbitMQ入門(mén)指南 從零開(kāi)始了解大數(shù)據(jù) 目錄 專(zhuān)欄導(dǎo)航 前言 一、JDK8及之前的類(lèi)加載器 二、JDK9及之后的類(lèi)加載器 1.啟動(dòng)類(lèi)加載器 2.平臺(tái)類(lèi)加載器(擴(kuò)展類(lèi)加載器) 總結(jié) JVM作為Java程序的運(yùn)行環(huán)境,其負(fù)責(zé)解釋和執(zhí)行字節(jié)碼,管理內(nèi)存,確保安全,支持多線(xiàn)程

    2024年01月22日
    瀏覽(24)
  • JDK9~17+Springboot3 @Resource常見(jiàn)問(wèn)題和解決方案

    JDK9~17+Springboot3 @Resource常見(jiàn)問(wèn)題和解決方案

    因?yàn)镴DK版本升級(jí)的改動(dòng),在Jdk9~17環(huán)境下,搭建Springboot項(xiàng)目,會(huì)出現(xiàn)原有@Resource(javax.annotation.Resource)不存在的問(wèn)題,導(dǎo)致項(xiàng)目從Jdk8遷移到高版本時(shí)遇到的問(wèn)題 原因 你可能會(huì)問(wèn),為什么javax.annotation.Resource注解不存在呢? ?從Jdk9開(kāi)始,JavaEE從Jdk中分離,jdk就移除掉了javax.a

    2024年02月04日
    瀏覽(99)
  • jenkins 發(fā)布job切換不同的jdk版本/ maven版本

    jenkins 發(fā)布job切換不同的jdk版本/ maven版本

    因?yàn)橛袀€(gè)新的項(xiàng)目需要使用jdk17 而舊的項(xiàng)目需要jdk1.8 這就需要jenkins在發(fā)布項(xiàng)目的時(shí)候可以指定jdk版本 jenkins全局工具配置頁(yè)面 配置新的jdk 路徑 系統(tǒng)管理- 全局工具配置 如上新增個(gè)jdk 名稱(chēng)叫 jdk-17 然后配置jdk-17的根路徑即可(這個(gè)需要我們自己下載jdk 然后把下載解壓后jdk 放

    2024年02月10日
    瀏覽(29)
  • Ubuntu20.04 系統(tǒng)安裝多個(gè)版本的 JDK【多版本jdk切換:sudo update-alternatives --config java】

    Ubuntu20.04 系統(tǒng)安裝多個(gè)版本的 JDK【多版本jdk切換:sudo update-alternatives --config java】

    目前Java版本更新很快,每半年推出一個(gè)版本,因此我們可能需要在自己的電腦上安裝不同版本的JDK,以便于我們學(xué)習(xí)使用,本文主要介紹了在Ubuntu18.04系統(tǒng)上安裝JDK(OpenJDK 、 Oracle JDK)以及管理不同版本JDK(JDK1.8、JDK9、JDK10等)的方法。 第一種:安裝系統(tǒng)自帶的 OpenJDK 因?yàn)?/p>

    2024年02月09日
    瀏覽(22)
  • 【后端】Core框架版本和發(fā)布時(shí)間以及.net 6.0啟動(dòng)文件的結(jié)構(gòu)

    【后端】Core框架版本和發(fā)布時(shí)間以及.net 6.0啟動(dòng)文件的結(jié)構(gòu)

    2023年,第35周,第1篇文章。給自己一個(gè)目標(biāo),然后堅(jiān)持總會(huì)有收貨,不信你試試! .NET Core 是一個(gè)跨平臺(tái)的開(kāi)源框架,用于構(gòu)建現(xiàn)代化的應(yīng)用程序。它在不同版本中有一些重要的區(qū)別和發(fā)布時(shí)間 下面是主要版本的簡(jiǎn)要概述: 于2016年發(fā)布。 它是.NET Core 的最初版本,提供了跨

    2024年02月11日
    瀏覽(23)
  • J2EE項(xiàng)目部署與發(fā)布(Linux版本)->jdk&tomcat安裝,MySQL安裝,后端接口部署,linux單體項(xiàng)目前端部署

    J2EE項(xiàng)目部署與發(fā)布(Linux版本)->jdk&tomcat安裝,MySQL安裝,后端接口部署,linux單體項(xiàng)目前端部署

    jdktomcat安裝 MySQL安裝 后端接口部署 linux單體項(xiàng)目前端部署 1.jdktomcat安裝 上傳jdk、tomcat安裝包 解壓兩個(gè)工具包 #解壓tomcat tar -zxvf apache-tomcat-8.5.20.tar.gz #解壓jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 配置并且測(cè)試jdk安裝 #配置環(huán)境變量 vim /etc/profile #java environment export JAVA_HOME=/javaxl/softwar

    2024年02月06日
    瀏覽(29)
  • 最全Android版本API對(duì)應(yīng)表,Android1.0-Android 14.0發(fā)布時(shí)間列表詳細(xì)說(shuō)明

    Android版本?? ?Api Level? SDK Android 14 ?(Developer Preview) Android 13.0(T)?? ?33 Android 12.0(S)?? ?31,32 Android 11.0(R)?? ?30 Android 10.0(Q)?? ?29 Android 9.0(Pie)?? ?28 Android 8.1(Oreo)?? ?27 Android 8.0(Oreo)?? ?26 Android 7.1(Nougat)?? ?25 Android 7.0(Nougat)?? ?24 Android 6.0(Marshmallow)?? ?23 Android 5.1(Loll

    2024年02月05日
    瀏覽(20)
  • java: 錯(cuò)誤: 不支持發(fā)行版本 5 java: 錯(cuò)誤: 不支持發(fā)行版本8 java: 錯(cuò)誤: 不支持發(fā)行版本17

    java: 錯(cuò)誤: 不支持發(fā)行版本 5 java: 錯(cuò)誤: 不支持發(fā)行版本8 java: 錯(cuò)誤: 不支持發(fā)行版本17

    該錯(cuò)誤表示你使用的Java編譯器不支持Java 5版本的發(fā)行。Java版本的發(fā)行是根據(jù)不同的功能和語(yǔ)言變化來(lái)區(qū)分的。 要解決這個(gè)問(wèn)題,你可以嘗試以下幾種方法: 檢查編譯器配置:確保你的IDE或編譯器已正確配置為使用正確的Java版本??梢栽贗DE的設(shè)置或項(xiàng)目屬性中查找并更改J

    2024年02月16日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包