摘要:更新速度快的飛起,早期訪問構(gòu)建版已發(fā)布,你現(xiàn)在用到了第幾版本本周的最大新聞可能是的正式發(fā)布。早期訪問構(gòu)建版特征如下目前為止,針對(duì)的是切換表達(dá)式原始字符串文字本文不聊的新特性。網(wǎng)上太多了,自行搜索。
JDK 更新速度快的飛起,JDK 12 早期訪問構(gòu)建版已發(fā)布,你現(xiàn)在用到了第幾版本?
本周Java的最大新聞可能是JDK 11的正式發(fā)布。不過在 6 月底,JDK 11 就已經(jīng)進(jìn)入了 Rampdown Phase One 階段,這意味著該版本所有新的功能特性被凍結(jié),不會(huì)再加入更多的 JEP,然而,另一個(gè)令人興奮的發(fā)展是JDK 12 Early Access Build 12(2018年9月20日)的發(fā)布。
JDK 12 早期訪問構(gòu)建版特征如下:
目前為止,JEP針對(duì)的是JDK 12
JEP 325: Switch Expressions (Preview) 切換表達(dá)式
JEP 326: Raw String Literals (Preview) 原始字符串文字
本文不聊JDK 11 的新特性。網(wǎng)上太多了,自行搜索。
本文借用,JEP 325,JEP 326 提供的示例,演示一下 JDK 12 的 新特性
JDK 12 最新的改動(dòng) 安裝JDK12http://jdk.java.net/12
下載,解壓,配置環(huán)境變量
$ wget https://download.java.net/java/early_access/jdk12/12/GPL/openjdk-12-ea+12_linux-x64_bin.tar.gz
查看版本
$ java -version openjdk version "12-ea" 2019-03-19 OpenJDK Runtime Environment 19.3 (build 12-ea+12) OpenJDK 64-Bit Server VM 19.3 (build 12-ea+12, mixed mode)切換表達(dá)式例子
JEP 325: Switch Expressions (Preview)
package examples; /** * JEP 326 http://openjdk.java.net/jeps/325 * OpenJDK builds http://jdk.java.net/12 */ public class SwitchExpressionsDemo { /** * 這個(gè)例子取自JEP 325文本 * http://openjdk.java.net/jeps/325 * * @param k Value to be switched upon. */ static void howMany(final int k) { switch (k) { case 1 -> System.out.println("one"); case 2 -> System.out.println("two"); case 3 -> System.out.println("many"); } } /** * JEP 325:切換表達(dá)式(預(yù)覽) * */ public static void demonstrateHowMany() { howMany(1); howMany(2); howMany(3); } public static void main(final String[] arguments) { demonstrateHowMany(); } }
1、類必須使用 javac --enable-preview --release編譯
2、并且必須使用java --enable-preview執(zhí)行
編譯 SwitchExpressionsDemo.java
$ javac --enable-preview --release 12 -d build examples/SwitchExpressionsDemo.java Note: examples/SwitchExpressionsDemo.java uses preview language features. Note: Recompile with -Xlint:preview for details.
執(zhí)行 SwitchExpressionsDemo.java
$ java --enable-preview -cp build examples.SwitchExpressionsDemo
響應(yīng)
one two many
切換表達(dá)式和增強(qiáng)的switch語(yǔ)句:“如果標(biāo)簽匹配,那么只執(zhí)行箭頭標(biāo)簽右側(cè)的表達(dá)式或語(yǔ)句,否則不執(zhí)行。
原始字符串文字例子JEP 326: Raw String Literals (Preview)
package examples; import java.io.IOException; import static java.lang.System.out; /** * JEP 326 http://openjdk.java.net/jeps/326 * OpenJDK builds http://jdk.java.net/12 */ public class StringDemo{ private static void demonstrateHtml() { String html = `搜云庫(kù) Hello World.
`; out.println(html.align()); } private static void demonstrateSql() { final String query = ` SELECT EMP_ID, LAST_NAME FROM EMPLOYEE_TB WHERE CITY = INDIANAPOLIS ORDER BY EMP_ID, LAST_NAME; `; out.println(query); } private static void demonstratePolyglot() { String script = ` function hello() { print(""Hello World www.souyunku.com ""); } hello(); `; out.println(script); } /** * 運(yùn)行新的原始字符串文字 */ public static void main(final String[] arguments) { demonstrateHtml(); demonstrateSql(); demonstratePolyglot(); } }
1、類必須使用 javac --enable-preview --release編譯
2、并且必須使用java --enable-preview執(zhí)行
編譯 StringDemo.java
$ javac --enable-preview --release 12 -d build examples/StringDemo.java Note: examples/StringDemo.java uses preview language features. Note: Recompile with -Xlint:preview for details.
執(zhí)行 StringDemo.java
$ java --enable-preview -cp build examples.StringDemo
響應(yīng)
往期精彩閱讀搜云庫(kù) Hello World.
SELECT EMP_ID, LAST_NAME FROM EMPLOYEE_TB WHERE CITY = INDIANAPOLIS ORDER BY EMP_ID, LAST_NAME; function hello() { print(""Hello World www.souyunku.com ""); } hello();
Dubbo 整合 Pinpoint 做分布式服務(wù)請(qǐng)求跟蹤
Java并發(fā):分布式應(yīng)用限流實(shí)踐
接口限流:漏桶算法&令牌桶算法
Java并發(fā):Semaphore信號(hào)量源碼分析
Java并發(fā):深入淺出AQS之共享鎖模式源碼分析
Java并發(fā):深入淺出AQS之獨(dú)占鎖模式源碼分析
Java并發(fā):了解無鎖CAS就從源碼分析
Java并發(fā):CAS原理分析
Contact作者:鵬磊
出處:http://www.ymq.io/2018/09/27/jdk12
版權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)注明出處
Wechat:關(guān)注公眾號(hào),搜云庫(kù),專注于開發(fā)技術(shù)的研究與知識(shí)分享
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77280.html
摘要:今天整理了一下近大半年以來的一些文章,和我的預(yù)期一樣,很多文章我都忘記自己曾經(jīng)寫過了,這個(gè)記錄的過程讓我也有了新的理解。希望大家,收藏,點(diǎn)贊,加轉(zhuǎn)發(fā)。 今天整理了一下近大半年以來的一些文章,和我的預(yù)期一樣,很多文章我都忘記自己曾經(jīng)寫過了,這個(gè)記錄的過程讓我也有了新的理解。希望大家,收藏,點(diǎn)贊,加轉(zhuǎn)發(fā)。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...
摘要:今天整理了一下近大半年以來的一些文章,和我的預(yù)期一樣,很多文章我都忘記自己曾經(jīng)寫過了,這個(gè)記錄的過程讓我也有了新的理解。希望大家,收藏,點(diǎn)贊,加轉(zhuǎn)發(fā)。 今天整理了一下近大半年以來的一些文章,和我的預(yù)期一樣,很多文章我都忘記自己曾經(jīng)寫過了,這個(gè)記錄的過程讓我也有了新的理解。希望大家,收藏,點(diǎn)贊,加轉(zhuǎn)發(fā)。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...
摘要:近日,推出了一個(gè)新的開源框架,該項(xiàng)目是一個(gè)用于創(chuàng)建基于微服務(wù)的應(yīng)用程序的庫(kù)集合。下圖說明了和所屬的微服務(wù)框架類別。啟用后,會(huì)將其跟蹤事件發(fā)送到。 近日,Oracle推出了一個(gè)新的開源框架Helidon,該項(xiàng)目是一個(gè)用于創(chuàng)建基于微服務(wù)的應(yīng)用程序的Java庫(kù)集合。和Payara Micro、Thorntail(之前的WildFly Swarm)、OpenLiberty、TomEE等項(xiàng)目一樣...
摘要:可中斷的如果的存在超出暫停目標(biāo)的可能性,則使其可被中止。未使用分配內(nèi)存即時(shí)返回增強(qiáng)垃圾收集器,以便在空閑時(shí)自動(dòng)將堆內(nèi)存返回給操作系統(tǒng)。 showImg(https://segmentfault.com/img/remote/1460000018584818); 寫在前面 看到 JDK 12又發(fā)布了,萌新不知不覺感覺瑟瑟發(fā)抖,從 Java 1.8的函數(shù)式編程思維和范式 到 Java 1...
摘要:到年將提供修復(fù)和安全更新。中期版本將每六個(gè)月發(fā)布一次。將擴(kuò)展類文件格式以支持新的常量池形式。將提供一個(gè)低開銷的數(shù)據(jù)收集框架,用于對(duì)應(yīng)用程序和進(jìn)行故障排除。項(xiàng)目負(fù)責(zé)人表示,維護(hù)成本和低使用率并不能證明其保留是合理的。將是第一個(gè)獲得支持的平臺(tái)。 Java JDK 11刪除了CORBA,Java EE和JavaFX支持,但添加了十幾個(gè)主要新功能。 Java Development Kit(J...
閱讀 3417·2021-11-25 09:43
閱讀 3471·2021-11-19 09:40
閱讀 2478·2021-10-14 09:48
閱讀 1295·2021-09-09 11:39
閱讀 1933·2019-08-30 15:54
閱讀 2829·2019-08-30 15:44
閱讀 2003·2019-08-29 13:12
閱讀 1550·2019-08-29 12:59