日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

微服務為什么要容器化?

來源: 責編: 時間:2024-09-10 09:51:13 164觀看
導讀Lambda 表達式是 Java 8 引入的一種簡潔的表示匿名方法的方式,使用它可以用于替代某些匿名內部類對象,從而讓程序更簡潔,可讀性更好。但 Lambda 表達式的底層是如何實現的呢?接下來我們一起來看。1.未Lambda表達式未使用

Lambda 表達式是 Java 8 引入的一種簡潔的表示匿名方法的方式,使用它可以用于替代某些匿名內部類對象,從而讓程序更簡潔,可讀性更好。但 Lambda 表達式的底層是如何實現的呢?接下來我們一起來看。lXU28資訊網——每日最新資訊28at.com

1.未Lambda表達式

未使用 Lambda 表達式之前,我們創建一個線程,可以這樣寫:lXU28資訊網——每日最新資訊28at.com

Thread t1 = new Thread(new Runnable() {    @Override    public void run() {        System.out.println("t1");    }});t1.start();

其中 Runnable 匿名內部類,查看 Runnable 源碼,我們可以看到 Runnable 的實現如下:lXU28資訊網——每日最新資訊28at.com

圖片圖片lXU28資訊網——每日最新資訊28at.com

1.1 什么是匿名內部類?

匿名內部類是在 Java 中定義的一個沒有名稱的內部類。它通常在一個類的成員位置或者方法體內直接定義,并且立即實例化。lXU28資訊網——每日最新資訊28at.com

匿名內部類的主要用途在于簡化代碼,避免為了實現一個簡單的功能而定義一個完整的類。它特別適用于只需要一次使用的類,比如實現一個接口的單方法(即函數式接口)的場合。lXU28資訊網——每日最新資訊28at.com

PS:自從 Java 8 引入 Lambda 表達式后,很多原本使用匿名內部類的地方可以被更簡潔的 Lambda 表達式替代。lXU28資訊網——每日最新資訊28at.com

上面代碼中的 new Runnable 就是一個標準匿名內部類的使用。lXU28資訊網——每日最新資訊28at.com

1.2 什么是@FunctionalInterface?

@FunctionalInterface 是 Java 8 引入的一個注解,它用于標記一個接口為函數式接口lXU28資訊網——每日最新資訊28at.com

函數式接口是指只包含一個抽象方法的接口。這個注解雖然不是必需的,但它提供了一種明確的方式告訴編譯器和開發者,這個接口是設計為函數式接口的。lXU28資訊網——每日最新資訊28at.com

@FunctionalInterface 注解的作用如下:lXU28資訊網——每日最新資訊28at.com

  • 編譯時檢查:當一個接口被標記為 @FunctionalInterface 時,編譯器會檢查該接口是否只有一個抽象方法。如果不符合函數式接口的定義(即存在多個抽象方法),編譯器會報錯,提醒開發者修正。這為開發者提供了明確的編譯時保障,確保所標記的接口確實符合函數式接口的要求。
  • 代碼明確性:即使不加 @FunctionalInterface 注解,只要接口符合函數式接口的定義,它仍然可以被視為函數式接口。但注解的存在增加了代碼的明確性和可讀性,使得其他開發者更容易理解該接口的設計意圖。
  • 支持 Lambda 表達式:函數式接口的主要目的是為了支持 Lambda 表達式。通過 Lambda 表達式,開發者可以以更簡潔的方式實現函數式接口的抽象方法,從而減少模板代碼,使代碼更加簡潔和易于理解。由于 Lambda 表達式本身不包含類型信息,Java 編譯器需要一種機制來確定 Lambda 表達式對應的目標類型。函數式接口就扮演了這一角色——Lambda 表達式可以被賦值給任何兼容的函數式接口類型,編譯器會依據接口的唯一抽象方法來推斷 Lambda 表達式的參數類型和返回類型。

