comparator是函數式接口,為什麼包含equals這些方法。
函數式接口,除了隻能有一個抽象方法外,還可以包含object 中覆寫的方法,也就是 equals,tostring,hashcode等方法。
接口不能提供對object類的任何方法的預設實作。
lambda vs 内部類,通過看位元組碼的方式,看差異。
lambda表達式不是簡單的匿名内部類的文法糖。
大多數情況lambda性能更優。官方連結
編譯器會為每一個匿名内部類建立一個類檔案。類加載更耗時,占用更多的記憶體。
lambda如果編譯成匿名内部類形式的位元組碼。那就與匿名内部類的位元組碼生成機制綁定,可能會限制以後可能進行的優化。
lambda性能問題
為什麼使用函數式程式設計
範式的轉變
跟上語言的發展潮流
控制權轉讓給語言/運作時
簡潔
構造函數引用
optional類型
原始類型流
聚合reduce
收集collect