日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

您从未听说过的Java 8的10个功能

發(fā)布時(shí)間:2023/12/3 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 您从未听说过的Java 8的10个功能 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Lambdas lambdas lambdas。 這是您在談?wù)揓ava 8時(shí)所聽到的所有信息。但這只是一部分。 Java 8具有許多新功能-有些是功能強(qiáng)大的新類和習(xí)慣用語(yǔ),而另一些則是從一開始就應(yīng)該存在的功能。

我想介紹十個(gè)新功能,我認(rèn)為這些功能絕對(duì)是值得了解的小寶石。 您肯定會(huì)嘗試至少一兩個(gè),所以讓我們開始吧!


  • 默認(rèn)方法
  • 作為Java語(yǔ)言的新增功能,您現(xiàn)在可以將方法主體添加到接口中(稱為默認(rèn)方法 )。 這些方法隱式添加到實(shí)現(xiàn)該接口的每個(gè)類中。

    這使您可以在不破壞代碼的情況下向現(xiàn)有庫(kù)添加功能。 這絕對(duì)是一個(gè)加號(hào)。 不利的一面是,這嚴(yán)重模糊了旨在用作合同的接口與用作其具體實(shí)現(xiàn)的類之間的界限。 在正確的地方,這可能是使界面更智能,避免重復(fù)并擴(kuò)展庫(kù)的一種優(yōu)雅方法。 如果使用不當(dāng),我們很快就會(huì)看到接口方法對(duì)此進(jìn)行查詢并將其轉(zhuǎn)換為具體類型。 顫抖…… 。

  • 流程終止
  • 啟動(dòng)外部進(jìn)程是您要做的事情之一,半知道在進(jìn)程崩潰,掛起或消耗100%CPU時(shí)您將再次調(diào)試它。 現(xiàn)在,Process類提供了兩種新方法來(lái)幫助您控制不規(guī)則的過(guò)程。

    第一個(gè)是isAlive() ,使您可以輕松檢查進(jìn)程是否仍在啟動(dòng)中,而不必等待它。 第二個(gè)功能更強(qiáng)大的是destroyForcfully() ,它使您可以強(qiáng)制終止已超時(shí)或不再需要的進(jìn)程。

  • 印花鎖
  • 現(xiàn)在,這里有些令人興奮的事情。 沒(méi)有人喜歡同步代碼。 這是降低應(yīng)用程序吞吐量(尤其是規(guī)模過(guò)小)的可靠方法,或者更糟糕的是,導(dǎo)致應(yīng)用程序掛起。 即使這樣,有時(shí)您還是別無(wú)選擇。

    有很多習(xí)慣用法可以同步對(duì)資源的多線程訪問(wèn)。 最受尊敬的產(chǎn)品之一是ReadWriteLock及其關(guān)聯(lián)的實(shí)現(xiàn)。 這種習(xí)慣用法旨在通過(guò)允許多個(gè)線程消耗資源,同時(shí)僅阻止操縱該線程的線程來(lái)減少爭(zhēng)用。 從理論上講聽起來(lái)不錯(cuò),但實(shí)際上,這種鎖定是sloooow ,尤其是在具有大量編寫線程的情況下。

    這太糟糕了,以至于Java 8引入了一個(gè)全新的RWLock,稱為StampedLock 。 這種鎖定不僅速度更快,而且還提供了用于樂(lè)觀鎖定的強(qiáng)大API,您可以以非常低的成本獲得閱讀器鎖定,希望在關(guān)鍵部分不會(huì)發(fā)生任何寫操作。 在本節(jié)的最后,您查詢鎖,以查看在此期間是否發(fā)生過(guò)寫入,在這種情況下,您可以決定是重試,升級(jí)鎖還是放棄。

    此鎖是一個(gè)功能強(qiáng)大的工具,其本身值得一個(gè)完整的帖子。 我對(duì)這個(gè)新玩具感到興奮不已-做得好!

    在這里補(bǔ)充閱讀。

  • 并發(fā)加法器
  • 對(duì)于從事多線程應(yīng)用程序的任何人來(lái)說(shuō),這都是另一個(gè)小寶。 一個(gè)簡(jiǎn)單高效的新API,用于從多個(gè)線程讀取和寫入計(jì)數(shù)器,其方式比使用AtomicIntegers還要快。 真是太酷了!

  • 可選值
  • 噢,NullPointers,所有Java開發(fā)人員的禍根。 也許是所有例外中最受歡迎的例外,這種情況自時(shí)間開始以來(lái)就已經(jīng)存在。 或至少是1965年 。

    Java 8從Scala和Haskell借來(lái)的,有一個(gè)名為Optional的新模板,用于包裝可能為空的引用。 絕不是結(jié)束空值的靈丹妙藥,而是讓API設(shè)計(jì)人員在代碼級(jí)別(相對(duì)于文檔)表示可以返回空值或?qū)⒖罩祩鬟f給方法,并且調(diào)用者應(yīng)準(zhǔn)備為它。 因此,這僅適用于新的API,前提是調(diào)用者不讓引用轉(zhuǎn)義包裝程序,而該引用程序可能會(huì)被不安全地取消引用。

    我必須說(shuō)我對(duì)此功能非常矛盾。 一方面,空值仍然是一個(gè)巨大的問(wèn)題,因此,我感謝在這方面所做的一切。 另一方面,我相當(dāng)懷疑這是否會(huì)成功。 這是因?yàn)椴捎肙ptional需要全公司范圍內(nèi)的持續(xù)努力,并且?guī)缀鯖](méi)有立即價(jià)值。 除非大力實(shí)施,否則這將留在路邊。

    更多關(guān)于可選這里 。

  • 注釋任何內(nèi)容
  • Java語(yǔ)言的另一個(gè)小改進(jìn)是現(xiàn)在可以將注釋添加到代碼中的幾乎所有內(nèi)容中。 以前,注釋只能添加到類或方法聲明之類的內(nèi)容中。 使用Java 8時(shí),在將值轉(zhuǎn)換為特定類型的值時(shí),甚至在分配新對(duì)象時(shí),都可以將注釋添加到變量和參數(shù)聲明中。 這是集中精力的一部分(以及對(duì)Java doc工具和API的改進(jìn)),以使該語(yǔ)言對(duì)靜態(tài)分析和檢測(cè)工具(例如FindBugs)更加友好。 這是一個(gè)很好的功能,但是很像Java 7中引入的invokeDynamic一樣,它的真正價(jià)值將取決于社區(qū)對(duì)其的處理方式。

  • 溢流作業(yè)
  • 現(xiàn)在,這里有一系列方法 ,從一開始就應(yīng)該成為核心庫(kù)的一部分。 我最喜歡的一種愛(ài)好是,當(dāng)int超過(guò)2 ^ 32時(shí)調(diào)試數(shù)字溢出,然后繼續(xù)創(chuàng)建最討厭,最隨機(jī)的錯(cuò)誤(即“我是如何得到這個(gè)奇怪的值的?”)。

    再一次,這里沒(méi)有靈丹妙藥,而是一組對(duì)數(shù)字進(jìn)行運(yùn)算的函數(shù),這些數(shù)字在溢出時(shí)以比您的標(biāo)準(zhǔn)+ / *運(yùn)算符隱式溢出的方式寬容的方式少。 如果要由我決定,我將把它作為JVM的默認(rèn)模式,并使用允許算術(shù)溢出的顯式函數(shù)。

  • 目錄漫游
  • 長(zhǎng)期以來(lái),迭代目錄樹的內(nèi)容一直是??Google進(jìn)行的那些搜索之一(在這種情況下,您可能應(yīng)該使用Apache.FileUtils)。 Java 8為Files類提供了一種全新的外觀,其中包含十種新方法。 我最喜歡的一個(gè)是walk() ,它創(chuàng)建一個(gè)惰性流(對(duì)于大型文件系統(tǒng)很重要)以迭代目錄結(jié)構(gòu)的內(nèi)容。

  • 強(qiáng)隨機(jī)生成
  • 如今不乏有關(guān)密碼和密鑰漏洞的討論。 編程安全性是一項(xiàng)棘手的事務(wù),容易出錯(cuò)。 這就是為什么我喜歡新的SecureRandom。 getinstanceStrong()方法自動(dòng)選擇最強(qiáng)大的JVM可用隨機(jī)生成器。 這減少了您無(wú)法獲得或默認(rèn)使用弱生成器的機(jī)會(huì),這會(huì)使密鑰和加密值更容易受到黑客攻擊。

  • Date.toInstant()
  • Java 8引入了完整的新日期時(shí)間API 。 這是可以理解的,因?yàn)楝F(xiàn)有的不是很好。 實(shí)際上,Joda多年來(lái)一直是Java日期時(shí)間API的首選。 盡管如此,即使有了新的API,仍然存在一個(gè)大問(wèn)題–使用舊的API仍然有大量的代碼和庫(kù)。

    我們都知道他們會(huì)留下來(lái)。 所以你會(huì)怎么做?

    為此,Java 8做得非常漂亮,在Date類中添加了一個(gè)名為toInstant()的新方法,該方法將其轉(zhuǎn)換為新的API。 即使使用使用舊Date API的代碼(并且在可預(yù)見的將來(lái)仍會(huì)繼續(xù)使用),這使您可以快速跳轉(zhuǎn)到新API。

    您是否認(rèn)為缺少任何功能,需要將其保留在此處,或者不同意我們的分析? 在評(píng)論部分讓我們知道–這就是它的作用!

  • 翻譯自: https://www.javacodegeeks.com/2014/05/10-features-in-java-8-you-havent-heard-of.html

    總結(jié)

    以上是生活随笔為你收集整理的您从未听说过的Java 8的10个功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 性欧美长视频 | 国产草草浮力影院 | 色综合一区二区三区 | 欧美日韩免费高清 | 动漫一区二区三区 | 青青草这里只有精品 | 欧美精品成人一区二区三区四区 | 狠狠干2022 | 天堂网色| 蜜臀尤物一区二区三区直播 | 国产精品成人免费一区二区视频 | 久久久精品视频网站 | 日韩av在线免费 | 恶虐女帝安卓汉化版最新版本 | 在线成人毛片 | 久久人人做 | av无限看 | 欧美爱爱一区二区 | 亚洲精品视频专区 | 久久久国产精 | 国产精品爽爽久久 | 97久久人国产精品婷婷 | 亚洲精品二 | 国产成人无码www免费视频播放 | 警察高h荡肉呻吟男男 | 欧美日韩亚洲一区二区三区 | 毛片视频网站在线观看 | 一级黄色录相 | av图片在线观看 | 日本少妇激情舌吻 | 中文字幕无码毛片免费看 | 一区成人 | 久久久久久影院 | 五月婷婷久| 久久密 | 久久无码视频一区 | 日日草夜夜操 | 无码h肉动漫在线观看 | 1000部国产精品成人观看 | 久久97| 奇米777色 | 日韩国产片| 国产主播自拍av | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲天堂第一页 | 国产色悠悠| 成人福利在线免费观看 | 人人草人人看 | 91久久精品在线 | 青青草原在线免费观看视频 | 天天操人人 | 日韩高清在线 | 国产午夜网站 | 亚洲精品免费在线观看视频 | 日本一区二区在线播放 | 亚洲精品中文字幕乱码无线 | 日韩视频一区二区三区在线播放免费观看 | 男女啊啊啊视频 | 中文成人无字幕乱码精品区 | 久久免费视频观看 | 91在线视频播放 | 天天干天天色 | 欧美综合一区二区 | 免费性情网站 | 精品人妻无码一区二区三区 | 日韩另类 | 国产91综合一区在线观看 | 欧美永久精品 | 美女日批网站 | 久久免费视频观看 | 2023国产精品| 国产精品va无码一区二区 | 国产伦精品一区二区三区照片 | 国产伦精品一区二区三区视频网站 | 亚洲欧美色图在线 | www.国产视频.com | 亚洲成人一区二区三区 | 亚洲夜色| 日韩成人av免费在线观看 | 国产精品亚洲lv粉色 | 国产视频第三页 | 手机看片国产1024 | 国产天堂精品 | 欧美日韩高清一区二区 国产亚洲免费看 | 五月天综合激情 | 国产免费看黄 | 欧美日韩中出 | 明日叶三叶 | 精品一区二区三区中文字幕 | 97人人人 | 91精品一区二区三区在线观看 | 免费在线播放黄色片 | 性歌舞团一区二区三区视频 | h视频免费在线观看 | 日韩视频精品在线 | 人与动物2免费观看完整版电影高清 | 亚洲第一视频区 | 日韩欧美a级片 | 少妇一级淫片免费放播放 |