摘要:更新速度快的飛起,早期訪問構建版已發布,你現在用到了第幾版本本周的最大新聞可能是的正式發布。早期訪問構建版特征如下目前為止,針對的是切換表達式原始字符串文字本文不聊的新特性。網上太多了,自行搜索。
JDK 更新速度快的飛起,JDK 12 早期訪問構建版已發布,你現在用到了第幾版本?
本周Java的最大新聞可能是JDK 11的正式發布。不過在 6 月底,JDK 11 就已經進入了 Rampdown Phase One 階段,這意味著該版本所有新的功能特性被凍結,不會再加入更多的 JEP,然而,另一個令人興奮的發展是JDK 12 Early Access Build 12(2018年9月20日)的發布。
JDK 12 早期訪問構建版特征如下:
目前為止,JEP針對的是JDK 12
JEP 325: Switch Expressions (Preview) 切換表達式
JEP 326: Raw String Literals (Preview) 原始字符串文字
本文不聊JDK 11 的新特性。網上太多了,自行搜索。
本文借用,JEP 325,JEP 326 提供的示例,演示一下 JDK 12 的 新特性
JDK 12 最新的改動 安裝JDK12http://jdk.java.net/12
下載,解壓,配置環境變量
$ 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)切換表達式例子
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 { /** * 這個例子取自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:切換表達式(預覽) * */ 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執行
編譯 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.
執行 SwitchExpressionsDemo.java
$ java --enable-preview -cp build examples.SwitchExpressionsDemo
響應
one two many
切換表達式和增強的switch語句:“如果標簽匹配,那么只執行箭頭標簽右側的表達式或語句,否則不執行。
原始字符串文字例子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 = `搜云庫 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); } /** * 運行新的原始字符串文字 */ public static void main(final String[] arguments) { demonstrateHtml(); demonstrateSql(); demonstratePolyglot(); } }
1、類必須使用 javac --enable-preview --release編譯
2、并且必須使用java --enable-preview執行
編譯 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.
執行 StringDemo.java
$ java --enable-preview -cp build examples.StringDemo
響應
往期精彩閱讀搜云庫 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 做分布式服務請求跟蹤
Java并發:分布式應用限流實踐
接口限流:漏桶算法&令牌桶算法
Java并發:Semaphore信號量源碼分析
Java并發:深入淺出AQS之共享鎖模式源碼分析
Java并發:深入淺出AQS之獨占鎖模式源碼分析
Java并發:了解無鎖CAS就從源碼分析
Java并發:CAS原理分析
Contact作者:鵬磊
出處:http://www.ymq.io/2018/09/27/jdk12
版權歸作者所有,轉載請注明出處
Wechat:關注公眾號,搜云庫,專注于開發技術的研究與知識分享
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77280.html
摘要:今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發。 今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...
摘要:今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發。 今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...
摘要:近日,推出了一個新的開源框架,該項目是一個用于創建基于微服務的應用程序的庫集合。下圖說明了和所屬的微服務框架類別。啟用后,會將其跟蹤事件發送到。 近日,Oracle推出了一個新的開源框架Helidon,該項目是一個用于創建基于微服務的應用程序的Java庫集合。和Payara Micro、Thorntail(之前的WildFly Swarm)、OpenLiberty、TomEE等項目一樣...
摘要:可中斷的如果的存在超出暫停目標的可能性,則使其可被中止。未使用分配內存即時返回增強垃圾收集器,以便在空閑時自動將堆內存返回給操作系統。 showImg(https://segmentfault.com/img/remote/1460000018584818); 寫在前面 看到 JDK 12又發布了,萌新不知不覺感覺瑟瑟發抖,從 Java 1.8的函數式編程思維和范式 到 Java 1...
摘要:到年將提供修復和安全更新。中期版本將每六個月發布一次。將擴展類文件格式以支持新的常量池形式。將提供一個低開銷的數據收集框架,用于對應用程序和進行故障排除。項目負責人表示,維護成本和低使用率并不能證明其保留是合理的。將是第一個獲得支持的平臺。 Java JDK 11刪除了CORBA,Java EE和JavaFX支持,但添加了十幾個主要新功能。 Java Development Kit(J...
閱讀 3406·2021-11-25 09:43
閱讀 3464·2021-11-19 09:40
閱讀 2464·2021-10-14 09:48
閱讀 1283·2021-09-09 11:39
閱讀 1920·2019-08-30 15:54
閱讀 2821·2019-08-30 15:44
閱讀 1994·2019-08-29 13:12
閱讀 1543·2019-08-29 12:59