`

guava 简介

 
阅读更多
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁,让你工作更加轻松愉悦。下面我们就开启优雅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 反射机制工具类。
分享到:
评论

相关推荐

    Getting Started with Google Guava.pdf

    #### 一、Guava简介 Google Guava 是一个由Google提供的开源Java库,它包含了许多强大的工具类和集合类,这些类可以帮助开发者更高效地编写Java代码。Guava的目标是提供一种更加简洁、优雅的方式来处理常见的编程...

    Getting Started with Google Guava code

    **Google Guava简介** Google Guava 是一个广泛使用的开源库,为Java开发人员提供了一系列实用工具类和集合框架。这个库旨在简化常见的编程任务,提高代码的可读性和可维护性。Guava 提供了丰富的功能,包括缓存、...

    Getting Started with Google Guava英文版

    #### 一、Google Guava简介与重要性 Google Guava是Google开发的一个Java核心库的集合,它为开发者提供了一系列高效、实用且易于使用的工具和功能,帮助开发者编写出更高质量、更高效率的Java代码。Guava库包括了...

    Guava的Jar包(guava-26.0-jre.jar)

    Guava是Google公司开发的一款适用于Java的工具类集合。

    guava collection简介1

    Guava Collections 是 Google 的工程师 Kevin Bourrillion 和 Jared Levy 创作的一个开源库,利用他们在公司内部“20%”自由时间开发的成果。这个库是对 Java Collections Framework 的一个增强和扩展,旨在提供更...

    Getting start with guava

    #### 一、简介与背景 Google Guava库是谷歌公司推出的一个开源项目,它为Java开发者提供了丰富的工具类和API,旨在帮助开发者编写更高效、简洁且可维护的代码。Guava库包含了大量实用功能,如集合框架扩展、缓存...

    guava-18.0.jar包官方免费版

    guava-18.0.jar包是一款免费的jar包,Guava中文是石榴的意思,该项目是Google的一个开源项目,包含许多 Google 核心的 Java 常用库,给大家提供guava18.0.jar,需要此款工具的朋友们欢迎前来下载使用。 基本简介 ...

    Java基于Guava Retrying实现重试功能

    1. Guava-Retrying库简介 Guava-Retrying是一个基于Guava库的重试机制实现,提供了灵活的重试策略和监听机制,能够满足各种重试场景的需求。该库提供了多种重试策略,如固定间隔重试、指数退避重试等,能够满足不同...

    springbt_guava_cache.7z

    一、Spring Boot与Guava Cache简介 1. Spring Boot:作为Spring框架的微服务启动器,Spring Boot简化了Java应用的初始化和配置,通过预设默认配置,使得开发者可以快速构建健壮的Web应用。 2. Guava Cache:Google...

    GuavaDemo:使用Guava库的演示

    **Guava库简介** Guava是Google开源的一个Java库,它包含了一系列高度实用的集合类、并发工具、I/O工具、缓存机制、字符串处理工具等。Guava库旨在简化常见的编程任务,提高代码的可读性和效率。Guava不仅在Google...

    Guava-Event-Bus:Guava的EventBus源码学习

    Guava-Event-Bus 学习笔记 Guava的EventBus源码学习,基于Guava的18.0版本 分析者: ###1. 背景简介 EventBus是google的一个Java工具包其中的一个工具类,类似的有多个版本其中包括移植到Android端的 和改良的,功能...

    guava-tutorial

    #Google Guava 简介 一组单元测试,展示了 google guava 库(版本 18.0)的一些 API 功能。 一些代码示例大量使用了 guava 支持的函数式编程习惯用法(针对 Java 5 到 7),尽管。 这些示例不应被视为生产代码的...

    如何基于LoadingCache实现Java本地缓存

    二、LoadingCache 简介 LoadingCache 是 Guava 库提供的一种缓存实现方式,继承自 Cache 接口。LoadingCache 提供了自动加载缓存项的功能,当缓存项不存在时,通过 CacheLoader 加载缓存项。 三、基于 Loading...

    cache-demo:各种缓存工具

    简介guava cache 是 Google 提供的一套本地内存缓存的 java 实现,具备了缓存的加载、更新、并发保护、自动回收、状态监控等功能,够用且还算轻量。###2. demo// 数据加载器,key 对应数据未被缓存时,通过此加载器...

    GAVA基础教学.pdf

    #### Guava库简介 Guava是由Google开发的一组核心Java库,旨在提供更简洁、高效的工具类集合,以弥补标准Java库中的不足。Guava包含了多个子模块,每个子模块针对不同的编程需求进行了优化。接下来将详细介绍Guava...

    分布式存储极致性能Redis6视频.zip

    目录网盘文件永久链接 ...27_Guava解决缓存穿透 28_Redis布隆过滤器解决缓存穿透 29_docker安装rebloom 30_缓存击穿简介 31_高并发的淘宝聚划算案例落地 32_分布式锁理论简介 33_分布式锁的起手式案例有问题 .......

    缓存、缓存算法和缓存框架简介.docx

    4. **Guava Cache**:Google Guava 库的一部分,提供了一个简单的本地缓存实现,适用于Java应用程序。 5. **Hazelcast**:一个开源的内存数据网格,提供分布式缓存、Map、Queue、Topic等功能。 缓存框架的选择应...

    vivttb.zip

    一、RateLimiter简介 RateLimiter是Google Guava库提供的一种工具,用于控制系统的吞吐量,即限制在特定时间窗口内处理请求的速度。它可以确保系统资源不被过度消耗,保持服务的稳定性和可用性。在微服务架构中,限...

    缓存、缓存算法和缓存框架简介 - 文章 - 伯乐在线.pdf

    在Java开发中,常见的缓存框架有Ehcache、Guava Cache、Redisson等。选择合适的缓存框架需要根据实际应用场景和需求来决定,比如对性能的考量、支持的数据类型、可扩展性、社区支持和文档完善程度等因素。 文章中...

    基于RateLimiter和Lua脚本限量控制实现分布式限流.docx

    ##### 2.1 令牌桶模型简介 令牌桶算法是一种常见的流量控制算法,它通过生成令牌的方式控制访问速率。在本例中,令牌桶模型被存储在Redis中,利用其原子性确保了分布式环境下的同步操作。 ##### 2.2 关键属性与...

Global site tag (gtag.js) - Google Analytics