天天看點

快學Java SE8--Java8函數式程式設計(一)目錄

comparator是函數式接口,為什麼包含equals這些方法。

函數式接口,除了隻能有一個抽象方法外,還可以包含object 中覆寫的方法,也就是 equals,tostring,hashcode等方法。

接口不能提供對object類的任何方法的預設實作。

lambda vs 内部類,通過看位元組碼的方式,看差異。

lambda表達式不是簡單的匿名内部類的文法糖。

大多數情況lambda性能更優。官方連結

編譯器會為每一個匿名内部類建立一個類檔案。類加載更耗時,占用更多的記憶體。

lambda如果編譯成匿名内部類形式的位元組碼。那就與匿名内部類的位元組碼生成機制綁定,可能會限制以後可能進行的優化。

lambda性能問題

為什麼使用函數式程式設計

範式的轉變

跟上語言的發展潮流

控制權轉讓給語言/運作時

簡潔

構造函數引用

optional類型

原始類型流

聚合reduce

收集collect