函式式程式設計 Lambda的延遲執行

2021-10-07 14:03:53 字數 1032 閱讀 1643

有些場景的**執行後,結果也不一定會被使用,從而造成效能浪費。而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...