成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

JAVA9-12新特性簡(jiǎn)述

TigerChain / 3172人閱讀

摘要:本文是個(gè)人在企業(yè)內(nèi)部分享使用的簡(jiǎn)要大綱,列舉了的重要更新,文章的結(jié)構(gòu)較簡(jiǎn)單,也不規(guī)范,鑒于近期寫(xiě)若干文章時(shí)總會(huì)忘記一些新特性所處的版本,特將此大綱流留用。

本文是個(gè)人在企業(yè)內(nèi)部分享使用的簡(jiǎn)要大綱,列舉了JAVA9-12的重要更新,文章的結(jié)構(gòu)較簡(jiǎn)單,也不規(guī)范,鑒于近期寫(xiě)若干文章時(shí)總會(huì)忘記一些新特性所處的版本,特將此大綱流copy留用。

一 JAVA9 新特性

1.Java Platform Module System/ Modular Java Application Packaging模塊化系統(tǒng)及類(lèi)加載器分級(jí)

2.jshell

3.Multi-Release JAR Files 多版本的jar包

4.Jlink 工具

5.Segmented Code Cache 代碼片段緩存

6.Dynamic Linking of Language-Defined Object Models 動(dòng)態(tài)鏈接語(yǔ)言定義模型

7.Unified JVM Logging 統(tǒng)一JVM日志

8.將G1作為默認(rèn)垃圾收集器,并deprecated CMS.

9.進(jìn)程API

10.變量句柄

11.字符串內(nèi)部實(shí)現(xiàn)優(yōu)化(字符數(shù)組變字節(jié)數(shù)組+編碼方式)

12.發(fā)布訂閱框架

13.集合工廠方法

14.自旋暗示

15.對(duì)象序列化數(shù)據(jù)過(guò)濾

16."棧旅行者"

17.Milling Project Coin(鬼知道該怎么翻譯).

Allow @SafeVargs on private instance methods. //允許在私有實(shí)例方法上標(biāo)注@SafeVargs注解

Allow effectively final variables to be used as resources in the try-with-resourcesstatement. //try-with-resource 語(yǔ)法支持實(shí)際final的變量

Allow the diamond with anonymous classes if the argument type of the inferred type is denotable.//允許對(duì)可推薦出類(lèi)型的匿名內(nèi)部類(lèi)使用鉆石符號(hào).

Complete the removal, begun in Java SE 8, of the underscore from the set of legal identifier names.//移除java8中已經(jīng)開(kāi)始的,以下劃線作為完整標(biāo)識(shí)符名稱(chēng)

Add support for private interface methods.//接口中可定義私有方法.

18.擴(kuò)大的unicode集

19.孵化官方http client.

二 JAVA10

1.局部變量類(lèi)型推斷

2.統(tǒng)一定義的 GC接口.

3.g1垃圾收集器的并行full gc

4.應(yīng)用類(lèi)數(shù)據(jù)共享

5.thread local 握手

6.擴(kuò)展unicode語(yǔ)言標(biāo)簽.

三. JAVA11

1.unicode10支持

2.標(biāo)準(zhǔn)化java9中孵化的http客戶端

demo:同步式編程

public void get(String uri) throws Exception {

    HttpClient client = HttpClient.newHttpClient();
    HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(uri))
            .build();
    HttpResponse response =
            client.send(request, HttpResponse.BodyHandlers.ofString());

    System.out.println(response.body());
}

demo:響應(yīng)式編程

public CompletableFuture getCompletableFuture(String uri) {

    HttpClient client = HttpClient.newHttpClient();
    HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(uri))
            .build();

    return client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
            .thenApply(HttpResponse::body);
}

demo:響應(yīng)式編程-并發(fā)

public void testConcurrentRequests(){

    HttpClient client = HttpClient.newHttpClient();
    List urls = 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();
}

注:以上代碼是分享時(shí)從網(wǎng)上轉(zhuǎn)來(lái)的,因?yàn)榇宋氖菑膬?nèi)部wiki粘過(guò)來(lái),出處已忘。接下來(lái)打算發(fā)一篇CompletableFuture有關(guān)的文章,最近對(duì)響應(yīng)式編程的興趣更加深刻了。

3.Collection.toArray(IntFunction) Default 方法

4.編譯器線程的懶分配

5.體驗(yàn)版zgc大殺器(缺少類(lèi)和元數(shù)據(jù)卸載)

6.Epsilon GC no-op 體驗(yàn)版

7.少代價(jià)的堆分析工具jvmti

8.nests, an access-control context ,省去編譯器插入accessibility-broadening bridge methods

9.一些屬性變事實(shí)的只讀.java.home, user.home, user.dir, user.name等

10.Reference類(lèi)不再支持克隆

11.使用classpath進(jìn)行編譯運(yùn)行時(shí),默認(rèn)解析的模塊策略變更:root模塊集在此版本變更為所有可見(jiàn)的導(dǎo)出api的系統(tǒng)模塊,唯一可見(jiàn)的改變是java.se模塊不在默認(rèn)解析.

