• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    java jdk1.8新特性

          jdk1.8相較于1.7以前有5方面的優化。

          1、速度更快

          2、代碼更少(增添了新的語法Lambda表達式)

          3、壯大Stream API

          4、便于并行

          5、最大化削減空指針異常 OPtional

    東西/原料

    • 電腦
    • intellij IDEA

    方式/步調

    1. 1

      Lambda表達式

      可以直接參考:java jdk1.8新特征Lambda表達式

      2新特征表達式

    2. 2

      Stream API

      可以直接參考:java jdk1.8新特征Stream API

      2新特征

    3. 3

      jdk1.8 日期處置

      1、原始jdk1.0引入 java.lang.util.Date

      2、jdk1.1后引入Calendar

      3、引入java.time API且Date新增了toInstant()

      3.1 本家兒如果借鑒了joda-Time

      3.2 中包含當地日期LocalDate、當地時候LocalTime、當地日期時候LoaclDateTime、時區ZonedDateTime、持續時候Duration等類。


      4、測試日期轉換并加減:

      4.1 dtf是日期格局格局化實體對象

      4.2 batchDate日期字符串

      4.3 plusDays對日期加一天

      4.4 format將日期轉為字符串

      import java.time.LocalDate;
      import java.time.format.DateTimeFormatter;

      DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd");

      String batchDateStr = LocalDate.parse(batchDate, dtf).plusDays(1).format(dtf);

      LocalDateTime lt = LocalDateTime.now();

      5、其它具體內容請咨詢或者參考光放文檔

    4. 4

      ForkJoin 框架

      在jdk1.7之前就已經存在,可是沒有大規模應用

    5. 5

      jdk HashMap底層實現

      1、原有是哈希+數組  顛末調整改為 哈希+數組+紅黑二叉樹使得除添加之外的行能都提高了,出格是查詢。

      2、線程平安的concurrentHashMap底層也進行了優化

    6. 6

      jdk8新特征:可反復注解

    7. 7

      jdk8新特征:類型注解

    8. 8

      https://blog.csdn.net/lu930124/article/details/77595585

    9. 9

      4、Java8中的并行流和挨次流

      4.1 挨次流

       

      /**

           * Java8的挨次流

           */

          @Test

          public void test3() {

              Instant start = Instant.now();// java8中新時候日期API

               

              LongStream.rangeClosed(0, 10000000000L)

                          .sequential()// 挨次流

                          .reduce(0, Long::sum);

               

              Instant end = Instant.now();

               

              // 5780

              System.out.println("花費時候為:" + Duration.between(start, end).toMillis());// java8中新時候日期API

          }

    10. 10

      4.2  并行流

       

      /**

           * Java8的并行流

           */

          @Test

          public void test4() {

              Instant start = Instant.now();// java8中新時候日期API

               

              LongStream.rangeClosed(0, 10000000000L)

                          .parallel()// 并行流

                          .reduce(0, Long::sum);

               

              Instant end = Instant.now();

               

              // 2392

              System.out.println("花費時候為:" + Duration.between(start, end).toMillis());// java8中新時候日期API

          }

    • 發表于 2019-11-05 22:10
    • 閱讀 ( 715 )
    • 分類:其他類型

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