亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java?17的一些新特性介紹

 更新時(shí)間:2022年04月14日 15:02:37   作者:?sofia?  
這篇文章主要介紹了Java?17的一些新特性介紹,Java添加了許多Java開發(fā)人員渴望的特性和改進(jìn),下文就來學(xué)習(xí)一下這些特性吧,需要的朋友可以參考一下

前言

Java17將是一個(gè)長(zhǎng)期支持的LTS版本。

Java采用了6個(gè)月的發(fā)布周期。也就是說,它將每6個(gè)月發(fā)布一個(gè)新版本的Java。每隔3年,LTS版本就會(huì)發(fā)布一次。目前,Java 11是LTS版本,于2018年9月發(fā)布。但在Java17發(fā)布后,它將是最新的LTS支持。

許多組織依賴LTS版本,所以他們使用的是Java11。但在Java17發(fā)布后,他們將使用Java17(可能)。

自從將Java9發(fā)布到Java16之后,Java添加了許多Java開發(fā)人員渴望的特性和改進(jìn)。看看它,我們可以說Java正在緩慢而穩(wěn)定地追趕其他編程語(yǔ)言。它讓Java開發(fā)人員感到高興,因?yàn)槲覀円呀?jīng)聽膩了“Java已死”。

Java 17中的Sealed 密封類

sealed class 密封類允許描述哪個(gè)類或接口可以擴(kuò)展或?qū)崿F(xiàn)這個(gè)類或接口。簡(jiǎn)而言之,我們可以限制誰可以使用這個(gè)類或接口。假設(shè)我們有一個(gè)學(xué)生抽象類,如果我們將其設(shè)為一個(gè)密封類,并且只允許ScienceStudentCommerceSudent擴(kuò)展該類,那么只有這些類才能擴(kuò)展該Student,而其他類如果試圖擴(kuò)展該類,則會(huì)出錯(cuò)。

public abstract sealed class Student permits ScienceStudent , CommerceStudent { ... }

這提供了一種比訪問修飾符更具聲明性的方法來限制超類的使用。

Java 17提供了更好的隨機(jī)生成器

Java 17為偽隨機(jī)數(shù)生成器(PRNG)提供了新的接口類型和實(shí)現(xiàn)。它引入了一個(gè)名為RandomGenerator的新接口。該接口的目標(biāo)是為所有現(xiàn)有和新的PRNG提供統(tǒng)一的API。

RandomGenerator提供名為ints、longs、doubles、nextBoolean、nextInt、nextLong、nextDouble和nextFloat的方法,以及它們當(dāng)前的所有參數(shù)變化。以下是提供的四個(gè)新的專用隨機(jī)發(fā)生器接口:

  • SplittableRandomGenerator
  • JumpableRandomGenerator
  • LeapableRandomGenerator
  • ArbitrarilyJumpableRandomGenerator

所有這些接口都擴(kuò)展了接口。

此功能的目標(biāo)是:

  • 使各種PRNG算法更容易在應(yīng)用中互換使用。
  • 通過提供PRNG對(duì)象流,更好地支持基于流的編程。
  • 消除現(xiàn)有PRNG類中的代碼重復(fù)。
  • 小心地保留java.util.Random

Java對(duì)增強(qiáng)安全性的關(guān)注

通過JEP403,Java對(duì)JDK內(nèi)部進(jìn)行了強(qiáng)封裝。這意味著,它將限制用戶直接使用Java的內(nèi)部?jī)?nèi)容,并鼓勵(lì)用戶使用標(biāo)準(zhǔn)API。使用內(nèi)部構(gòu)件的原因可能會(huì)導(dǎo)致問題,尤其是在安全方面。此功能的目標(biāo)是:

  • 繼續(xù)改進(jìn)JDK的安全性和可維護(hù)性,這是Jigsaw項(xiàng)目的主要目標(biāo)之一。
  • 鼓勵(lì)開發(fā)人員從使用內(nèi)部元素遷移到使用標(biāo)準(zhǔn)API,這樣他們和他們的用戶都可以升級(jí)到未來的Java版本,而無需大驚小怪

