亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 協議不同
    查看全部
  • 3-11 JDK11 其他新特性

    查看全部
  • 3-10 JDK11 中新增加的常用 API

    查看全部
  • import?org.jetbrains.annotations.NotNull;
    
    import?java.util.ArrayList;
    import?java.util.Arrays;
    import?java.util.List;
    import?java.util.Map;
    
    public?class?LocalVarExample?{
    
    ????/**
    ?????*?java8特性:lambda表達式語法
    ?????*/
    ????public?static?void?lambdaInJava8()?{
    ????????new?Thread(new?Runnable()?{
    ????????????@Override
    ????????????public?void?run()?{
    ????????????????System.out.println("before?java8");
    ????????????}
    ????????}).start();
    
    ????????new?Thread(()->?System.out.println("in?java8")).start();
    ????????List<String>?list?=?Arrays.asList("java8","jdk8","1.8");
    ????????list.forEach(w->{
    ????????????System.out.println("lambda?in?java8->"+w);
    ????????});
    ????}
    
    ????/**
    ?????*Java10?新特性:局部變量類型推斷
    ?????*/
    ????private?static?void?varInJava10(){
    ????????int?var?=10;
    ????????var?i?=10;
    ????????var?str?=?"java10";
    ????????var?list?=?new?ArrayList<String>();
    ????????var?map?=?Map.of(1,"a",2,"b");
    ????????for(var?entry?:?map.entrySet()){
    ????????????System.out.println(entry);
    ????????}
    ????}
    
    ????/**
    ?????*Java11?新特性:允許var在聲明隱式類型的lambda表達式的形式參數時使用
    ?????*/
    ????private?static?void?lambdaWithVarInJava11?(){
    ???????List<Integer>?nums?=?Arrays.asList(9,11,23,3,7,2,8);
    //???????nums.sort((s1,s2)->{
    //???????????if(s1.equals(s2)){
    //???????????????return?0;
    //???????????}else{
    //???????????????return?s1?>?s2???1:-1;
    //???????????}
    //???????});
    ???????nums.sort((@NotNull?var?s1,?@NotNull?var?s2)->{
    ???????????if?(s1.equals(s2))?{
    ???????????????return?0;
    ???????????}?else?{
    ???????????????return?s1?>?s2???1?:?-1;
    ???????????}
    ???????});
    ???????nums.sort((s1,s2)->?s1?>?s2???1:-1);
    ???????System.out.println(nums);
    ????}
    
    ????/**
    ?????*?Lambda參數的本地變量語法
    ?????*/
    ????public?static?void?main(String[]?args)?{
    //????????lambdaInJava8();
    //????????varInJava10();
    ????????lambdaWithVarInJava11();
    ????}
    }


    查看全部
  • import?java.net.URI;
    import?java.net.http.HttpClient;
    import?java.net.http.HttpRequest;
    import?java.net.http.HttpResponse;
    import?java.util.concurrent.CompletableFuture;
    
    /**
    ?*?標準HTTP客戶端
    ?*/
    public?class?HttpClientExample?{
    ????/**
    ?????*?同步Get方法
    ?????*?@param?uri
    ?????*?@throws?Exception
    ?????*/
    ????private?static?void?synGet(String?uri)?throws?Exception?{
    ????????HttpClient?client?=?HttpClient.newHttpClient();
    ????????HttpRequest?request?=?HttpRequest.newBuilder().uri(
    ????????????????URI.create(uri)).build();
    ????????HttpResponse<String>?response?=?client.send(request,?HttpResponse.BodyHandlers.ofString());
    ????????System.out.println(response.statusCode());
    ????????System.out.println(response.body());
    ????}
    
    ????/**
    ?????*?異步Get方法
    ?????*?@param?uri
    ?????*?@throws?Exception
    ?????*/
    ????private?static?void?asyncGet(String?uri)?throws?Exception?{
    ????????HttpClient?client?=?HttpClient.newHttpClient();
    ????????HttpRequest?request?=?HttpRequest.newBuilder().uri(
    ????????????????URI.create(uri)).build();
    ????????CompletableFuture<HttpResponse<String>>?future?=?client.sendAsync(request,HttpResponse.BodyHandlers.ofString());
    ????????future.whenComplete((resp,ex)->{
    ????????????if?(ex!=null){
    ????????????????ex.printStackTrace();
    ????????????}else?{
    ????????????????System.out.println(resp.statusCode());
    ????????????????System.out.println(resp.body());
    ????????????}
    ????????}).join();
    ????}
    
    ????public?static?void?main(String[]?args)?throws?Exception?{
    ????????String?uri?=?"http://t.weather.sojson.com/api/weather/city/101030100";
    ????????//synGet(uri);
    ????????asyncGet(uri);
    ????}
    }


    查看全部
  • import?java.util.concurrent.TimeUnit;
    
    /**
    ?*?改進Aarch64函數
    ?*/
    public?class?Aarch64Example?{
    ????public?static?void?mathOnJdk11()?{
    ????????long?startTime?=?System.nanoTime();
    ????????for?(int?i?=?0;?i?<?100000000;?i++)?{
    ????????????Math.sin(i);
    ????????????Math.cos(i);
    ????????????Math.log(i);
    ????????}
    ????????long?endTime?=?System.nanoTime();
    ????????System.out.println(TimeUnit.NANOSECONDS.toMillis(endTime-startTime)+"ms");
    ????}
    
    ????public?static?void?main(String[]?args)?{
    ????????mathOnJdk11();
    ????}
    }


    查看全部
  • import?java.lang.invoke.MethodHandle;
    import?java.lang.invoke.MethodHandles;
    import?java.lang.invoke.MethodType;
    
    /**
    ?*?動態語言API測試
    ?*/
    public?class?DynamicTest?{
    ????private?static?void?test(){
    ????????System.out.println("動態語言API測試");
    ????}
    ????public?static?void?main(String[]?args)?throws?Throwable?{
    ????????//?public方法的Lookup
    //????????MethodHandles.Lookup?publicLookup?=?MethodHandles.publicLookup();
    ????????//?所有方法的Lookup
    ????????MethodHandles.Lookup?lookup?=?MethodHandles.lookup();
    ????????MethodHandle?mh?=?lookup.findStatic(DynamicTest.class,"test",?MethodType.methodType(void.class));
    ????????mh.invokeExact();
    ????}
    }


    查看全部
  • 動態語言API測試

    查看全部
  • G1垃圾收集器會將堆內存分配為等大小的region默認情況下是2048個region

    查看全部
  • 對象內存分配過快,mixed gc來不及清理,導致old region被沾滿會觸發full gc,full gc是單線程執行

    查看全部
  • 老年代占用的內存大小超過堆內存的預值時會觸發mixed gc,預值可以在啟動的時候指定

    查看全部
  • G1垃圾收集器

    查看全部
  • 并發表及掃描垃圾回收器

    查看全部
  • 并行垃圾收集器

    查看全部
  • 串行垃圾收集器

    查看全部

舉報

0/150
提交
取消
課程須知
本課程是對 JDK 新版本的特性進行解讀,并不會介紹 Java 語言及語法特性。所以,在學習本課程之前,需要對 Java 語言有所了解。
老師告訴你能學到什么?
1. 多版本 JDK 的安裝和配置 2. JDK11 核心新特性的介紹及代碼演示 3. JDK12 核心新特性的介紹及代碼演示

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!