原创 stream優化責任鏈設計模式 responsibility chains
責任鏈設計模式傳統的實現方式: public class TestMaxBy { public static void main(String[] args) { CookieStep1 step1 = new
原创 Optional java8 引入新特性
1. null 有什麼問題? 容易報錯 增加代碼量 無意義 埋的一個坑 2. 從null到Optional Optional<House> optHouse = Optional.empty(); Optional<House> op
原创 接口的 default method , 多繼承
1.什麼是default method? interface 中的default method就是一個具體方法。在擴展接口時,爲了滿足向後兼容,採用default method。 比如,List接口中的sort方法: default v
原创 Activiti(1)簡介
design tools:是畫流程圖的,activiti model是web-based在瀏覽器上畫的,activiti designer是eclipse插件; process engine:分兩種,Activiti Engine可
原创 用lambda簡化工廠設計模式
傳統工廠設計模式實現: import java.util.HashMap; import java.util.Map; import java.util.function.Supplier; public class FactoryP
原创 用lambda簡化模板模式 template method
傳統模板模式的寫法,用匿名類: public class TestMaxBy { public static void main(String[] args) { crossChannel(new Fly()
原创 用lambda簡化觀察者模式 observer
傳統的觀察者實現方式: import java.util.ArrayList; import java.util.List; public class TestMaxBy { public static void main(
原创 CompletableFuture,Java 異步編程
構建異步編程,返回結果 構建線程池;提交一個Callable並獲得Future;取結果,也許會阻塞。 異步執行圖 public class Shop { public double getPrice(Str
原创 Creating A custom Annotation
Domain package other.annotation; @JsonSerializable public class Car { @JsonElement private String passeng
原创 Stream Demos 2
domain object public class Dish { public Dish(String name, boolean vegetarian, int calories, Type type) {
原创 Stream Demos
Collection public class Dish { public Dish(String name, boolean vegetarian, Integer calories, Type type) {
原创 用method reference 替換lambda expression,提升可讀性
lambda 表達式: Map<WeightLevel, List<Human>> map = humans.stream().collect(groupingBy((human) -> { if
原创 java stream 併發
併發的一個Sream static void parallelismSum(int n){ int res = Stream.iterate(1, i -> i+1) .limit(
原创 將匿名類替換成lambda
將匿名類替換成lambda 匿名類的實現方式: Runnable runnable = new Runnable() { @Override public void run() {
原创 Item19:Design and document for inheritance or else prohibit it
下面的代碼的運行結果: null 2020-04-01T23:56:06.132Z 實例化子類,子類會在調用自己的構造器前,先調用父類的構造器。如果父類構造器調用的方法被子類覆蓋,並且這個overriding父類方法的方法裏,有