在 Java 標準庫中,有許多使用 @FunctionalInterface 注解的接口,如 java.util.function 包下的 Function、Predicate、Consumer 等,這些接口都是函數式接口,廣泛用于數據處理、過濾、轉換等操作。此外,在 Spring Boot 框架中,也經常使用函數式接口來定義事件監聽器、回調函數等。lXU28資訊網——每日最新資訊28at.com

2.使用Lambda表達式

未使用 Lambda 表達式之前,我們創建一個線程是這樣寫的:lXU28資訊網——每日最新資訊28at.com

Thread t1 = new Thread(new Runnable() {    @Override    public void run() {        System.out.println("t1");    }});t1.start();

而用了 Lambda 表達式,我們可以這樣寫:lXU28資訊網——每日最新資訊28at.com

Thread t1 = new Thread(() -> { System.out.println("t1"); });t1.start();

從上述代碼可以看出,當我們使用 Lambda 表達式之后,代碼就變得更簡潔和優雅了。lXU28資訊網——每日最新資訊28at.com

3.Lambda詳解

Lambda 表達式的語法形式如下:lXU28資訊網——每日最新資訊28at.com

(parameters) -> expression

或者是:lXU28資訊網——每日最新資訊28at.com

(parameters) -> { statements; }

以上語法含義如下:lXU28資訊網——每日最新資訊28at.com

  • 參數列表:在圓括號內的部分,用于定義傳遞給 Lambda 體的參數。參數列表可以為空,也可以包含多個參數,參數之間用逗號隔開。
  • 箭頭符號是 Lambda 表達式的分隔符,將參數列表與表達式或語句塊分隔開。
  • Lambda 體:包含了具體的執行邏輯,可以是一個表達式或是一個由多個語句組成的代碼塊。

3.1 使用場景

Lambda 表達式主要用于執行函數式接口(Function Interface),即只有一個抽象方法的接口。常見的函數式接口包括 java.util.function 包下的 Predicate、Function、Consumer 等。lXU28資訊網——每日最新資訊28at.com

3.2 舉個例子

假設我們有一個List,并且我們想要對這個列表進行過濾操作,只保留偶數元素。使用 Lambda 表達式可以非常方便地實現這一功能:lXU28資訊網——每日最新資訊28at.com

