文档章节

Google Guava简介

spring4cyl
 spring4cyl
发布于 2016/11/04 17:24
字数 742
阅读 26
收藏 0

看到Guava这个名字觉得有点怪怪的,于是搜索了一下,Google Java的合称。Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合(collections)、缓存(caching)、原生类型支持(primitives support)、并发库 (concurrency libraries)、通用注解(common annotations)、字符串处理(string processing)、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。

项目信息 首页:https://code.google.com/p/guava-libraries/ (需要翻墙才能看到) 并发编程网在对每一个主题的各个子类的介绍进行翻译并发表。这里转载目录。

1、基本工具 (Basic utilities) 让使用Java语言变得更舒适 1.1 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服。很多Guava工具类用快速失败拒绝null值,而不是盲目地接受 1.2 前置条件: 让方法中的条件检查更简单 1.3 常见Object方法: 简化Object方法实现,如hashCode()和toString() 1.4 排序: Guava强大的”流畅风格比较器” 1.5 Throwables:简化了异常和错误的传播与检查

2、集合(Collections) Guava对JDK集合的扩展,这是Guava最成熟和为人所知的部分 2.1 不可变集合: 用不变的集合进行防御性编程和性能提升。 2.2 新集合类型: multisets, multimaps, tables, bidirectional maps等 2.3 强大的集合工具类: 提供java.util.Collections中没有的集合工具 2.4 扩展工具类:让实现和扩展集合类变得更容易,比如创建Collection的装饰器,或实现迭代器

3、缓存(Caches) Guava Cache:本地缓存实现,支持多种缓存过期策略

4、函数式风格(Functional idioms) Guava的函数式支持可以显著简化代码,但请谨慎使用它

5、并发(Concurrency) 强大而简单的抽象,让编写正确的并发代码更简单 5.1 ListenableFuture:完成后触发回调的Future 5.2 Service框架:抽象可开启和关闭的服务,帮助你维护服务的状态逻辑

6、字符串处理(Strings) 非常有用的字符串工具,包括分割、连接、填充等操作

7、原生类型(Primitives) 扩展 JDK 未提供的原生类型(如int、char)操作, 包括某些类型的无符号形式

8、区间(Ranges) 可比较类型的区间API,包括连续和离散类型

9、I/O 简化I/O尤其是I/O流和文件的操作,针对Java5和6版本

10、散列(Hash) 提供比Object.hashCode()更复杂的散列实现,并提供布鲁姆过滤器的实现

11、事件总线(EventBus) 发布-订阅模式的组件通信,但组件不需要显式地注册到其他组件中

12、数学运算(Math) 优化的、充分测试的数学工具类

13、反射(Reflection) Guava 的 Java 反射机制工具类

© 著作权归作者所有

spring4cyl
粉丝 0
博文 2
码字总数 941
作品 0
上海
项目经理
私信 提问
Google Guava 类库简介(1)

Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这......

十二缸帕萨特
2015/10/07
31
0
聊聊jump consistent hash

序 本文主要简介一下jump Consistent hash。 jump consistent hash jump consistent hash是一致性哈希的一种实现,论文见A Fast, Minimal Memory, Consistent Hash Algorithm 经典的一致性哈...

xixicat
2017/11/11
0
0
Google的Guava类库简介(转)

说明:信息虽然有点旧,至少可以先了解个大概。 Guava是一个Google的基于Java的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotat...

easonjim
2017/11/01
0
0
Google Guava之--cache

一、简介   Google Guava包含了Google的Java项目许多依赖的库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注...

烟火_
2014/10/30
0
0
Espresso(-环境搭建)

(注意:本文针对Android Studio) Espresso简介 1、Espresso是google发布的一款针对android UI进行测试的框架。 Espresso is targeted at developers, who believe that automated testing......

西米小娅
2016/02/19
397
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库

数据库架构 数据库架构可以分为存储文件系统和程序实例两大块,而程序实例根据不同的功能又可以分为如下小模块。 1550644570798 索引模块 常见的问题有: 为什么要使用索引 什么样的信息能成...

一只小青蛙
今天
5
0
PHP常用经典算法实现

<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = int......

半缘修道半缘君丶
昨天
5
0
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

豌豆花下猫
昨天
6
0
git commit message form

commit message一般包括3部分:Header、Body、Footer。 <type>(<scope>):<subject>blank line<body>blank line<footer> header是必需的,body、footer可以省略。 header中type、subject......

ninjaFrog
昨天
5
0
聊聊Elasticsearch的CircuitBreakerService

序 本文主要研究一下Elasticsearch的CircuitBreakerService CircuitBreakerService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/indices/breaker/CircuitBreakerService.ja......

go4it
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部