Guava学习——简介

Guava官方地址:https://github.com/google/guava/wiki

用户指导

Guava是谷歌研发的一系列Java基础工具项目,包含collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等。其被大量应用于谷歌的许多产品中。

 

查阅Javadoc并非一种学习如何高效率的使用Java的方法。这里,我们尝试提供最具特色的Guava特征并尽可能将其描述的可读性高,释义完整。

 

此wiki还在不断补充中,后续将添加更多内容。

  • Basic utilities:让使用Java语言更加轻松
    • Using and avoiding null: null 因为其模棱两可的含义通常情况下会引起很多奇怪的错误,许多Guava的工具都拒绝使用null是一个明智的选择。
    • Preconditions: 令你的方法在测试先决条件时更加方便。
    • Common object methods: 简单明了的实现了 Object 方法, 例如 hashCode() 与 toString()方法。
    • Ordering: Guava中非常强大的 "fluent Comparator" 类。
    • Throwables: 简化传播,检查异常与错误。
  • Collections: Guava扩展的JDK collections生态系统。这部分在Guava中最成熟,使用的最广泛。
  • Graphs: 一个用于构建图中实体与实体之间关系的库。主要特征包括:
    • Graph: 无权图
    • ValueGraph: 加权图
    • Network: 边是唯一对象的图。
    • 支持图的可变与不可变,定向与不定向以及图的一系列其他属性。
  • Caches: 本地缓存应该这样做,其支持各种各样的过期行为。
  • Functional idioms: Guava简化了函数式编程的代码,使用非常简练。
  • Concurrency: 通过简单且强大的抽象使得编写正确的并发代码更加容易。
    • ListenableFuture: Futures, 线程完成工作后返回的对象。
    • Service: 用于开启与关闭事务,使用时需要注意自身代码的状态逻辑。
  • Strings:一些非常有用的字符串实用程序:拆分、连接、填充等。
  • Primitives: 不是由JDK提供的原始类型(如int和char)的操作,包括一些类型的无符号变体。
  • Ranges: Guava的强大API,用于处理 Comparable 类型的范围操作,不论连续还是离线。
  • I/O: 简化了I/O操作,特别是对于Java 5和6的整个I/O流和文件。
  • Hashing: 比Object.hashCode()提供更复杂的散列工具,其中包括Bloom过滤器。
  • EventBus: 组件之间的订阅式通信不需要组件显式地彼此注册。
  • Math: JDK未提供的优化、彻底测试的数学实用工具。
  • Reflection: Guava用于Java的反射的实用程序。
  • Tips: 让你的应用程序以你想要的Guava方式工作。

NOTE: 要讨论这个wiki的内容,请只使用guava-discuss邮件列表。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值