原文链接 译文链接 译者: 沈义扬,罗立树,何一昕,武祖 校对:方腾飞
引言
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。
查阅Javadoc并不一定是学习这些库最有效的方式。在此,我们希望通过此文档为Guava中最流行和最强大的功能,提供更具可读性和解释性的说明。
译文格式说明
- Guava中的类被首次引用时,都会链接到Guava的API文档。如:Optional<T>。
- Guava和JDK中的方法被引用时,一般都会链接到Guava或JDK的API文档,一些人所共知的JDK方法除外。如:Optional.of(T), Map.get(key)。
- 译者对文档的额外说明以斜体显示,并且以“译者注:”开始。
目录
1. 基本工具 [Basic utilities]
让使用Java语言变得更舒适
1.1 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服。很多Guava工具类用快速失败拒绝null值,而不是盲目地接受
1.2 前置条件: 让方法中的条件检查更简单
1.3 常见Object方法: 简化Object方法实现,如hashCode()和toString()
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 反射机制工具类
相关推荐
Google Guava 官方教程 v1.1 2018-07-22 https://github.com/tianbian224/GuavaLearning/blob/master/Google%20Guava%20%E5%AE%98%E6%96%B9%E6%95%99%E7%A8%8B%20-%20v1.1.pdf
**Google Guava官方教程** Google Guava 是一个广泛使用的 Java 库,它提供了一系列现代编程实用工具,旨在简化常见的编程任务。Guava 提供了集合框架的扩展、并发支持、缓存机制、字符串处理工具、I/O 工具以及...
Google Guava是一个比较有趣的框架,它提供了很多有趣的的功能, google Guava 给开发者提供了如下常用功能: 集合(collections) 缓存(caching) 原生的类型支持(primitives support) 并发类库(concurrency ...
**Google Guava官方教程概述** Google Guava 是一个开源库,为Java开发人员提供了一组核心库,包括集合、缓存、并发工具、I/O工具、字符串处理、实用方法等。这个官方教程主要针对Guava库的使用进行详细介绍,帮助...
本教程将深入探讨Guava库中的核心特性和使用方法。 一、集合框架扩展 Guava提供了对Java集合框架的增强,包括新的集合类型如Multiset(多集)、Multimap(多映射)和Immutable集合(不可变集合)。这些集合类型...
Google Guava 官方教程,电子书,epub格式,可用在手机端阅读
├─Google Guava 第01讲-Joiner详细介绍以及和Java8Collector对比.wmv ├─Google Guava 第02讲-Guava Splitter详细讲解以及实战练习.wmv ├─Google Guava 第03讲-Preconditions&Objects;&assert;讲解.wmv ├─...
Guava是Google推出的一款Java核心类库,旨在通过添加一系列经过充分测试且高度实用的工具集来优化Java开发体验。该库包含了集合、缓存、原生类型支持、并发库、常见注解、字符串处理、I/O等多方面的功能,能够帮助...
《Google Guava官方教程 v1.1》是一个详细介绍Google Guava库的资源,该库是Google为Java开发人员提供的一套强大的工具集。Guava旨在提高开发效率,提供许多实用的功能,包括集合、缓存、并发工具、原生类型支持、...
**Guava教程1:使用Google Collections** 在Java开发中,Google Collections(现称为Guava库)是一个非常重要的工具集,它极大地丰富了标准Java库的功能,提供了许多实用的数据结构、集合操作、并发工具以及字符串...
Google Guava深入浅出课程是一门面向开发者的课程,旨在教授使用和理解Google Guava库的基本概念、功能和最佳实践。学生将学习如何利用Guava提供的丰富工具集,包括集合、并发、函数式编程等方面,以提升代码质量和...
Guava教程的目标是用简单直观的方式解释Guava的基础到高级概念,并指导如何有效地使用其API。 本教程面向大多数Java开发者,无论你是初学者还是经验丰富的专家,都能从中受益。完成本教程后,你将能够轻松地在你的...
Guava是Google开发的一个Java库,提供了许多核心库的功能,如集合、缓存、原生类型支持、并发性工具、字符串处理、I/O等。 【标签】: Guava学习入门共51页.pd 【压缩包子文件的文件名称列表】: 赚钱项目 --- ...
Google Guava官方教程(中文版) - JackChan - CSDN博客 EventBusExplained · google/guava Wiki · GitHub Guava API Guava Guide The Java™ Tutorials The Java Community Process(SM) Program sean ...
- **官方文档**:查阅Guava和FileCache项目的官方文档,理解其设计理念和使用方法。 - **GitHub仓库**:通过阅读源码、提交历史和Issue,了解项目的开发过程和改进历程。 - **在线教程**:参加在线课程或阅读博客...
Guava是Google开发的一个核心库,它为Java开发人员提供了许多强大的工具和功能。...如果你想要进一步了解Guava,可以参考官方文档或者网上的教程资源,这将有助于你更好地理解和应用这个强大的库。
tools4java 项目中经常会用到的些工具类,如httpclient,...google guava ,官方代码库, 使用教程可以参考 alibaba fastjson, 官方代码库, httpclient ,在此项目中使用的是4.3的版本,这个版本与之前的版本变动比较大,
标题“guava-tutorial”指的是一个关于Google Guava库的教程资源,这通常是一系列用于学习和理解Guava库的代码示例、文档或者教学材料。Google Guava是Google为Java平台开发的一个开源库,提供了许多集合框架、缓存...
9. **Java API和库**:包括Java标准库中的各种类和接口,如Collections、Math、Date和Time等,以及如何使用第三方库如Apache Commons或Google Guava。 10. **JavaFX和Swing**:如果教程包含GUI编程,会介绍这两者...
标题中的“guava-zero-to-hero”暗示了这是一个关于Google Guava库的学习资源,可能是通过一个逐步进阶的方式介绍Guava的使用。Guava是Google的一个开源项目,它为Java开发提供了一系列基础工具,包括集合、缓存、...