国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Guava】Guava: Google Core Libraries for Java 好用工具類

這篇具有很好參考價值的文章主要介紹了【Guava】Guava: Google Core Libraries for Java 好用工具類。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Guava前言

Guava是Google的一組核心Java庫,其中包括新的集合類型 (如multimap和multiset)、不可變集合、圖庫,以及用于并發(fā)、I/O、哈希、緩存、基元、字符串等的實(shí)用程序!它 被廣泛用于谷歌內(nèi)的大多數(shù)Java項(xiàng)目,并被許多人廣泛使用。

Guava是一種基于開源的Java庫,Google Guava源于2007年的"Google Collections Library"。這個庫是為了方便編碼,并減少編碼錯誤。這個庫用于提供集合,緩存,支持原語句,并發(fā)性,常見注解,字符串處理,I/O和驗(yàn)證的實(shí)用方法。

com.google.common.annotations:普通注解類型。
com.google.common.base:基本工具類庫和接口。
com.google.common.cache:緩存工具包,非常簡單易用且功能強(qiáng)大的JVM內(nèi)緩存。
com.google.common.collect:帶泛型的集合接口擴(kuò)展和實(shí)現(xiàn),以及工具類,這里你會發(fā)現(xiàn)很多好玩的集合。
com.google.common.eventbus:發(fā)布訂閱風(fēng)格的事件總線。
com.google.common.hash: 哈希工具包。
com.google.common.io:I/O工具包。
com.google.common.math:原始算術(shù)類型和超大數(shù)的運(yùn)算工具包。
com.google.common.net:網(wǎng)絡(luò)工具包。
com.google.common.primitives:八種原始類型和無符號類型的靜態(tài)工具包。
com.google.common.reflect:反射工具包。
com.google.common.util.concurrent:多線程工具包。

Guava的優(yōu)勢

標(biāo)準(zhǔn)化 - Guava庫是由谷歌托管。
高效 - 可靠,快速和有效的擴(kuò)展JAVA標(biāo)準(zhǔn)庫
優(yōu)化 -Guava庫經(jīng)過高度的優(yōu)化。
函數(shù)式編程:增加Java功能和處理能力
實(shí)用程序:提供經(jīng)常需要在應(yīng)用程序中開發(fā)的許多實(shí)用程序類
驗(yàn)證:提供標(biāo)準(zhǔn)的故障安全驗(yàn)證機(jī)制。
最佳實(shí)踐:強(qiáng)調(diào)最佳的做法。

它是一個提高代碼質(zhì)量、簡化工作,促使代碼更有彈性、更加簡潔的工具

Guava官方網(wǎng)址

https://gitcode.net/mirrors/google/guava

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>32.0.1-jre</version>
  <!-- or, for Android: -->
  <version>32.0.1-android</version>
</dependency>

Guava類庫使用

https://github.com/google/guava/wiki

基本工具類:讓使用Java語言更令人愉悅。

1、使用和避免 null:null 有語言歧義, 會產(chǎn)生令人費(fèi)解的錯誤, 反正他總是讓人不爽。很多 Guava 的工具類在遇到 null 時會直接拒絕或出錯,而不是默默地接受他們。
2、前提條件:更容易的對你的方法進(jìn)行前提條件的測試。
3、常見的對象方法: 簡化了Object常用方法的實(shí)現(xiàn), 如 hashCode() 和 toString()。
4、排序: Guava 強(qiáng)大的 "fluent Comparator"比較器, 提供多關(guān)鍵字排序。
5、Throwable類: 簡化了異常檢查和錯誤傳播。

集合類:集合類庫是 Guava 對 JDK 集合類的擴(kuò)展。

1、Immutable collections(不變的集合): 防御性編程, 不可修改的集合,并且提高了效率。
2、New collection types(新集合類型):JDK collections 沒有的一些集合類型,主要有:multisets,multimaps,tables, bidirectional maps等等
3、Powerful collection utilities(強(qiáng)大的集合工具類): java.util.Collections 中未包含的常用操作工具類
4、Extension utilities(擴(kuò)展工具類): 給 Collection 對象添加一個裝飾器? 實(shí)現(xiàn)迭代器? 我們可以更容易使用這些方法。

Guava 緩存: 本地緩存,可以很方便的操作緩存對象,并且支持各種緩存失效行為模式。

Functional idioms(函數(shù)式): 簡潔, Guava實(shí)現(xiàn)了Java的函數(shù)式編程,可以顯著簡化代碼。

Concurrency(并發(fā)):強(qiáng)大,簡單的抽象,讓我們更容易實(shí)現(xiàn)簡單正確的并發(fā)性代碼。

1、ListenableFuture(可監(jiān)聽的Future): Futures,用于異步完成的回調(diào)。
2、Service: 控制事件的啟動和關(guān)閉,為你管理復(fù)雜的狀態(tài)邏輯。文章來源地址http://www.zghlxwxcb.cn/news/detail-502351.html

Strings: 一個非常非常有用的字符串工具類: 提供 splitting,joining, padding 等操作。

Primitives: 擴(kuò)展 JDK 中未提供的對原生類型(如int、char等)的操作, 包括某些類型的無符號的變量。

Ranges: Guava 一個強(qiáng)大的 API,提供 Comparable 類型的范圍處理, 包括連續(xù)和離散的情況。

I/O: 簡化 I/O 操作, 特別是對 I/O 流和文件的操作, for Java 5 and 6.

Hashing: 提供比 Object.hashCode() 更復(fù)雜的 hash 方法, 提供 Bloom filters.

EventBus: 基于發(fā)布-訂閱模式的組件通信,但是不需要明確地注冊在委托對象中。

Math: 優(yōu)化的 math 工具類,經(jīng)過完整測試。

Reflection: Guava 的 Java 反射機(jī)制工具類。

代碼實(shí)戰(zhàn)

到了這里,關(guān)于【Guava】Guava: Google Core Libraries for Java 好用工具類的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包