[Guava官方文档翻译] 1.Guava简介 (Introduction)
用户指南
Guava包含Google在Java项目中用到的一些核心库:collections, caching, primitives support, concurrency 库, common annotations, string 处理, I/O等。Google工程师们在开发中每天都使用这些工具。
但是,要学习如何用好这些库,通读Javadoc并不是最有效的方法。在这里,我们尝试用一种可读性强、轻松愉快的方法来介绍Guava中最常用和最强大的特性。
这个wiki还在编写过程中,一些部分可能还未完成。
- Basic utilities: 让编写Java更愉快
- 使用和避免使用null: null 含义模糊,可能引起莫名其妙的error,而且就是让人讨厌。很多Guava utilities拒绝盲目使用null。
- 前置条件(preconditions): 更方便地测试方法的前置条件。
- Common object方法: 简化Object类方法的实现,如hashCode()和toString()。
- 排序: Guava强大的"fluent Comparator"类.
- 抛出异常: 简化exception和error的传递和检验。
- Collections: Guava对JDK collections ecosystem的扩展。这是Guava最成熟和最常用的部分之一。
- 不可变collection,支持防御性编程、常量集合使用,也可以提高效率。
- 新的collection类型,补充JDK collection不够完善的应用场景:multisets, multimaps, tables, bidirectional maps等。
- 强大的collection utilities,补充java.util.Collections缺乏的常用操作。
- Extension utilities:要写Collection decorator?实现Iterator接口?我们让这些更方便。
- Caches: 正确实现的本地缓存,支持多种多样的有效期(expiration)设定。
- Functional idioms: 谨慎使用Guava的functional idiom可以显著简化代码。
- Concurrency: 强大而简洁的抽象结构让编写并发代码更简单。
- ListenableFuture: Future模式,结束时调用回调函数。
- Service: 只需指定开启和终止,替你管理其他复杂的状态逻辑。
- Strings: 一些极其有用的string utilities:splitting, joining, padding等。
- Primitives: 补充JDK中没有的,如int和char等基本类型的操作。包括一些类型的unsigned变体。
- Ranges: Guava's有强大的API来处理Comparable类型的范围问题,包括值为连续和值为离散的类型。
- I/O: 简化I/O操作,尤其是在I/O流和文件上。支持Java 5和6。
- Hashing: 比Object.hashCode()更高级的hash工具,包括Bloom filter。
- EventBus: Publish-subscribe-style的组件交流,无需组件间显式注册。
- Math: JDK中没有的,优化后的、彻底测试过的math utilities。
- Reflection: 提供Java的反射功能的Guava utilities。
- 小提示: 让你得心应手地运用Guava。
- 理念: Guava是什么/不是什么,及我们的目标。
- 在你的build中使用Guava,如Maven, Gradle等管理工具。
- 使用ProGuard来避免在你的JAR中加入冗余的Guava部件。
- Apache Commons equivalents,帮助你翻译使用了Apache Commons Collections的代码。
- 兼容性:Guava各个版本的更新细节。
- 提议坟场,被彻底否决的特性提议。
- 友情链接,我们欣赏的其他开源项目。
注意: 要讨论本wiki的内容,请发邮件至guava-discuss mailing list。
中文翻译自Guava官方文档:GuavaExplained - Introduction
[Guava官方文档翻译] 1.Guava简介 (Introduction)的更多相关文章
- [Guava官方文档翻译] 7. Guava的Immutable Collection(不可变集合)工具 (Immutable Collections Explained)
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3538666.html ,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体 ...
- [Guava官方文档翻译] 5. Guava的Object公共方法 (Common Object Utilities Explained)
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3537367.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...
- [Guava官方文档翻译] 2.使用和避免使用null (Using And Avoiding Null Explained)
本文地址:http://www.cnblogs.com/hamhog/p/3536647.html "null很恶心." -Doug Lea "这是一个令我追悔莫及的错误 ...
- [Guava官方文档翻译] 6. 用Guava辅助Throwable异常处理 (Throwables Explained)
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3537508.html ,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体 ...
- [Guava官方文档翻译] 4. 使用Guava Ordering排序 (Ordering Explained)
本文地址:http://www.cnblogs.com/hamhog/p/3537233.html 示例 assertTrue(byLengthOrdering.reverse().isOrdered ...
- [Guava官方文档翻译] 3. 前置条件检查(Preconditions Explained)
本文地址:http://www.cnblogs.com/hamhog/p/3536964.html 前置条件检查 Guava提供了一些检查前置条件的utilities.我们强烈建议静态import这些 ...
- Guava文档翻译之 Guava简介
用户指南 User Guide Guava项目包括了一些Google的核心库,是我们在基于Java的项目中所依赖的,这些库包括:集合,缓存,对基本类型的支持,并发库,通用的注解,字符串处理,I/O,等 ...
- [转]Google Guava官方教程(中文版)
Google Guava官方教程(中文版) http://ifeve.com/google-guava/
- Google Guava官方教程(中文版)
Google Guava官方教程(中文版) 原文链接 译文链接 译者: 沈义扬,罗立树,何一昕,武祖 校对:方腾飞 引言 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库, ...
随机推荐
- ECSHOP在线手册布局参考图--登录/注册页 user_passport.dwt
A.会员登录框 1,设置方法 自带模块 2,代码相关 user_passport.dwt 中 <div class="usBox_1 f_l"> <div ...
- Postfix上的反垃圾邮件的四个方法
在介绍如何配置Postfix的smtp配置之前有必要首先介绍一下它的背景和特点.Postfix是一个由IBM资助下由WietseVenema 负责开发的自由软件工程的一个产物,其目的是为用户提供除se ...
- Codeforces Round #325 (Div. 2) A. Alena's Schedule 水题
A. Alena's Schedule Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/586/pr ...
- Liunx下Tomcat+MYSQL+Nginx配置
环境:centos6.4 min #安装编译库及依赖模块 yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib z ...
- [AngularJS] Introduction to angular-formly
<!DOCTYPE html> <html> <head> <!-- Each of these scripts are the latest version ...
- Android View的绘制机制流程深入详解(三)
本系列文章主要着重深入介绍Android View的绘制机制及流程,第三篇主要介绍并分析视图状态以及重绘流程,首先剖析了 视图的几种状态,然后在深入分析视图的重绘机制流程. 真题园网:http://w ...
- 建索引让SQL飞起来
今天帮助看了一个哥们的数据库,帮他抓了一下等待事件,刚好有一个sql在等待事件中,顺便看看 监控等待事件 select a.SID, a.EVENT, b.OSUSER, b.username, b. ...
- 从svn上down下来的版本在本机启动时各种问题
大姨妈来的时候人比较暴躁,险些摔了我的电脑,还好疼痛及时,没有力气了. 昨天刚从svn上down下来的项目源码,一开始就各种报错. 1,pom.xml文件错误, maven仓库中添加插件就好了 2.服 ...
- SQL Server用存储过程新建视图
CREATE PROCEDURE [dbo].[p_GetV_view]ASBEGIN DECLARE @sqlstr1 varchar(255) DECLARE @sqlstr2 varchar(2 ...
- 当 tcpdump -w 遇到 Permission denied
为了定位问题,需要在Linux上使用tcpdump并且保存到文件,遇到了如下问题: tcpdump port 9001 -w xxtcpdump: xx: Permission denied 因为已经 ...