有些場景的**執行後,結果也不一定會被使用,從而造成效能浪費。而lambda表示式是延遲執行的,這正好可以作為解決方案,提公升效能。
效能浪費的日誌案例並使用lambda表示式進行優化解決
未使用lambda之前
public
class
demo
}public
static
void
main
(string[
] args)
}//會發現存在效能浪費問題,呼叫該靜態方法,由於第二個引數是字串,
//且當傳遞的多個要拼接的字串時,肯定是先把字串拼接好,
//然後再呼叫方法,當傳遞的等級不是1時,該程式執行後不會有任何的操作。
//字串就相當於白進行了拼接,存在了浪費。
使用lambda優化日誌案例
特點:延遲載入
使用前提:存在函式式介面
//加上註解幫助區分!!!!
@functionalinte***ce
public
inte***ce
myinte***ce
public
class
demo2
}public
static
void
main
(string[
] args));
/* 使用lambda表示式作為函式引數,僅僅是把引數傳遞到showlog()方法中,
只有滿足條件日誌的等級是1,才會呼叫介面中的拼接字串的方法,才會進行
字串的拼接。如果等級不是1,即不滿足條件,則介面中拼接字串的方法也
不會執行,所以字串不會進行拼接。
可以使用下面的方式檢測一下是不是真的沒有執行
showlog(1,()->);
當等級為1時,會發現條件不滿足,我就不執行了和helloworld都輸出了。
當等級為2或其他非1數時,會發現什麼也木有輸出。
*/}}
函式式程式設計之lambda
函式式程式設計 在js python等指令碼語言中經常可以看到已函式作為變數來傳遞的用法,這種方法使得程式多是在建立函式 或建立函式 執行 的路上。更甚至一些簡單的方法完全不需要呼叫 引入 庫就可以用簡單的幾行 來解決,可以使得程式專注於做某件事而不被外部因素影響,這個特點使得在多執行緒時不易出現問...
Python函式式程式設計之lambda
python可以使用lambda來建立匿名函式。lambda只是乙個表示式,函式題比def簡單的多。lambda主體是乙個表示式,而不是乙個 塊。僅僅能在lambda表示式中封裝有限的邏輯進去。lambda擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數。lambda雖然看起來...
函式式程式設計 Lambda表示式
1。不包含引數 runnable runnable system.out.println helloworld 只包含乙個引數 actionlistener actionlistener event system.out.println click 主體可以是一段 runnable runnable...