12.SelectableChannel可以在select操作正在進(jìn)行中注冊(cè).

13.DatagramChannel.send Throws AlreadyConnectedException Instead of IllegalArgumentException

14.為并發(fā)gc提供新的性能記數(shù)器

15.g1支持自適應(yīng)的引用處理時(shí)的線程數(shù).所有g(shù)c支持stw階段的并行自適應(yīng).

16.模塊路徑下支持類(lèi)數(shù)據(jù)共享cds.

四.JAVA12

1.unicode11支持

2.jvm常量api

3.簡(jiǎn)寫(xiě)的數(shù)字格式:1k

4.zgc支持并發(fā)類(lèi)數(shù)據(jù)卸載

5.支持交替在內(nèi)存設(shè)備上分配老年代,支持相應(yīng)功能的設(shè)備如"非易變-雙列直插式內(nèi)存模型"(NV-DIMM).

6.switch case支持語(yǔ)句的同時(shí)支持表達(dá)式.case ... ->

7.更好的支持http重定向(HttpURLConnection)

8.g1可能在并發(fā)標(biāo)記周期交回內(nèi)存.

9可終止的g1混合gc

10.讓g1在空閑時(shí)自動(dòng)交回已提交但未使用的內(nèi)存.

11.Shenandoah 低停頓gc體驗(yàn)版.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74962.html

相關(guān)文章

  • ForkJoin框架之CompletableFuture

    摘要:內(nèi)部類(lèi),用于對(duì)和異常進(jìn)行包裝,從而保證對(duì)進(jìn)行只有一次成功。是取消異常,轉(zhuǎn)換后拋出。判斷是否使用的線程池,在中持有該線程池的引用。 前言 近期作者對(duì)響應(yīng)式編程越發(fā)感興趣,在內(nèi)部分享JAVA9-12新特性過(guò)程中,有兩處特性讓作者深感興趣:1.JAVA9中的JEP266對(duì)并發(fā)編程工具的更新,包含發(fā)布訂閱框架Flow和CompletableFuture加強(qiáng),其中發(fā)布訂閱框架以java.base...

    lindroid 評(píng)論0 收藏0
  • JAVA運(yùn)行時(shí)簡(jiǎn)述(HotSpot)

    摘要:拆解虛擬機(jī)的基本步聚如下首先,要等待到自身成為唯一一個(gè)正在運(yùn)行的非守護(hù)線程時(shí),在整個(gè)等待過(guò)程中,虛擬機(jī)仍舊是可工作的。將相應(yīng)的事件發(fā)送給,禁用,并終止信號(hào)線程。 本文簡(jiǎn)單介紹HotSpot虛擬機(jī)運(yùn)行時(shí)子系統(tǒng),內(nèi)容來(lái)自不同的版本,因此可能會(huì)與最新版本之間(當(dāng)前為JDK12)存在一些誤差。 1.命令行參數(shù)處理HotSpot虛擬機(jī)中有大量的可影響性能的命令行屬性,可根據(jù)他們的消費(fèi)者進(jìn)行簡(jiǎn)...

    hosition 評(píng)論0 收藏0
  • Apache和Spring提供的StopWatch執(zhí)行時(shí)間監(jiān)視器

    摘要:借助它來(lái)統(tǒng)計(jì)我們程序的執(zhí)行時(shí)間,帶給非常多的方便和優(yōu)雅。且,且,且設(shè)置為了當(dāng)前時(shí)間。 相關(guān)閱讀 【小家java】java5新特性(簡(jiǎn)述十大新特性) 重要一躍【小家java】java6新特性(簡(jiǎn)述十大新特性) 雞肋升級(jí)【小家java】java7新特性(簡(jiǎn)述八大新特性) 不溫不火【小家java】java8新特性(簡(jiǎn)述十大新特性) 飽受贊譽(yù)【小家java】java9新特性(簡(jiǎn)述十大新特性) ...

    Genng 評(píng)論0 收藏0
  • 2019前端秋季社招面試經(jīng)歷總結(jié)(三年經(jīng)驗(yàn))

    摘要:經(jīng)歷月份開(kāi)放的簡(jiǎn)歷,收到了蠻多詢(xún)問(wèn)和面試,算是招人旺季,需要跳槽的小伙伴抓住機(jī)會(huì)?,F(xiàn)在是面試了家公司左右,有些高頻問(wèn)題會(huì)標(biāo)記次數(shù)總次數(shù),可供大家參考。最后祝大家面試順利,拿到心儀的,寫(xiě)錯(cuò)的地方請(qǐng)不吝賜教,謝謝。 經(jīng)歷 7月份開(kāi)放的簡(jiǎn)歷,收到了蠻多詢(xún)問(wèn)和面試,算是招人旺季,需要跳槽的小伙伴抓住機(jī)會(huì)。一開(kāi)始廣泛看面試題,沒(méi)抓住重點(diǎn)復(fù)習(xí),有很多平時(shí)也沒(méi)怎么用到,導(dǎo)致一開(kāi)始面試的時(shí)候,問(wèn)的問(wèn)題...

    Kross 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<