国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Google Guava 類庫簡介

2019-11-08 18:51:32
字體:
來源:轉載
供稿:網(wǎng)友

Guava 是一個 Google 的基于java1.6的類庫集合的擴展項目,包括 collections, caching, PRimitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 這些高質量的 API 可以使你的JAVa代碼更加優(yōu)雅,更加簡潔,讓你工作更加輕松愉悅。下面我們就開啟優(yōu)雅Java編程學習之旅!

  項目相關信息:

  官方首頁:http://code.google.com/p/guava-libraries  官方下載:http://code.google.com/p/guava-libraries/downloads/list  官方文檔:http://docs.guava-libraries.googlecode.com/git/javadoc                    http://www.ostools.net/apidocs/apidoc?api=guava

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

  類庫使用手冊:

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

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

  二.  集合類:集合類庫是 Guava 對 JDK 集合類的擴展, 這是 Guava 項目最完善和為人所知的部分。

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

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

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

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

  1. ListenableFuture(可監(jiān)聽的Future): Futures,用于異步完成的回調(diào)。  2. Service: 控制事件的啟動和關閉,為你管理復雜的狀態(tài)邏輯。

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

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

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

  九. I/O: 簡化 I/O 操作, 特別是對 I/O 流和文件的操作, for Java 5 and 6.  十. Hashing: 提供比 Object.hashCode() 更復雜的 hash 方法, 提供 Bloom filters.  十一. EventBus: 基于發(fā)布-訂閱模式的組件通信,但是不需要明確地注冊在委托對象中。  十二. Math: 優(yōu)化的 math 工具類,經(jīng)過完整測試。  十三. Reflection: Guava 的 Java 反射機制工具類。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 金川县| 页游| 青海省| 保山市| 万州区| 无为县| 新巴尔虎左旗| 文昌市| 石柱| 永宁县| 德令哈市| 明水县| 青田县| 古浪县| 高陵县| 贵港市| 玉山县| 靖宇县| 五家渠市| 渝中区| 大兴区| 晋江市| 鲁甸县| 微博| 宽城| 苏尼特左旗| 姚安县| 刚察县| 万盛区| 桐庐县| 成武县| 即墨市| 浮山县| 嘉义县| 江北区| 华阴市| 三河市| 庆安县| 新乐市| 营口市| 柏乡县|