甲骨文公司Oracle Java Development Kit(JDK)是一款Java開發工具包,包含Java運行環境(java運行庫),Java開發套件和Java基礎類庫源代碼.Java Runtime Environment(JRE)是運行Java程序的運行環境,不管是做Java開發還是從事安卓開發,都必須在系統安裝JRE運行環境.Java語言的貢獻力量是其他任何技術無可比擬的.
JDK20新特性:
- Scoped values是處于孵化器開發階段的 API,它支持在線程內和線程間共享不可變數據。這些變量優于線程局部變量,尤其是在使用大量虛擬線程時。作用域值允許在大型程序中的組件之間安全有效地共享數據,而無需求助于方法參數。目標包括易用性、可理解性和性能。
- 記錄模式,在第二個預覽中,使用模式增強 Java 編程語言以解構記錄值。可以嵌套記錄模式和類型模式,以實現聲明式、強大且可組合的數據導航和處理形式。目標包括擴展模式匹配以表達更復雜、可組合的數據查詢,并且不改變類型模式的語法或語義。自JDK 19中的第一個預覽版以來的主要變化包括添加對通用記錄模式的類型參數推斷的支持,支持記錄模式出現在增強for語句的標頭中,以及刪除對命名記錄模式的支持。
- 外部函數和內存 API引入了一種 API,Java 程序可以通過該 API 與 Java 運行時之外的代碼和數據進行互操作。API 使 Java 程序能夠調用本機庫并處理本機數據,而沒有 JNI(Java 本機接口)的脆弱性和危險性。該 API 之前在 JDK 版本 17 和 18 中孵化,并在 JDK 19 中進行了預覽。自 JDK 19 以來添加的改進包括統一和MemorySegment抽象MemoryAddress、增強的MemoryLayout層次結構以及拆分MemorySession和Arena促進SegmentScope 跨維護邊界的段共享。
- 虛擬線程 是輕量級線程,可減少編寫、維護和觀察高吞吐量并發應用程序的工作量。自 JDK 19 中的第一個預覽版以來的微小變化包括少量 API 更改(在 JDK 19 中永久化)和降級ThreadGroup(也在 JDK 19 中永久化)。
- 結構化并發具有一個 API 來簡化多線程編程,并將在不同線程中運行的多個任務視為一個工作單元。簡化了錯誤處理和取消,提高了可靠性并增強了可觀察性。自從在 JDK 19 中孵化以來,唯一的變化是它StructuredTaskScope已經更新為支持在任務范圍內創建的線程繼承范圍值。
- switch 語句和表達式的模式匹配可以簡潔、安全地表達復雜的面向數據的查詢。之前在JDK 17、JDK 18和JDK 19中進行過預覽,第四次預覽將實現與[url=https://openjdk.org/jeps/432]Record Patterns 的[/url]持續共同進化,允許根據經驗和反饋進行持續改進。自第三次預覽以來,switch 模式匹配的主要變化包括簡化 switch 標簽的語法,支持推斷 switch 語句和表達式中通用模式和記錄模式的類型參數。此外,現在會拋出對枚舉類的詳盡切換MatchException,而不是IncompatibleClassChangeError在運行時沒有應用切換標簽時拋出。
JDK20特點:
OpenJDK Java 20 引入了作用域(scope)值作為孵化 API。Java 的作用域值允許在線程內和線程間共享不可變數據,并且優先于線程局部變量。Java 作用域值旨在易于使用、易于理解、增強可靠性且高性能。
作用域值是一種新的語言結構,它允許聲明一個只能在當前范圍(extent)內訪問的變量。一個范圍是一個代碼塊或一個方法調用棧,它可以包含多個線程。作用域值只能被當前范圍內的代碼讀取,不能被其他范圍內的代碼讀取或修改。因此,作用域值是不可變的,并且可以安全地在線程之間共享。
Java 20 還對 Vector API 進行了第四次孵化更新,以便在運行時編譯為支持的 CPU 架構上的最佳 vector 指令。與 JDK 19 相比,Java 20 的 Vector API 沒有變化,只是修復了一些錯誤 Bug 并提高了性能。
Java / JDK 20 的第二個預覽形式是虛擬線程功能,作為高吞吐量并發應用程序的輕量級線程。JDK 19 上的虛擬線程有一些小的 API 更改以及此預覽功能的其他基本改進。
新版本還對記錄模式、switch 語句的模式匹配、外部函數和內存 API 以及 JDK / Java 20 的結構化并發進行了更新。
JDK和JRE的區別:
如果在學習或從事Java開發、編譯java程序,那么安裝JDK
如果僅需運行java程序,只需要Java運行庫,那么安裝JRE
Java Development Kit(簡稱JDK)= Java開發套件,Java開發工具包,面向Java語言開發者。
Java Runtime Environment(簡稱JRE)= Java運行庫,Java運行環境,面向Java程序用戶們。
JDK JAVA環境變量配置:
此電腦->右鍵->屬性->高級系統設置->環境變量:
1、「用戶變量」和「系統變量」分別新建2條變量
變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
變量名:JAVA_HOME 變量值:C:\Program Files\Java\jdk1.8.0_311(安裝目錄版本號路徑)
2、「系統變量」雙擊->Path->編輯環境變量 -> 分別新建3條
%JAVA_HOME%\bin
C:\Program Files\Java\jdk20.0_1\bin
C:\Program Files\Java\jre20.0_1
# 檢查JDK環境配置命令:
CMD 輸入 java -version