1.發現以下**存在的一些效能浪費的問題
package com.functionalinte***ce.lambda;
/* 日誌案例
發現以下**存在的一些效能浪費的問題
呼叫showlog方法,傳遞的第二個引數是乙個拼接後的字串
先把字串拼接好,然後再呼叫showlog方法
showlog方法中如果傳遞的日誌等級不是1級
那麼就不會是如此拼接後的字串
所以感覺字串就白拼接了,存在了浪費
*/public
class
demo01logger
}public
static
void
main
(string[
] args)
}
2. 使用lambda優化日誌案例
messagebuilder函式式介面
package com.functionalinte***ce.lambda;
@functionalinte***ce
public
inte***ce
messagebuilder
package com.functionalinte***ce.lambda;
/* 使用lambda優化日誌案例
lambda的特點:延遲載入
lambda的使用前提,必須存在函式式介面
*/public
class
demo02lambda
}public
static
void
main
(string[
] args)
);*/
/* 使用lambda表示式作為引數傳遞,僅僅是把引數傳遞到showlog方法中
只有滿足條件,日誌的等級是1級
才會呼叫介面messagebuilder中的方法buildermessage
才會進行字串的拼接
如果條件不滿足,日誌的等級不是1級
那麼messagebuilder介面中的方法buildermessage也不會執行
所以拼接字串的**也不會執行
所以不會存在效能的浪費
*/showlog(1
,()-
>);
}}
2.2 使用lambda表示式作為引數傳遞,僅僅是把引數傳遞到showlog方法中:
(1)只有滿足條件,日誌的等級是1級
(2)如果條件不滿足,日誌的等級不是1級
使用Lambda優化日誌案例
使用lambda必然需要乙個函式式介面 package com.learn.demo02.lambda functionalinte ce public inte ce messagebuilder然後對log 方法進行改造 package com.learn.demo02.lambda 使用lam...
awk 使用高階及使用案例
chen localhost in shell 18 36 13 awk v num 3 f passwd33 3333 注意 awk中呼叫定義的變數不需要加 chen localhost in shell 18 37 04 awk v num 3 f passwd01 23561.3.1.概述 1...
Android 廣播使用及案例
普通廣播也是如此操作 oncreate 註冊 private void doregisternetbc ondestroy 取消註冊 private void dounregisternetbc public class networkconnectchangedreceiver extends b...