【Guava】Guava: Google Core Libraries for Java 好用工具类

这篇具有很好参考价值的文章主要介绍了【Guava】Guava: Google Core Libraries for Java 好用工具类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Guava前言

Guava是Google的一组核心Java库,其中包括新的集合类型 (如multimap和multiset)不可变集合图库,以及用于并发、I/O、哈希、缓存、基元、字符串等的实用程序!它 被广泛用于谷歌内的大多数Java项目,并被许多人广泛使用。

Guava是一种基于开源的Java库,Google Guava源于2007年的"Google Collections Library"。这个库是为了方便编码,并减少编码错误。这个库用于提供集合,缓存,支持原语句,并发性,常见注解,字符串处理,I/O和验证的实用方法。

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:多线程工具包。

Guava的优势

标准化 - Guava库是由谷歌托管。
高效 - 可靠,快速和有效的扩展JAVA标准库
优化 -Guava库经过高度的优化。
函数式编程:增加Java功能和处理能力
实用程序:提供经常需要在应用程序中开发的许多实用程序类
验证:提供标准的故障安全验证机制。
最佳实践:强调最佳的做法。

它是一个提高代码质量、简化工作,促使代码更有弹性、更加简洁的工具

Guava官方网址

https://gitcode.net/mirrors/google/guava

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>32.0.1-jre</version>
  <!-- or, for Android: -->
  <version>32.0.1-android</version>
</dependency>

Guava类库使用

https://github.com/google/guava/wiki

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

1、使用和避免 null:null 有语言歧义, 会产生令人费解的错误, 反正他总是让人不爽。很多 Guava 的工具类在遇到 null 时会直接拒绝或出错,而不是默默地接受他们。
2、前提条件:更容易的对你的方法进行前提条件的测试。
3、常见的对象方法: 简化了Object常用方法的实现, 如 hashCode() 和 toString()。
4、排序: Guava 强大的 "fluent Comparator"比较器, 提供多关键字排序。
5、Throwable类: 简化了异常检查和错误传播。

集合类:集合类库是 Guava 对 JDK 集合类的扩展。

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 对象添加一个装饰器? 实现迭代器? 我们可以更容易使用这些方法。

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

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

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

1、ListenableFuture(可监听的Future): Futures,用于异步完成的回调。
2、Service: 控制事件的启动和关闭,为你管理复杂的状态逻辑。文章来源地址https://www.toymoban.com/news/detail-502351.html

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】Guava: Google Core Libraries for Java 好用工具类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • com.google.guava:guava 组件安全漏洞及健康分析

    维护者 google组织 许可证类型 Apache-2.0 首次发布 2010 年 4 月 26 日 最新发布时间 2023 年 8 月 1 日 GitHub Star 48189 GitHub Fork 10716 依赖包 28,694 依赖存储库 219,576 Guava 是 Google 的一组核心 Java 库,其中包括新的集合类型(例如 multimap 和 multiset)、不可变集合、图形库以及用于并发、

    2024年02月10日
    浏览(35)
  • Google 开源库Guava详解

    Guava 是一组来自Google的核心Java库,包括新的集合类型(如多映射和多集)、不可变集合、图库和并发、I/O、哈希、原语、字符串等实用程序!它广泛用于Google中的大多数Java项目,也被许多其他公司广泛使用。 Guava 开发要求 : JRE风格需要JDK 1.8或更高版本。 如果您需要支持

    2024年02月09日
    浏览(29)
  • Google的guava缓存学习使用

    导入依赖 使用1 项目中使用到了缓存,定义一个切面,拦截类或方法上存在@SysDataCache注解请求,对于这些方法的返回值进行缓存。项目中主要还是使用在缓存常量,一些不易改变的值 定义注解 定义切面和初始化缓存容器并使用缓存 项目中缓存使用 使用2 作为性能缓存工具,

    2024年01月25日
    浏览(36)
  • 【译】Google Guava 的 Table 接口介绍

    原文:https://www.baeldung.com/guava-table 在本教程中,我们将展示如何使用 Google Guava 的 Table 接口及其多个实现。 Guava 的 Table 是一种集合,表示包含行、列和相关单元格值的表结构,行和列充当有序的键对。 让我们看看如何使用 Table 类。 2.1. Maven依赖 首先,在 pom.xml 中添加 Goo

    2024年02月06日
    浏览(25)
  • 【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(基础编程篇)

    Preconditions(前置条件):让方法调用的前置条件判断更简单 。 Guava在Preconditions 类中提供了若干前置条件判断的实用方法,我们强烈建议在 Eclipse 中静态导入这些方法。每个方法都有三个变种: 当方法没有额外参数时,抛出的异常中不包含错误消息,这会使得调用方很难确

    2024年02月07日
    浏览(44)
  • 设计模式学习笔记 - 开源实战三(下):借助Google Guava学习三大编程范式中的函数式编程

    现在主流的编程范式主要有三种,面向过程、面向对象和函数式编程。在理论部分,已经介绍了前面两种编程范式。本章再讲讲剩下的编程范式,函数式编程。 函数式编程并非是一个很新的东西,早在 50 年前就已经出现。近几年,函数式编程越来越被人关注,出现了很多新

    2024年04月22日
    浏览(39)
  • 【开源与项目实战:开源实战】81 | 开源实战三(上):借Google Guava学习发现和开发通用功能模块

    上几节课,我们拿 Unix 这个超级大型开源软件的开发作为引子,从代码设计编写和研发管理两个角度,讲了如何应对大型复杂项目的开发。接下来,我们再讲一下 Google 开源的 Java 开发库 Google Guava。 Google Guava 是一个非常成功、非常受欢迎的开源项目。它在 GitHub 上由近 3.7 万

    2024年02月11日
    浏览(31)
  • 详解error while loading shared libraries: ../../lib/libopencv_core.so

    目录 详解 error while loading shared libraries: ../../lib/libopencv_core.so 问题分析 1. 动态库未正确安装 2. 动态库路径未正确配置 解决方案 1. 确认 OpenCV 动态库已正确安装 2. 配置动态库路径 方法 1:使用 LD_LIBRARY_PATH 方法 2:使用 /etc/ld.so.conf.d 3. 编译时指定动态库路径 4. 检查库文件权限

    2024年04月27日
    浏览(30)
  • 【开源与项目实战:开源实战】82 | 开源实战三(中):剖析Google Guava中用到的几种设计模式

    上一节课,我们通过 Google Guava 这样一个优秀的开源类库,讲解了如何在业务开发中,发现跟业务无关、可以复用的通用功能模块,并将它们从业务代码中抽离出来,设计开发成独立的类库、框架或功能组件。 今天,我们再来学习一下,Google Guava 中用到的几种经典设计模式:

    2024年02月11日
    浏览(53)
  • 【开源与项目实战:开源实战】83 | 开源实战三(下):借Google Guava学习三大编程范式中的函数式编程

    现在主流的编程范式主要有三种,面向过程、面向对象和函数式编程。在理论部分,我们已经详细讲过前两种了。今天,我们再借机会讲讲剩下的一种,函数式编程。 函数式编程并非一个很新的东西,早在 50 多年前就已经出现了。近几年,函数式编程越来越被人关注,出现

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包