當(dāng)下軟件園 / 匯聚當(dāng)下最新最酷的軟件下載站!
當(dāng)下軟件園

您的位置: 首頁(yè) > 應(yīng)用軟件 > 編程工具 > jdk離線包 V17.0.2 官方最新版
jdk jdk離線包 V17.0.2 官方最新版 / jdk離線安裝包下載 版本

  Java SE Development Kit是一款由甲骨文Oracle公司所推出的Java開(kāi)發(fā)工具包。它包含Java運(yùn)行環(huán)境、Java開(kāi)發(fā)工具和Java基礎(chǔ)類庫(kù)源代碼,用于開(kāi)發(fā)和測(cè)試用Java編程語(yǔ)言編寫(xiě)并在Java平臺(tái)上,該版本支持離線安裝,無(wú)需聯(lián)網(wǎng)。

jdk離線安裝包下載

【新特性】

  1、switch新增模式(預(yù)覽版)

  使用 switch 表達(dá)式和語(yǔ)句的模式匹配以及對(duì)模式語(yǔ)言的擴(kuò)展來(lái)增強(qiáng) Java 編程語(yǔ)言。將模式匹配擴(kuò)展到 switch 允許針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有特定的操作,以便可以簡(jiǎn)潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢?;贘DK16 instanceof模式匹配(最終版)優(yōu)化升級(jí)switch使用方法,先回憶下JDK16模式匹配(最終版)

  if (obj instanceof String s) {

  // 直接使用 s拼接字符串

  s += "heihei";

  } else if (obj instanceof Integer i){

  // 直接使用i進(jìn)行整型邏輯運(yùn)算

  i += 1;

  }

  switch可直接用instanceof模式匹配選擇(需要提前考慮null判斷)

  Object o;

  switch (o) {

  case null -> System.out.println("首先判斷對(duì)象是否為空,走空指針邏輯等后續(xù)邏輯");

  case String s -> System.out.println("判斷是否為字符串,s:" + s);

  case record p -> System.out.println("判斷是否為Record類型: " + p.toString());

  case int[] arr -> System.out.println("判斷是否為數(shù)組,展示int數(shù)組的長(zhǎng)度" + ia.length);

  case Integer i -> System.out.println("判斷是否為Intger對(duì)象,i:" + i);

  case Student s -> System.out.println("判斷是否為具體學(xué)生對(duì)象,student:" + s.toString());

  case UserCommonService -> System.out.println("判斷是否為普通用戶實(shí)現(xiàn)類,然后走普通用戶邏輯");

  case UserVipService -> System.out.println("判斷是否為vip用戶實(shí)現(xiàn)類,然后走vip用戶邏輯");

  default -> System.out.println("Something else");

  }

  2、Realed class密封類(最終版)

  密封類和接口限制哪些其他類或接口可以擴(kuò)展或?qū)崿F(xiàn)它們。

  public sealed interface Shape{

  final class Planet implements Shape {}

  final class Star implements Shape {}

  final class Comet implements Shape {}

  }

  public abstract sealed class Test{

  final class A extends Test {}

  final class B extends Test {}

  final class C extends Test {}

  }

  3、隨機(jī)數(shù)增強(qiáng)

  為偽隨機(jī)數(shù)生成器 (PRNG) 提供新的接口類型和實(shí)現(xiàn),包括可跳轉(zhuǎn)的 PRNG 和額外的一類可拆分 PRNG 算法 (LXM)。

  4、浮點(diǎn)運(yùn)算更加嚴(yán)格

  簡(jiǎn)化數(shù)字敏感庫(kù)開(kāi)發(fā),包括java.lang.Math和java.lang.StrictMath(對(duì)開(kāi)發(fā)無(wú)實(shí)際意義)

  5、Parallel GC 默認(rèn)啟用

  Parallel GC 默認(rèn)啟用自適應(yīng)并行處理,并行GC確定java.lang.ref.Reference在垃圾收集期間用于處理實(shí)例的最佳線程數(shù)。

  默認(rèn)-XX:ParallelRedProcEnabled: true。在有多個(gè)線程可用于垃圾收集的機(jī)器上,明顯改善了垃圾收集暫停的階段,如果遇到垃圾收集暫停增加的情況,可以通過(guò)-XX:ParallelRedProcEnabled在命令行上指定到原始行為

  6、增強(qiáng)TreeMap

  增強(qiáng)JDK-8176894(TreeMap 沒(méi)有對(duì) putIfAbsent()、computeIfAbsent()、computeIfPresent()、compute() 方法的專門(mén)實(shí)現(xiàn)。默認(rèn)實(shí)現(xiàn)經(jīng)常導(dǎo)致兩次樹(shù)遍歷,這會(huì)損害性能)

  7、棄用Socket實(shí)現(xiàn)工廠機(jī)制

  棄用并最終刪除用于為java.net 包中的套接字類型靜態(tài)配置系統(tǒng)范圍工廠 的 API 點(diǎn)

  具體如下:

  * 方法:

  static void ServerSocket.setSocketFactory (SocketImplFactory fac)

  static void Socket.setSocketImplFactory (SocketImplFactory fac)

  static void DatagramSocket.setDatagramSocketImplFactory (DatagramSocketImplFactory fac)

  * Types

  java. net SocketImplFactory

  java.net DatagramSocketImplFactory

  也可以棄用java.net SocketImplFactory 和 DatagramSocketImplFactory 類型 ,因?yàn)樗鼈兊奈ㄒ挥猛九c上述工廠有關(guān) 設(shè)置方法。

  8、統(tǒng)一日志支持異步日志刷新

  為了避免在使用統(tǒng)一日志的線程中出現(xiàn)不希望的延遲,用戶現(xiàn)在可以請(qǐng)求統(tǒng)一日志系統(tǒng)以異步模式運(yùn)行。通過(guò)傳遞命令行選項(xiàng)來(lái)完成的-Xlog:async。在異步日志模式下,日志站點(diǎn)將所有日志消息排入緩沖區(qū)。獨(dú)立線程負(fù)責(zé)將它們刷新到相應(yīng)的輸出。中間緩沖區(qū)是有界的。緩沖區(qū)耗盡時(shí),將丟棄排隊(duì)消息??梢允褂妹钚羞x項(xiàng)控制中間緩沖區(qū)的大小-XX:AsyncLogBufferSize=<bytes>。

  9、新增 java.time.InstantSource

  java.time.InstantSource引入了一個(gè)新界面。這個(gè)接口是一個(gè)抽象java.time.Clock,只關(guān)注當(dāng)前時(shí)刻,不涉及時(shí)區(qū)。

  10、javadoc工具

  新的“新 API”頁(yè)面和改進(jìn)的“棄用”頁(yè)面,JavaDoc 現(xiàn)在可以生成一個(gè)頁(yè)面,總結(jié)最近 API 的變化。要包含的最新版本列表是使用--since命令行選項(xiàng)指定的。這些值用于查找@since要包含在新頁(yè)面上的具有匹配標(biāo)簽的聲明。該--since-label命令行選項(xiàng)提供了“新API”頁(yè)面的標(biāo)題文本使用。