另一個(gè)安全更新是JEP 411:不推薦刪除安全管理器。嗯,這不完全是一個(gè)更新,而是朝著刪除一個(gè)功能邁出的一步。安全管理器可以追溯到Java 1.0。多年來,它一直不是保護(hù)客戶端Java代碼的主要手段,也很少用于保護(hù)服務(wù)器端代碼。因此,在即將發(fā)布的Java版本中,它將完全從Java中刪除。

Pattern Matching For Switch預(yù)覽

此功能是一個(gè)預(yù)覽功能,不會(huì)在標(biāo)準(zhǔn)軟件包中提供。

在Java16中,我們獲得了“instanceOf的模式匹配”功能。類似地,這種切換模式匹配功能將改進(jìn)普通舊的單equals類型的切換表達(dá)式。下面是一個(gè)開關(guān)表達(dá)式的代碼簡(jiǎn)介。

Object o = 123L;
String formatted = switch (o) {
    case Integer i -> String.format("int %d", i);
    case Long l    -> String.format("long %d", l);
    case Double d  -> String.format("double %f", d);
    case String s  -> String.format("String %s", s);
    default        -> o.toString();
};

你可以在JEP 406上看到更多關(guān)于此功能的示例和詳細(xì)說明。

到此這篇關(guān)于Java 17的一些新特性介紹的文章就介紹到這了,更多相關(guān)Java 17 新特性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot 中html的頁(yè)面間跳轉(zhuǎn)問題小結(jié)

    SpringBoot 中html的頁(yè)面間跳轉(zhuǎn)問題小結(jié)

    這篇文章主要介紹了SpringBoot 中html的頁(yè)面間跳轉(zhuǎn)問題小結(jié),本文給大家分享兩種方法,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • Spring中MVC模塊代碼詳解

    Spring中MVC模塊代碼詳解

    這篇文章主要介紹了Spring中MVC模塊代碼詳解,涉及Controller的簡(jiǎn)單介紹,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-11-11
  • java必學(xué)必會(huì)之線程(2)

    java必學(xué)必會(huì)之線程(2)

    本文對(duì)java線程進(jìn)行深入學(xué)習(xí),重點(diǎn)介紹了線程同步問題、線程死鎖問題,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Alibaba?SpringCloud集成Nacos、openFeign實(shí)現(xiàn)負(fù)載均衡的解決方案

    Alibaba?SpringCloud集成Nacos、openFeign實(shí)現(xiàn)負(fù)載均衡的解決方案

    Spring?Cloud?Alibaba?致力于提供微服務(wù)開發(fā)的一站式解決方案,此項(xiàng)目包含開發(fā)分布式應(yīng)用微服務(wù)的必需組件,這篇文章主要介紹了Alibaba?SpringCloud集成Nacos、openFeign實(shí)現(xiàn)負(fù)載均衡,需要的朋友可以參考下
    2024-05-05
  • Idea jdk版本問題解決方案

    Idea jdk版本問題解決方案

    這篇文章主要介紹了Idea jdk版本問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • JVM類加載機(jī)制原理及用法解析

    JVM類加載機(jī)制原理及用法解析

    這篇文章主要介紹了JVM類加載機(jī)制原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Springboot集成kafka高級(jí)應(yīng)用實(shí)戰(zhàn)分享

    Springboot集成kafka高級(jí)應(yīng)用實(shí)戰(zhàn)分享

    這篇文章主要介紹了Springboot集成kafka高級(jí)應(yīng)用實(shí)戰(zhàn)分享,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 詳解JDK 5 Annotation 注解之@Target的用法介紹

    詳解JDK 5 Annotation 注解之@Target的用法介紹

    這篇文章主要介紹了詳解JDK 5 Annotation 注解之@Target的用法介紹,需要的朋友可以參考下
    2016-02-02
  • Java Web十條開發(fā)實(shí)用小知識(shí)

    Java Web十條開發(fā)實(shí)用小知識(shí)

    這篇文章主要介紹了Java Web十條開發(fā)實(shí)用小知識(shí)的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • java中i = i++和i =++i的深入講解

    java中i = i++和i =++i的深入講解

    這篇文章主要介紹了java中i = i++和i =++i的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評(píng)論