您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)Lambda如何讓從根本上改變我們開發(fā)Java程序的方式,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
當(dāng)今世界主流編程語言無不吸納強(qiáng)大的閉包概念,但有個例外,它就是Java。數(shù)年來,Java語言中增加閉包特征的工作看起來毫無進(jìn)展。
早在15年之前,Scala語言和TypeSafe框架的作者M(jìn)artin Odersky和Phillip Wadler發(fā)布了實驗性的“Pizza”項目,由此,人們開始試圖將閉包納入編程語言的基本特征之一。盡管這看起來有點(diǎn)過于復(fù)雜,Java社區(qū)大概在2008年就有了接納閉包概念的想法。但由于Oracle對Sun微系統(tǒng)公司的匆忙收購,Java被冷落,Java語言新版本的發(fā)布不斷的被推遲。
但在Java8中,事情有了很大的變化,Java語言終于為Java編程部隊配備了閉包的武器?!耙苍S這是Java編程語言有史以來最重要的一次升級,”O(jiān)racle的Java語言架構(gòu)師Brian Goetz說。他指出,在Java中引入閉包概念對Java程序開發(fā)方法的影響甚至?xí)笥贘ava5中引入的泛型特征對編程方式帶來的影響。“就像泛型能使開發(fā)人員對數(shù)據(jù)類型進(jìn)行抽象,Lambda的目的是讓程序員能夠?qū)Τ绦蛐袨檫M(jìn)行抽象。”
Lambda這個名稱來自于把閉包綁定到Java編程語言的Lambda項目。Lambda以及閉包的引入能做些什么?你可以這樣想,它能夠讓程序員把一段程序代碼當(dāng)做數(shù)據(jù)一樣使用。一個方法可以像定義和使用一個變量那樣的方式被定義和使用,定義出的方法可以被當(dāng)作參數(shù)傳遞到其它方法內(nèi),就像它們是一個對象實例或一個類型數(shù)據(jù)一樣。“看起來這好像也沒什么,但實際上它影響巨大,”Goetz說?!斑@將從根本上改變我們開發(fā)java程序的方式?!?/p>
我們等待了太久,但隨著Java8的發(fā)布,Lambda終于成為Java規(guī)格說明書里的正式特征之一。一種由于過于復(fù)雜而最初被傳統(tǒng)程序員放棄的語法將最終成為一種每個現(xiàn)代Java應(yīng)用程序里都能看到的標(biāo)準(zhǔn)技術(shù)。
以上就是Lambda如何讓從根本上改變我們開發(fā)Java程序的方式,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。