JDK16全稱Java SE Development Kit 16,JDK 是使用 Java 編程語言構建應用、小程序和組件的開發環境。JDK 包括的工具有助于開發和測試用 Java 編程語言,新版本為廣大開發人員和JAVA使用用戶提供更多的新特性,JDK/Java 16 總共包含 17 個 JEP,涉及到新語言特性、改進 JVM、新工具和庫、對未來功能的驗證、孵化和預覽階段的功能以及提升生產效率這幾大方面。JDK/Java 16 的亮點包括孵化階段的 Vector API、密封類和接口、將 JDK 移植到 Windows / AArch64平臺、啟用 C++14 語言特性,以及將 ZGC 線程堆棧處理從安全點移動到并發階段等。最新的Java開發工具包(JDK)最終完成了instanceof(JEP 394)和Records(JEP 395)的模式匹配,這是Java 14中首次預覽的語言增強功能。此外,開發人員可以使用新的Packaging Tool(JEP 392)進行自我包裝。包含Java的應用程序,并探索三種孵化功能,即Vector API(JEP 338),Foreign Linker API(JEP 389)和Foreign-Memory Access API(JEP 389),以及一種預覽功能,Sealed Classs( JEP 397)。
JDK(TM)7 32位是適用于Windows 32位操作系統的一個Java編程開發工具包,如果你的電腦中沒有安裝JDK,就無法編譯Java程序、進行軟件開發,主要用于移動設備,嵌入設備的應用程序。JDK是整個Java的核心,包括了Java運行環境、Java工具和Java基礎的類庫,不管是做Java開發還是做安卓開發,都必須在電腦上安裝JDK。
jdk為用戶提供java工具運行必備所有組件,沒有它就不能運轉,這樣用戶的java相關軟件就可以完美工作,不然用戶的一切java相關項目都會停置。
JDK詳細介紹
JDK(Java Development Kit) 是 Java 語言的軟件開發工具包(SDK)。
SE(J2SE),standard edition,標準版,是我們通常用的一個版本,從JDK 5.0開始,改名為Java SE。
EE(J2EE),enterprise edition,企業版,使用這種JDK開發J2EE應用程序,從JDK 5.0開始,改名為Java EE。
ME(J2ME),micro edition,主要用于移動設備、嵌入式設備上的java應用程序,從JDK 5.0開始,改名為Java ME。
沒有JDK的話,無法編譯Java程序,如果想只運行Java程序,要確保已安裝相應的JRE。
JDK16版本介紹:
JDK 16是Java SE平臺版本16的開源參考實現,由Java社區流程中的JSR 390指定。
JDK 16于2021年3月16日正式上市。Oracle提供了GPL下可用于生產的二進制文件。其他供應商的二進制文件也將很快發布。
該版本的功能和時間表是通過JEP流程(由JEP 2.0提案修訂)提出并跟蹤的。該發行版是使用JDK發行流程(JEP 3)制作的。
特征
338: Vector API (Incubator)
347: Enable C++14 Language Features
357: Migrate from Mercurial to Git
369: Migrate to GitHub
376: ZGC: Concurrent Thread-Stack Processing
380: Unix-Domain Socket Channels
386: Alpine Linux Port
387: Elastic Metaspace
388: Windows/AArch64 Port
389: Foreign Linker API (Incubator)
390: Warnings for Value-Based Classes
392: Packaging Tool
393: Foreign-Memory Access API (Third Incubator)
394: Pattern Matching for instanceof
395: Records
396: Strongly Encapsulate JDK Internals by Default
397: Sealed Classes (Second Preview)
JDK16功能特性
Vector API (Incubator)
處于孵化階段的 Vector API,其中 JDK 將配備一個孵化器模塊jdk.incubator.vector,用于表達可在支持的 CPU 架構上編譯為最佳矢量硬件指令的矢量計算,以實現優于等效標量計算的性能。
Enable C++14 Language Features
啟用 C++14 語言特性,支持在 JDK C++ 源代碼中使用 C++14 語言特性。
Migrate from Mercurial to Git
OpenJDK 源代碼庫從 Mercurial 遷移到 Git。
Migrate to GitHub
OpenJDK 源代碼庫遷移到 GitHub,此變化是基于 OpenJDK 源代碼庫從 Mercurial 遷移到 Git。
ZGC: Concurrent Thread-Stack Processing
將 ZGC 線程堆棧處理從安全點移動到并發階段。此計劃的目標包括從 ZGC 安全點中刪除線程堆棧處理。
Unix-Domain Socket Channels
為java.nio.channels包中的 socket channel 和 server-socket channel API 添加 Unix-domain (AF_UNIX) 支持。
Alpine Linux Port
針對 x64 以及 AArch64 架構,將 JDK 移植到 Alpine Linux 以及其他使用 musl 作為主要 C 語言庫的 Linux 發行版上。
Elastic Metaspace
彈性元空間 (Elastic Metaspace) 能力,它可以將未使用的 HotSpot VM 類元數據(元空間)內存更迅速地返回給操作系統,從而減少元空間的占用空間并簡化元空間代碼,以及降低維護成本。
Windows/AArch64 Port
將 JDK 移植到 Windows/AArch64 平臺。
Foreign Linker API (Incubator)
處于孵化階段的 Foreign Linker API(外部鏈接器 API),該 API 用于對本地代碼進行靜態類型訪問。
Warnings for Value-Based Classes
對基于值的類 (Value-Based Classes) 進行警告。在 Java 平臺中對于任何基于值的類實例進行同步的錯誤嘗試,會予以警告。
Packaging Tool
提供用于打包獨立 Java 應用程序的 jpackage 工具。
Foreign-Memory Access API (Third Incubator)
處于孵化器第三階段的 Foreign-Memory Access API,該 API 允許 Java 應用程序安全有效地訪問 Java 堆之外的外部內存。
Pattern Matching for instanceof
為 instanceof 操作符提供模式匹配。模式匹配使程序中的通用邏輯(即從對象中有條件地提取組件)得以更簡潔、更安全地表達。
Records
Records 提供了一種緊湊的語法來聲明類,以幫助開發者寫出更簡潔的代碼,這些類是淺層不可變數據(shallowly immutable data)的透明擁有者。該特性主要用在特定領域的類,這些類主要用于保存數據,不提供領域行為。
Strongly Encapsulate JDK Internals by Default
除了sun.misc.Unsafe等關鍵的內部 API 外,默認對 JDK 內部進行強封裝,用戶也可以選擇自 JDK 9 以來默認的寬松強封裝。
Sealed Classes (Second Preview)
Sealed class & interface(密封類和接口)可以限制哪些類和接口可以繼承或實現它們。
JDK環境變量配置方法
JDK(TM)7 32位安裝成功,還需要對JDK的環境變量進行配置才能正常使用,具體操作如下:
右擊【計算機】,選擇【屬性】,進入系統頁面,點擊【高級系統設置】,然后進入系統屬性頁面,點擊【高級】——【環境變量】,
如圖,在【系統變量】下點擊【新建】,彈出對話框,變量名為【JAVA_HOME】,變量值是指安裝JDK的路徑,小編安裝在C:\Program Files (x86)\Java\jre7,點擊確定,
在系統變量中找到Path變量,進行編輯,彈出對話框,變量名為Path,在變量值中添加輸入【;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;】,
注意,不要刪除原來Path的變量值,直接在后面輸入代碼,點擊確定,
找到CLASSPATH,沒有就要新建,變量名為CLASSPATH,變量值為【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 】,點擊確定,
返回桌面,檢測JDK是否配置成功,按【Win+R】,彈出運行窗口,輸入cmd,打開命令提示符
輸入java -version(java 和 -version之間有空格),出現如圖信息,說明配置成功了。
