`

Guava 开源工具的简单介绍

阅读更多

Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的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内缓存。 

  com.google.common.collect:带泛型的集合接口扩展和实现及工具类,这里有好玩的集合。 

  com.google.common.eventbus:发布订阅风格的事件总线。 

  com.google.common.hash: 哈希工具包。 

  com.google.common.io:I/O工具包。 

  com.google.common.math:原始算术类型和超大数的运算工具包。 

  com.google.common.net:网络工具包。 

  com.google.common.primitives:八种原始类型和无符号类型的静态工具包。 

  com.google.common.reflect:反射工具包。 

  com.google.common.util.concurrent:多线程工具包。

 

  类库使用手册:

 

  一.  基本工具类:让使用Java语言更令人愉悦。

 

  1. 使用和避免 null:null 有语言歧义, 会产生令人费解的错误, 反正他总是让人不爽。很多 Guava 的工具类在遇到 null 时会直接拒绝或出错,而不是默默地接受他们。

  2. 前提条件:更容易的对你的方法进行前提条件的测试。

  3. 常见的对象方法: 简化了Object常用方法的实现, 如 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 对象添加一个装饰器? 实现迭代器? 我们可以更容易使用这些方法。

 

  三.  缓存: 本地缓存,可以很方便的操作缓存对象,并且支持各种缓存失效行为模式。

 

  四.  Functional idioms(函数式): 简洁, Guava实现了Java的函数式编程,可以显著简化代码。

 

  五. Concurrency(并发):强大,简单的抽象,让我们更容易实现简单正确的并发性代码。

 

  1. ListenableFuture(可监听的Future): Futures,用于异步完成的回调。

  2. Service: 控制事件的启动和关闭,为你管理复杂的状态逻辑。

 

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

 

  七. Primitives: 扩展 JDK 中未提供的对原生类型(如int、char等)的操作, 包括某些类型的无符号的变量。

 

  八. Ranges: Guava 一个强大的 API,提供 Comparable 类型的范围处理, 包括连续和离散的情况。

 

  九. I/O: 简化 I/O 操作, 特别是对 I/O 流和文件的操作, for Java 5 and 6.

 

  十. Hashing: 提供比 Object.hashCode() 更复杂的 hash 方法, 提供 Bloom filters.

 

  十一. EventBus: 基于发布-订阅模式的组件通信,但是不需要明确地注册在委托对象中。

 

  十二. Math: 优化的 math 工具类,经过完整测试。

 

  十三. Reflection: Guava 的 Java 反射机制工具类。

 

以上基本介绍了Guava 开源工具包的整体结构.

 

下面重点推荐几个比较好的教程:(好的文章,应该反复地看)

http://www.cnblogs.com/peida/tag/Guava%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/

 

Google Guava官方教程(中文版)

http://ifeve.com/google-guava/

 

分享到:
评论

相关推荐

    java开源包6

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包9

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    JAVA上百实例源码以及开源项目源代码

    简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,...

    java开源包8

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包10

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    guava:带有 Foundation 5、LibSASS、Knockout、Nunjucks 和 Buster 测试框架的早午餐框架

    Guava 是一个使用 JavaScript 和 Node.js 开发的开源静态网站引擎。 它从您计算机上的文件中获取内容,并快速将它们呈现为快速静态输出。 Guava 会在发生更改时自动重新呈现您的文件,并简化您的网站开发过程。 ...

    java开源包1

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包2

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包3

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包5

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包7

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包11

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包4

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java开源包101

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    JAVA上百实例源码以及开源项目

    一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码...

    MyJavaStudio:我的Java Studio,一些测试代码和开源代码的集成,用于在项目中使用之前进行功能验证或出于研究目的进行测试-java project source code

    另外还有一些小工具,以及对开源代码的封装使用。 Java和框架: 缓存相关: 使用ConcurrentHashMap的本地缓存示例(程序包:com.xjj.cache.local) Guava缓存:使用Guava缓存框架的示例,包括管理网页(请参阅: ...

    浅谈RxJava+Retrofit+OkHttp 封装使用

    也是Square的开源库,它是一个类型安全的网络请求库,Retrofit简化了网络请求流程,基于OkHtttp做了封装,解耦的更彻底:比方说通过注解来配置请求参数,通过工厂来生成CallAdapter,Converter,你可以使用不同的请求...

    Java资源包01

    SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...

    java8源码-springCloud-Order:用spring-cloud做的简单下单流程(tcc、分布式锁、事件驱动编程)

    guava 项目结构 Spring cloud微服务 模块名称 作用 备注 admin spring-boot-admin,用于监控 apiGateWay spring-cloud-zuul,用于做路由,负载均衡 common 整个项目的工具类 config 配置中心 hystrixdashboard hystrix...

Global site tag (gtag.js) - Google Analytics