官术网_书友最值得收藏!

1.2 現(xiàn)代Java新特性:從Java 8到Java 13

作為一門很受歡迎的編程語(yǔ)言,Java語(yǔ)言在經(jīng)歷了20多年的發(fā)展后,已然成為開發(fā)者首選的“利器”。之所以能保持在編程界不斷受到開發(fā)者的熱捧,一個(gè)非常重要的原因就是Java自身不斷在進(jìn)化,不管是從其他語(yǔ)言中汲取經(jīng)驗(yàn),還是從實(shí)際應(yīng)用中挖掘新的需求,Java不斷增強(qiáng)的新特性,簡(jiǎn)化致力于應(yīng)用的開發(fā),讓應(yīng)用運(yùn)行更快、更穩(wěn)定。

接下來(lái),讓我們一起看一下從Java 8以來(lái)各個(gè)版本發(fā)布的新特性。

1.2.1 Java 8新特性

Java 8包含了如下新特性:

· Lambdas表達(dá)式與Functional接口

· 接口的默認(rèn)與靜態(tài)方法

· 新增方法的調(diào)用方式

· 優(yōu)化了HashMap以及ConcurrentHashMap

· 方法引用

· 重復(fù)注解

· 更好的類型推測(cè)機(jī)制

· 擴(kuò)展注解的支持

· Optional類

· Stream API

· Date/Time API(JSR 310)

· 并行(parallel)數(shù)組

· 并發(fā)(Concurrency)改進(jìn)

· 新增Nashorn

1.2.2 Java 9新特性

Java 9包含了如下新特性:

· 模塊化系統(tǒng)

· Linking

· JShell

· 改進(jìn)的Javadoc

· 集合工廠方法

· 改進(jìn)的Stream API

· 私有接口方法

· HTTP/2

· 多版本兼容JAR

1.2.3 Java 10新特性

Java 10包含了如下新特性:

· 局部變量類型推斷

· GC改進(jìn)和內(nèi)存管理

· 線程本地握手

· 備用內(nèi)存設(shè)備上的堆分配

· 支持Unicode

· 基于Java的實(shí)驗(yàn)性JIT編譯器

· 根證書

· 根證書頒發(fā)認(rèn)證

· 刪除javah工具

1.2.4 Java 11新特性

Java 11包含了如下新特性:

· 字符串加強(qiáng)

· 集合加強(qiáng)

· Stream加強(qiáng)

· HTTP Client API

· 運(yùn)行源代碼

· 支持Unicode 10

· 新增JShell

· 新增ZGC垃圾處理器

· 新增Epsilon垃圾處理器

1.2.5 Java 12新特性

Java 12包含了如下新特性:

· 短停頓時(shí)間的GC——Shenandoah

· 微基準(zhǔn)測(cè)試套件

· Switch表達(dá)式增強(qiáng)

· 緊湊數(shù)字格式

· JVM常量API

· 保留一個(gè)AArch64實(shí)現(xiàn)

· 默認(rèn)類數(shù)據(jù)共享歸檔文件

· 可中止的G1 Mixed GC

· G1及時(shí)返回未使用的已分配內(nèi)存

1.2.6 Java 13新特性

Java 13包含了如下新特性:

· 動(dòng)態(tài)類數(shù)據(jù)共享歸檔

· 增強(qiáng)ZGC以將未使用的堆內(nèi)存返回給操作系統(tǒng)

· Socket API的重新實(shí)現(xiàn)

· Switch表達(dá)式增強(qiáng)

· 文本塊

上面列出的只是部分特性,后續(xù)章節(jié)還將繼續(xù)探討這些特性的完整使用方式。

主站蜘蛛池模板: 尉犁县| 宁德市| 越西县| 庄河市| 利辛县| 江津市| 阳山县| 电白县| 恩平市| 灵山县| 肇庆市| 淅川县| 遂川县| 无锡市| 扬中市| 农安县| 辽阳县| 甘德县| 大方县| 涡阳县| 孟州市| 阿拉善左旗| 大渡口区| 建湖县| 含山县| 南涧| 宁南县| 巴南区| 安多县| 青田县| 新宾| 通渭县| 黑山县| 团风县| 格尔木市| 西丰县| 新昌县| 平罗县| 宝山区| 东兴市| 周至县|