jdk離線安裝包下載

【常見(jiàn)問(wèn)題】

  解壓期間系統(tǒng)錯(cuò)誤

  如果您看到錯(cuò)誤消息:system error during decompression,則包含該TEMP目錄的磁盤(pán)上可能沒(méi)有足夠的空間。

  程序無(wú)法在 DOS 模式下運(yùn)行

  如果您看到錯(cuò)誤消息:This program cannot be run in DOS mode,請(qǐng)執(zhí)行以下操作:

  打開(kāi) MS-DOS 外殼程序或命令提示符窗口。

  右鍵單擊標(biāo)題欄。

  選擇屬性。

  選擇程序選項(xiàng)卡。

  單擊高級(jí)。

  確保未選中防止基于 MS-DOS 的程序檢測(cè) Windows 項(xiàng)。

  選擇確定。

  再次選擇確定。

  退出 MS-DOS 外殼。

  重啟你的電腦。

  不屬于系統(tǒng)代碼頁(yè)的字符

  如果安裝目錄不是系統(tǒng)區(qū)域設(shè)置代碼頁(yè)的一部分,則可能會(huì)出現(xiàn) 1722 錯(cuò)誤。為防止出現(xiàn)這種情況,請(qǐng)確保用戶和系統(tǒng)區(qū)域設(shè)置相同,并且安裝路徑僅包含作為系統(tǒng)區(qū)域設(shè)置代碼頁(yè)一部分的字符??梢栽趨^(qū)域選項(xiàng)或區(qū)域設(shè)置控制面板中設(shè)置用戶和系統(tǒng)區(qū)域設(shè)置。

  相關(guān)的錯(cuò)誤編號(hào)是 4895647。

  在 JDK 卸載失敗后清理注冊(cè)表

  有時(shí),嘗試通過(guò) Windows添加/刪除程序卸載 JDK 會(huì) 在注冊(cè)表中留下一些未完全刪除的 Java 條目。這些遺留的注冊(cè)表項(xiàng)可能會(huì)導(dǎo)致安裝新版本 Java 時(shí)出現(xiàn)問(wèn)題。以下是清理注冊(cè)表項(xiàng)的方法:

  程序安裝和卸載疑難解答(推薦方法)

  手動(dòng)注冊(cè)表編輯

  程序安裝和卸載疑難解答(推薦方法)

  運(yùn)行程序安裝和卸載疑難解答來(lái)修復(fù)損壞的注冊(cè)表項(xiàng),這些注冊(cè)表項(xiàng)會(huì)阻止程序完全卸載或阻止新的安裝和更新。

  手動(dòng)編輯注冊(cè)表(僅當(dāng) Fix It 實(shí)用程序不起作用時(shí)才使用此功能)

  錯(cuò)誤地編輯您的注冊(cè)表可能會(huì)嚴(yán)重?fù)p壞您的系統(tǒng)。在更改注冊(cè)表之前,您應(yīng)該從您的計(jì)算機(jī)備份任何有價(jià)值的數(shù)據(jù)。

  使用File->Export注冊(cè)表編輯器的功能在刪除之前保存注冊(cè)表項(xiàng)。如果您刪除了錯(cuò)誤的注冊(cè)表項(xiàng),您可以使用該File->Import功能從保存的備份文件中恢復(fù)注冊(cè)表。

  要?jiǎng)h除注冊(cè)表項(xiàng):

  確定正確的注冊(cè)表項(xiàng)。請(qǐng)參閱查找 JDK 注冊(cè)表項(xiàng)和 UninstallString 值。

  突出顯示該鍵,右鍵單擊并選擇 Delete。

  出現(xiàn)提示時(shí)單擊是。

  JDK 被卸載。

軟件特別說(shuō)明

標(biāo)簽: Java JDK 編程

其他版本下載

更多(51)>Java程序員必備軟件

Java語(yǔ)言是應(yīng)用最廣泛的編程語(yǔ)言之一,不少程序員選擇從事Java的編程開(kāi)發(fā),因?yàn)樗木幊汰h(huán)境相較于其他語(yǔ)言更加的友好。同時(shí),這也離不開(kāi)一些開(kāi)發(fā)輔助工具的幫助。小編就為大家整理了幾款Java程序員必備軟件,不容錯(cuò)過(guò)。 查看 >>
網(wǎng)友評(píng)論
回頂部 去下載

關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們

Copyright ? 2005-2024 virtualinsta360.com.All rights reserved.

浙ICP備2024132706號(hào)-1 浙公網(wǎng)安備33038102330474號(hào)