摘要:本文是個人在企業內部分享使用的簡要大綱,列舉了的重要更新,文章的結構較簡單,也不規范,鑒于近期寫若干文章時總會忘記一些新特性所處的版本,特將此大綱流留用。
本文是個人在企業內部分享使用的簡要大綱,列舉了JAVA9-12的重要更新,文章的結構較簡單,也不規范,鑒于近期寫若干文章時總會忘記一些新特性所處的版本,特將此大綱流copy留用。
一 JAVA9 新特性
1.Java Platform Module System/ Modular Java Application Packaging模塊化系統及類加載器分級
2.jshell
3.Multi-Release JAR Files 多版本的jar包
4.Jlink 工具
5.Segmented Code Cache 代碼片段緩存
6.Dynamic Linking of Language-Defined Object Models 動態鏈接語言定義模型
7.Unified JVM Logging 統一JVM日志
8.將G1作為默認垃圾收集器,并deprecated CMS.
9.進程API
10.變量句柄
11.字符串內部實現優化(字符數組變字節數組+編碼方式)
12.發布訂閱框架
13.集合工廠方法
14.自旋暗示
15.對象序列化數據過濾
16."棧旅行者"
17.Milling Project Coin(鬼知道該怎么翻譯).
Allow @SafeVargs on private instance methods. //允許在私有實例方法上標注@SafeVargs注解
Allow effectively final variables to be used as resources in the try-with-resourcesstatement. //try-with-resource 語法支持實際final的變量
Allow the diamond with anonymous classes if the argument type of the inferred type is denotable.//允許對可推薦出類型的匿名內部類使用鉆石符號.
Complete the removal, begun in Java SE 8, of the underscore from the set of legal identifier names.//移除java8中已經開始的,以下劃線作為完整標識符名稱
Add support for private interface methods.//接口中可定義私有方法.
18.擴大的unicode集
19.孵化官方http client.
二 JAVA10
1.局部變量類型推斷
2.統一定義的 GC接口.
3.g1垃圾收集器的并行full gc
4.應用類數據共享
5.thread local 握手
6.擴展unicode語言標簽.
三. JAVA11
1.unicode10支持
2.標準化java9中孵化的http客戶端
demo:同步式編程
public void get(String uri) throws Exception {
HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(uri)) .build(); HttpResponseresponse = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); }
demo:響應式編程
public CompletableFuture
HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(uri)) .build(); return client.sendAsync(request, HttpResponse.BodyHandlers.ofString()) .thenApply(HttpResponse::body); }
demo:響應式編程-并發
public void testConcurrentRequests(){
HttpClient client = HttpClient.newHttpClient(); Listurls = List.of("http://www.baidu.com","http://www.alibaba.com/","http://www.tencent.com"); List requests = urls.stream() .map(url -> HttpRequest.newBuilder(URI.create(url))) .map(reqBuilder -> reqBuilder.build()) .collect(Collectors.toList()); List >> futures = requests.stream() .map(request -> client.sendAsync(request, HttpResponse.BodyHandlers.ofString())) .collect(Collectors.toList()); futures.stream() .forEach(e -> e.whenComplete((resp,err) -> { if(err != null){ err.printStackTrace(); }else{ System.out.println(resp.body()); System.out.println(resp.statusCode()); } })); CompletableFuture.allOf(futures .toArray(CompletableFuture>[]::new)) .join(); }
注:以上代碼是分享時從網上轉來的,因為此文是從內部wiki粘過來,出處已忘。接下來打算發一篇CompletableFuture有關的文章,最近對響應式編程的興趣更加深刻了。
3.Collection.toArray(IntFunction) Default 方法
4.編譯器線程的懶分配
5.體驗版zgc大殺器(缺少類和元數據卸載)
6.Epsilon GC no-op 體驗版
7.少代價的堆分析工具jvmti
8.nests, an access-control context ,省去編譯器插入accessibility-broadening bridge methods
9.一些屬性變事實的只讀.java.home, user.home, user.dir, user.name等
10.Reference類不再支持克隆
11.使用classpath進行編譯運行時,默認解析的模塊策略變更:root模塊集在此版本變更為所有可見的導出api的系統模塊,唯一可見的改變是java.se模塊不在默認解析.
12.SelectableChannel可以在select操作正在進行中注冊.
13.DatagramChannel.send Throws AlreadyConnectedException Instead of IllegalArgumentException
14.為并發gc提供新的性能記數器
15.g1支持自適應的引用處理時的線程數.所有gc支持stw階段的并行自適應.
16.模塊路徑下支持類數據共享cds.
四.JAVA12
1.unicode11支持
2.jvm常量api
3.簡寫的數字格式:1k
4.zgc支持并發類數據卸載
5.支持交替在內存設備上分配老年代,支持相應功能的設備如"非易變-雙列直插式內存模型"(NV-DIMM).
6.switch case支持語句的同時支持表達式.case ... ->
7.更好的支持http重定向(HttpURLConnection)
8.g1可能在并發標記周期交回內存.
9可終止的g1混合gc
10.讓g1在空閑時自動交回已提交但未使用的內存.
11.Shenandoah 低停頓gc體驗版.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74962.html
摘要:內部類,用于對和異常進行包裝,從而保證對進行只有一次成功。是取消異常,轉換后拋出。判斷是否使用的線程池,在中持有該線程池的引用。 前言 近期作者對響應式編程越發感興趣,在內部分享JAVA9-12新特性過程中,有兩處特性讓作者深感興趣:1.JAVA9中的JEP266對并發編程工具的更新,包含發布訂閱框架Flow和CompletableFuture加強,其中發布訂閱框架以java.base...
摘要:拆解虛擬機的基本步聚如下首先,要等待到自身成為唯一一個正在運行的非守護線程時,在整個等待過程中,虛擬機仍舊是可工作的。將相應的事件發送給,禁用,并終止信號線程。 本文簡單介紹HotSpot虛擬機運行時子系統,內容來自不同的版本,因此可能會與最新版本之間(當前為JDK12)存在一些誤差。 1.命令行參數處理HotSpot虛擬機中有大量的可影響性能的命令行屬性,可根據他們的消費者進行簡...
摘要:借助它來統計我們程序的執行時間,帶給非常多的方便和優雅。且,且,且設置為了當前時間。 相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍【小家java】java6新特性(簡述十大新特性) 雞肋升級【小家java】java7新特性(簡述八大新特性) 不溫不火【小家java】java8新特性(簡述十大新特性) 飽受贊譽【小家java】java9新特性(簡述十大新特性) ...
摘要:經歷月份開放的簡歷,收到了蠻多詢問和面試,算是招人旺季,需要跳槽的小伙伴抓住機會。現在是面試了家公司左右,有些高頻問題會標記次數總次數,可供大家參考。最后祝大家面試順利,拿到心儀的,寫錯的地方請不吝賜教,謝謝。 經歷 7月份開放的簡歷,收到了蠻多詢問和面試,算是招人旺季,需要跳槽的小伙伴抓住機會。一開始廣泛看面試題,沒抓住重點復習,有很多平時也沒怎么用到,導致一開始面試的時候,問的問題...
閱讀 781·2021-11-09 09:47
閱讀 1568·2019-08-30 15:44
閱讀 1143·2019-08-26 13:46
閱讀 2107·2019-08-26 13:41
閱讀 1266·2019-08-26 13:32
閱讀 3772·2019-08-26 10:35
閱讀 3519·2019-08-23 17:16
閱讀 448·2019-08-23 17:07