import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class Main {    public static void main(String[] args) {        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);        // 使用 Lambda 表達式過濾出偶數        List<Integer> evenNumbers = numbers.stream()                                           .filter(n -> n % 2 == 0)                                           .collect(Collectors.toList());        System.out.println(evenNumbers); // 輸出 [2, 4, 6, 8]    }}

在這個例子中,n -> n % 2 == 0 是一個 Lambda 表達式,它接受一個整數 n 作為輸入參數,并返回一個布爾值。這個 Lambda 表達式被用作 filter 方法的參數,該方法期望一個 Predicate類型的函數式接口實例。lXU28資訊網——每日最新資訊28at.com

4.Lambda底層原理

Lambda 底層運行原理如下:lXU28資訊網——每日最新資訊28at.com

在程序運行時,會在類中生成一個匿名內部類,匿名內部類會實現接口,并重寫接口中的抽象方法。lXU28資訊網——每日最新資訊28at.com

類中會生成一個靜態方法,靜態方法中的代碼就是 Lambda 表達式中的代碼。lXU28資訊網——每日最新資訊28at.com

匿名內部類重寫的抽象方法,會調用上一步的靜態方法,從而實現 Lambda 代碼的執行。lXU28資訊網——每日最新資訊28at.com

所以,綜合來說,Lambda 表達式其實是匿名內部類的語法糖,這個語法糖在程序執行時會進行兌現,也就是生成匿名內部類并進行任務執行。lXU28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-112794-0.html微服務為什么要容器化?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 轉轉搜推排序服務的響應對象序列化優化

下一篇: 面試官:說說Lambda表達式底層原理?

標簽:
  • 熱門焦點
  • 盧偉冰長文解析K60至尊版 對Redmi有著里程碑式的意義

    在今天的Redmi后性能時代戰略發布會結束之后,Redmi總經理盧偉冰又帶來了一篇長文,詳解了為什么 Redmi 要開啟后性能時代?為什么選擇和 MediaTek、Pixelworks 深度合作?以及后性
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數據的地方,是數據源的一種,比如大家經常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數據,它既可以保
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會涉及各種各樣的安全任務,包括但不限于:開發某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 小米MIX Fold 3下月亮相:今年唯一無短板的全能折疊屏

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都有新的進展,其中榮耀、三星都已陸續發布了最新的折疊屏旗艦,尤其號榮耀Magi
  • 小米MIX Fold 3配置細節曝光:搭載領先版驍龍8 Gen2+罕見5倍長焦

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都得到了不少爆料,而小米新一代折疊屏旗艦——小米MIX Fold 3此前也屢屢被傳
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • iQOO 11S評測:行業唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
  • OPPO K11樣張首曝:千元機影像“卷”得真不錯!

    一直以來,OPPO K系列機型都保持著較為均衡的產品體驗,歷來都是2K價位的明星機型,去年推出的OPPO K10和OPPO K10 Pro兩款機型憑借各自的出色配置,堪稱有
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲手机在线| 国产精品久久国产精品99gif| 久久精品国产综合| 久久一区欧美| 欧美福利在线观看| 欧美亚一区二区| 国产亚洲永久域名| 亚洲国产成人精品久久| 日韩午夜三级在线| 性欧美暴力猛交69hd| 葵司免费一区二区三区四区五区| 欧美精品在线免费播放| 国产精品porn| 一区在线影院| 中国成人亚色综合网站| 久久精品国产2020观看福利| 欧美电影电视剧在线观看| 国产精品久久久久久久久久妞妞 | 欧美三区在线观看| 国产专区一区| 在线性视频日韩欧美| 久久av资源网| 欧美日韩一区二区三区四区五区| 国产日韩综合一区二区性色av| 亚洲激情图片小说视频| 午夜日韩电影| 欧美剧在线观看| 好吊色欧美一区二区三区四区| 国产精品99久久99久久久二8| 久久综合久久美利坚合众国| 国产精品卡一卡二| 亚洲精品韩国| 久久婷婷人人澡人人喊人人爽| 欧美视频一区二区三区在线观看| 亚洲成人资源| 欧美在线亚洲在线| 国产精品福利在线| 亚洲精品中文字幕女同| 久久久噜噜噜久久中文字免| 国产精品区一区二区三区| 亚洲欧洲午夜| 久久看片网站| 国产日韩欧美综合精品| 一区二区三区四区五区精品| 免费人成精品欧美精品| 国产亚洲在线| 欧美一区1区三区3区公司| 亚洲国产一区二区精品专区| 欧美专区18| 国产精品理论片在线观看| 日韩天堂av| 欧美jizz19性欧美| 国内精品久久久久久久影视蜜臀| 亚洲性感美女99在线| 欧美福利视频| 亚洲电影第1页| 久久精品国语| 国产午夜精品麻豆| 亚洲欧美成人一区二区三区| 欧美日韩p片| 亚洲三级免费观看| 欧美大片免费久久精品三p | 欧美日韩第一页| 91久久精品日日躁夜夜躁国产| 久久天天躁狠狠躁夜夜爽蜜月 | 99av国产精品欲麻豆| 欧美国产日韩视频| 亚洲国产精品久久人人爱蜜臀| 久久久久久久成人| 国产一区二区三区av电影| 欧美在线播放一区| 国产欧美一区二区三区在线老狼| 亚洲欧美激情视频在线观看一区二区三区| 欧美日韩国产a| 亚洲靠逼com| 欧美理论在线播放| 日韩视频免费| 欧美日韩中文字幕综合视频| 夜夜嗨av一区二区三区网站四季av| 欧美激情精品久久久六区热门| 亚洲欧洲日本国产| 欧美黄色一级视频| 亚洲蜜桃精久久久久久久| 欧美精品一区三区在线观看| 亚洲久久一区二区| 欧美猛交免费看| 夜夜嗨av一区二区三区四区| 欧美视频精品一区| 亚洲在线黄色| 国产欧美欧美| 久久精品日产第一区二区三区 | 日韩午夜在线播放| 欧美日韩调教| 亚洲综合精品一区二区| 国产精品入口66mio| 欧美一区2区视频在线观看| 国产亚洲激情视频在线| 久久乐国产精品| 亚洲国产精品久久久久婷婷老年 | 亚洲精品乱码久久久久久久久 | 欧美私人网站| 午夜在线视频一区二区区别| 国产一区二区电影在线观看 | 欧美日韩国产精品一区| 亚洲五月六月| 国产视频欧美视频| 玖玖视频精品| 99精品欧美一区二区三区| 国产精品家教| 久久精品国产精品亚洲| 亚洲国产精品久久久久秋霞不卡| 欧美日本簧片| 国产精品少妇自拍| 欧美一区二区三区在线| 韩国av一区| 欧美.com| 亚洲性人人天天夜夜摸| 国内外成人免费激情在线视频| 欧美不卡福利| 亚洲综合视频网| 在线不卡中文字幕| 欧美日本免费| 久久精品国产亚洲5555| 亚洲精品乱码久久久久久按摩观| 国产精品xxxxx| 久久久噜噜噜久久中文字幕色伊伊| 亚洲精品国产系列| 国产麻豆91精品| 欧美成人精品不卡视频在线观看| 一区二区三区高清不卡| 国产综合色产| 欧美日韩国产999| 欧美伊人久久| 亚洲美女黄网| 国产一区二区日韩精品| 欧美日韩亚洲一区二区三区| 久久国产免费看| 日韩一级欧洲| 黄色精品网站| 国产精品久久久一区二区三区| 久久久午夜视频| 亚洲在线观看免费| 亚洲国产综合91精品麻豆| 国产精品一区久久| 欧美精品一区在线| 久久久美女艺术照精彩视频福利播放 | 国产精品毛片a∨一区二区三区|国| 久久久久久夜| 亚洲视频碰碰| 91久久午夜| 国产亚洲女人久久久久毛片| 欧美日本精品| 久久综合成人精品亚洲另类欧美| 亚洲视频狠狠| 亚洲国产精品激情在线观看| 国产日韩在线视频| 欧美视频四区| 欧美aa国产视频| 久久国产主播| 亚洲欧美日本另类| 一本色道88久久加勒比精品| 亚洲第一网站| 国产日韩专区| 国产精品极品美女粉嫩高清在线 | 欧美激情亚洲精品| 久久香蕉国产线看观看网| 亚洲影音一区| 99re66热这里只有精品4| 一区在线免费| 国产亚洲欧美日韩精品| 国产精品卡一卡二| 欧美手机在线| 欧美精品在线一区| 久久综合成人精品亚洲另类欧美| 久久精品国产v日韩v亚洲| 亚洲免费一区二区| 一区二区三区毛片| 亚洲精品九九| 91久久在线| 亚洲国产精品精华液2区45| 激情伊人五月天久久综合| 国产亚洲精品久久久久婷婷瑜伽| 国产精品高清网站| 欧美日韩一区国产| 欧美另类一区二区三区| 欧美多人爱爱视频网站| 免费在线日韩av| 乱码第一页成人| 久久综合精品国产一区二区三区| 久久精品国产久精国产思思| 欧美一区二区视频在线观看2020| 亚洲欧美中文在线视频| 亚洲综合色激情五月| 亚洲在线一区二区| 亚洲一区二区三区四区五区黄| 中文国产亚洲喷潮| 宅男噜噜噜66一区二区| 一区二区三区黄色| 一区二区国产日产| 一本久久a久久免费精品不卡| 99re成人精品视频| 一本久久知道综合久久| 中文日韩在线视频| 亚洲一区在线播放|