J.J.'s Blogs
J.J. Huang
  • Taipei, Taiwan
本站是 J.J.Huang 的技術「學習」「筆記」部落格。內容涵蓋各式前端、Java後端、Spring Boot、微服務架構、運維開發、系統監控等相關的研究與知識分享。
  • Taipei, Taiwan
  • Java 8 | Nashorn

    Nashorn 是一個 javascript 引擎。 從 JDK 1.8 開始, Nashorn 取代 Rhino ( JDK 1.6 , JDK1.7 )成為 Java 的嵌入式 JavaScript 引擎。 Nashorn 完全支持 ECMAScript 5.1 規範以及一些擴展。它...

  • Java 8 | Base64

    在 Java 8 中, Base64 編碼已經成為 Java 類庫的標準。 Java 8 內置了 Base64 編碼的編碼器和解碼器。 Base64 工具類提供了一套靜態方法獲取下面三種Base64編解碼器​​: 基本:輸出被映射到一組字符 A-Za-z0-9+/ ,編碼不添加任何行標...

  • Java 8 | Date/Time API(JSR 310)

    Java 8 引入了新的 Date-Time API(JSR 310) 來改進時間、日期的處理。時間和日期的管理一直是最令 Java 開發者痛苦的問題。 java.util.Date 和後來的 java.util.Calendar 一直沒有解決這個問題(甚至令開發者更加迷茫)。 因為上面這些...

  • Java 8 | Stream (下)

    Stream 的另一個價值是創造性地支持並行處理( parallel processing )。 Stream 操作可以是順序的,也可以是並行的。順序操作通過單線程執行,而並行操作則通過多線程執行。 並行(parallel)程序 parallelStream 是流並行處理程序的代替方...

  • Java 8 | Stream (上)

    Java 8 API 添加了一個新的抽象稱為流 Stream ,可以讓你以一種聲明的方式處理資料。 Stream 使用一種類似用 SQL 語句從資料庫查詢資料的直觀方式來提供一種對 Java 集合運算和表達的高階抽象。 Stream API 可以極大提高 Java 工程師的生產力,讓工程師寫...

  • Java 8 | Optional

    Java 應用中最常見的 bug 就是空值異常。在 Java 8 之前, Google Guava 引入了 Optionals 類來解決 NullPointerException ,從而避免源碼被各種 null 檢查污染,以便開發者寫出更加整潔的程式碼。 Java 8 也將Optional...

  • Java 8 | 拓寬註解的應用場景

    Java 8 拓寬了註解的應用場景。現在,註解幾乎可以使用在任何元素上:局部變量、接口類型、超類和接口實現類,甚至可以用在函數的異常定義上。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  • Java 8 | 重複註解

    自從 Java 5 中引入註解以來,這個特性開始變得非常流行,並在各個框架和項目中被廣泛使用。不過,註解有一個很大的限制是:在同一個地方不能多次使用同一個註解。 Java 8 打破了這個限制,引入了重複註解的概念,允許在同一個地方多次使用同一個註解。 在 Java 8 中使用 @Repeat...

  • Java 8 | 方法引用

    方法引用使得開發者可以直接引用現存的方法、 Java 類的構造方法或者實例對象。方法引用和 Lambda 表達式配合使用,使得 Java 類的構造方法看起來緊湊而簡潔,沒有很多複雜的模板代碼。 方法引用使用一對冒號 :: 。 下面,我們在 Car 類中定義了 4 個方法作為例子來區分 Ja...

  • Java 8 | 接口的默認方法和靜態方法

    Java 8 使用兩個新概念擴展了接口的含義:默認方法和靜態方法。默認方法使得接口有點類似 traits ,不過要實現的目標不一樣。默認方法使得開發者可以在 不破壞二進制兼容性的前提下,往現存接口中添加新的方法,即不強制那些實現了該接口的類也同時實現這個新加的方法。 為什麼要有這個特性?...