<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java 17 新特性,快到起飛?驚呆了!

          共 5512字,需瀏覽 12分鐘

           ·

          2022-06-18 00:10

          大家好,我是鋒哥,今天來談談Java 17新特性,以及推薦一本Java神書 !

          特性介紹

          JDK 17更新了包括14個特性,具體如下表所示:

          • 306:恢復始終嚴格模式(Always-Strict)的浮點語義

            Restore Always-StrictFloating-Point Semantics0

            恢復始終執(zhí)行嚴格模式的浮點定義,修復25年前英特爾的浮點指令存在的一些問題;

          • 356:增強型偽隨機數發(fā)生器

            EnhancedPseudo-Random Number Generators

            增加了偽隨機數相關的類和接口來讓開發(fā)者使用stream流進行操作,

            RandomGenerator generator = RandomGeneratorFactory.all()
                .filter(RandomGeneratorFactory::isJumpable)
                .filter(factory -> factory.stateBits() > 128)
                .findAny()
                .map(RandomGeneratorFactory::create)
            //  if you need a `JumpableGenerator`:
            //  .map(JumpableGenerator.class::cast)
                .orElseThrow();
            • RandomGenerator
            • RandomGeneratorFactory
          • 382:新增macOS渲染管道

            New macOS RenderingPipeline

          • 391:支持將JDK移植到macOS或AArch64

            macOS/AArch64 Port

          • 398:棄用待移除的Applet API

            Deprecate the AppletAPI for Removal

            棄用、刪除標準 Java API 的這些類和接口:

            棄用或刪除任何引用上述類和接口的 API 元素,包括以下中的方法和字段:

            • java.beans.Beans
            • javax.swing.RepaintManager
            • javax.naming.Context
            • java.applet.Applet
            • java.applet.AppletStub
            • java.applet.AppletContext
            • java.applet.AudioClip
            • javax.swing.JApplet
            • java.beans.AppletInitializer
          • 403:強封裝JDK內部API

            Strongly EncapsulateJDK Internals

          • 406:switch模式匹配進入預覽(Preview)階段

            Pattern Matching forswitch (Preview)

            引入switch模式匹配的preview版本

            // Old code
            if (o instanceof String) {
                String s = (String)o;
                ... use s ...
            }

            // New code
            if (o instanceof String s) {
                ... use s ...
            }

            switch的寫法:

            static String formatterPatternSwitch(Object o) {
                return 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();
                };
            }
          • 407:移除RMI(遠程方法調用)激活機制

            Remove RMI Activation

          • 409:密封類

            Sealed Classes

            密封類是由JEP 360提出的,并在JDK 15中作為預覽功能提供。它們由JEP 397再次提出并進行了改進,并作為預覽功能在JDK 16中提供。該JEP建議在JDK17中完成密封類,與JDK 16沒有任何變化。

          • 410:移除實驗性AOT和JIT編譯器

            Remove theExperimental AOT and JIT Compiler

          • 411:棄用待移除的安全管理器(Security Manager)

            Deprecate theSecurity Manager for Removal

            棄用安全管理器,在后續(xù)版本中移除。安全管理器可追溯到Java 1.0。多年來,它一直不是保護客戶端Java代碼的主要手段,也很少用于保護服務器端代碼。為了推動Java向前發(fā)展,Oracle打算棄用安全管理器,以便與舊Applet API(JEP 398)一起刪除。

          • 412:外部函數和內存API(孵化器)孵化階段

            Foreign Function& Memory API (Incubator)

            Java程序可以通過該API與Java運行時之外的代碼和數據進行互操作。通過有效調用外部函數(即JVM之外的代碼),以及安全地訪問外部內存(即不由JVM管理的內存),API使Java程序能夠調用本地庫和處理本地數據,而沒有JNI。[關于JDK17新特性開發(fā)應用,關注公眾號Java精選,后續(xù)文章更新]

          • 414:Vector API(第二孵化器)第二孵化階段

            Vector API (SecondIncubator)

            引入一個API來表達向量計算,這些計算在運行時可靠地編譯為支持的CPU架構上的最佳向量指令,從而實現優(yōu)于等效標量計算的性能。

          • 415:上下文特定的反序列化過濾器

            Context-SpecificDeserialization Filters

            允許應用程序通過JVM范圍的過濾器工廠配置特定于上下文和動態(tài)選擇的反序列化過濾器,該工廠被調用以為每個單獨的反序列化操作選擇一個過濾器。

          Spring Boot 3.0 最低只支持JDK 17,已經不再向下兼容,這就意味著未來很多的開發(fā)者必定逐步從JDK8 轉到JDK17。

          如何快速掌握全部Java17新特性?

          Java 誕生 27 年來,這本享譽全球的 Java 經典著作《Core Java》一路伴隨著 Java 的成長,得到了百萬 Java 開發(fā)者的青睞,幾乎出現在每個“學Java要看什么書”類似的書單里,影響了幾代技術人。

          27年間,每當 Java 有新的 LTR 版本發(fā)布,這本書都會隨之更新,這次也不例外?,F在,針對 Java 17 新特性的《Java核心技術》第 12 版 中文版(卷1)終于上市了!

          《Java核心技術》第 12 版涵蓋了 Java 17 的最新特性,相應調整了部分內容結構,同時延續(xù)之前版本的優(yōu)良傳統(tǒng),利用清晰明了的示例加以解釋,并提供了全部示例代碼,以便讀者學習和靈活應用。它將續(xù)寫從前的輝煌,使開發(fā)者能及時跟上 Java 前進的步伐。

          我們尋找了50位曾經看著《Java核心技術》這本書成長起來的KOL推薦本書!大家的寄語全部收錄在第12版新書中!

          這本書究竟是怎樣的一本書,得到眾多開發(fā)者的一致推薦呢?

          《Java核心技術》并非市面那些零基礎速成的書,很好地避免了開發(fā)基礎書容易犯的“大而泛”的問題,盡管內容繁多,但對知識點的介紹并非泛泛而過。通過周密組織,從Java繁雜的內容中整理出一條清晰的主線,構成一個完整的知識體系。

          整本書不僅讓你深入了解設計和實現Java應用涉及的所有基礎知識和Java特性,還會幫助你掌握開發(fā)Java程序所需的全部基本技能。

          作者凱.霍斯特曼是Java技術堅定的倡導者,至今仍常年在國際上的各類計算機峰會上進行技術分享。在位于硅谷中心的圣何塞州立大學教學30余年,為硅谷的頂尖科技公司培養(yǎng)了大量計算機專業(yè)人才。非常熟知大廠要什么!所以他的書也是非常有針對性。

          為幫助大家更輕松地學習Java,作者還親自錄制了配套視頻講解課程,視頻配有中文配音+中文字幕,與紙書涵蓋內容基本一致,適配Java SE8以后的版本。紙書+視頻搭配學習,學習Java更輕松。(B站搜索“Java核心技術站”直達)。

          ......

          相信在學習Java的道路上有了《Java核心技術》這本書的輔助,你一定可以做到事半功倍。

          特別預告


          瀏覽 80
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产乱伦肏屄视频 | 精品国产777 | 亚洲国产激情视频 | 亚洲电影无码在线观看视频 | 亚洲视频免费观看视频 |