Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >每日一讲:强大的Google Guava类库(项目实战视频)

每日一讲:强大的Google Guava类库(项目实战视频)

作者头像
BUG弄潮儿
发布于 2022-06-30 07:35:13
发布于 2022-06-30 07:35:13
7290
举报
文章被收录于专栏:JAVA乐园JAVA乐园

Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,虽然是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 反射机制工具类。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2018-05-28 Google Guava官方教程(中文版)from ifeve.com
引言 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。 查阅Javadoc并不一定是学习这些库最有效的方式。在此,
Albert陈凯
2018/06/19
1.7K0
Google Guava,牛逼的脚手架
1995 年的时候,我的“公明”哥哥——Java 出生了。经过 20 年的发展,他已经成为世界上最流行的编程语言了,请允许我有失公允的把“之一”给去了。
沉默王二
2021/01/12
8770
Google Guava,牛逼的脚手架
初探Google Guava
第一次接触我是在16年春github上,当时在找单机查缓存方法,google guava当初取名是因为JAVA的类库不好用,所以谷歌工程师自己开发一套,想着google出品必属精品理念,我们一起来了解一下。
爱撸猫的杰
2019/03/28
1.1K0
初探Google Guava
Guava:Java开发者的全方位工具库
在现代软件开发中,Java一直是一种广泛使用的编程语言。然而,尽管Java本身非常强大,但许多开发者发现,在日常编码任务中,需要一些额外的工具和实用功能,以提高生产力和简化代码。这就是Guava出场的地方。
一只牛博
2025/05/30
1260
提升编程效率的利器: 解析Google Guava库之常用工具类-40个示例(七)
Guava库是一组来自Google的核心Java库,其设计目的是为了简化Java开发过程,提高开发效率。这个库包含了大量实用的API,可以帮助开发者解决日常开发中遇到的各种问题。
公众号:码到三十五
2024/03/19
2970
Java开源工具库Guava使用指南 ️☕️
Google的Guava库是Java开发中不可或缺的工具库之一。它提供了大量的工具类和方法,能极大地提高编程效率和代码质量。本文将详细介绍Guava的基本使用方法和一些重要特性。
猫头虎
2024/04/08
1.7K0
Java开源工具库Guava使用指南 ️☕️
【吐血整理】想学Google Guava看这篇就够了「建议收藏」
Guava是谷歌提供的一个核心Java类库,其中包括新的集合类型、不可变集合、图库,以及用于并发、I/O、Hash、缓存、字符串等的 实用工具。它在谷歌中的大多数Java项目中被广泛使用,也被许多其他公司广泛使用,熟练掌握这些工具类能帮助我们快速的处理日常开发中的一些问题,比如,不可变集合、集合的转换、字符串处理、本地缓存等
全栈程序员站长
2022/11/01
2.2K0
别再造轮子了,Google 开源的 Guava 工具库真心强大!
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/05/07
1.1K0
别再造轮子了,Google 开源的 Guava 工具库真心强大!
Java常用编程类库
Java语言已经有许多非常成熟的开源基础类库,封装了日常开发中的各种常用操作,如:对象判空,字符串编码,本地缓存等等。 可以直接在项目中引入对应类库使用即可,或者参与完善相应类库的方法。 现将常用的基础类库整理如下,供使用参考。
编程随笔
2022/09/27
5700
Google Guava 集合工具类
>注:懒视图意味着如果还没访问到某个iterable中的元素,则不会对它进行串联操作
架构探险之道
2019/07/25
1.1K0
java开发常用的工具类库google guava
Guava是一个Google开源的Java核心库,它提供了许多实用的工具和辅助类,使Java开发更加简洁、高效、可靠。目前和hutool一起,是业界常用的工具类库。shigen也比较喜欢使用,在这里列举一下常用的工具类库和使用的案例。
shigen
2023/08/31
6730
java开发常用的工具类库google guava
Google guava工具类的介绍和使用
工具类就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率。谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来。所以就诞生了guava。
小旋锋
2019/01/21
4K0
Spring Boot 集成 本地缓存Guava框架
本地缓存一般位于应用服务器的部署机器上,使用应用服务器本身的少量内存。它是应用层获取数据的第一道缓存,应用层获取数据时先访问本地缓存,如果未命中,再通过远程从 L1 缓存层获取,最终获取到的数据再预热到本地缓存中。
微观技术
2021/04/19
1.5K0
Spring Boot 集成 本地缓存Guava框架
还在使用集合类完成这些功能?不妨来看看 Guava 集合类!!!
日常开发中,小黑哥经常需要用到 Java 提供集合类完成各种需求。Java 集合类虽然非常强大实用,但是提供功能还是有点薄弱。
andyxh
2020/03/19
6060
使用Google Guava快乐编程
链接:http://blog.51cto.com/zhangfengzhe/1912897
java思维导图
2018/07/26
7300
使用Google Guava快乐编程
你不知道的Java工具类库,十倍提升开发效率
工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用,如果刚工作的时候就有人告诉我使用这些工具类库,该多好!
一灯架构
2022/09/13
7060
你不知道的Java工具类库,十倍提升开发效率
别再重复造轮子了,推荐使用 Google Guava 开源工具类库,真心强大!
点击关注公众号,Java干货及时送达 Google Guava 概述 1、Guava 是一组来自 Google 的核心 Java 库,包括新的集合类型(如 multimap 和 multiset)、不可变集合、图形库以及用于并发、I/O、散列、缓存、原语、字符串等的实用程序!被广泛应用于 Google 的大多数 Java 项目中,也被许多其他公司广泛使用。 2、guava github 开源地址:GitHub - google/guava: https://github.com/google/guava
Java技术栈
2022/06/13
1.7K0
别再重复造轮子了,推荐使用 Google  Guava 开源工具类库,真心强大!
Google guava工具类的介绍和使用
转载自 http://blog.csdn.net/yyychyzzzz/article/details/54983574
allsmallpig
2021/02/12
1.7K0
Java 集合框架全景解析:从原理到实战
在 Java 编程中,集合框架(Collection Framework)是开发者处理数据结构的核心工具。它为开发者提供了一整套结构化的数据容器,帮助我们以更高效、更面向对象的方式组织和操作数据。
用户11690571
2025/06/06
760
Java 集合框架全景解析:从原理到实战
Apache Commons工具集类库简单说明和使用
1.2.简介 Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问 http://jakarta.apache.org/commons/index.html  BeanUtils  Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt  Betwixt提供将 JavaBean 映射至 XML 文档,以及相反映射的服务. Chain  Chain 提供实现组织复杂的处理流程的“责任链模式”. CLI  CLI 提供针对命令行参数,选项,选项组,强制选项等的简单API. Codec  Codec 包含一些通用的编码解码算法。包括一些语音编码器, Hex, Base64, 以及URL encoder. Collections  Commons-Collections 提供一个类包来扩展和增加标准的 Java Collection框架 Configuration  Commons-Configuration 工具对各种各式的配置和参考文件提供读取帮助. Daemon  一种 unix-daemon-like java 代码的替代机制 DBCP  Commons-DBCP 提供数据库连接池服务 DbUtils  DbUtils 是一个 JDBC helper 类库,完成数据库任务的简单的资源清除代码. Digester  Commons-Digester 是一个 XML-Java对象的映射工具,用于解析 XML配置文件. Discovery  Commons-Discovery 提供工具来定位资源 (包括类) ,通过使用各种模式来映射服务/引用名称和资源名称。. EL  Commons-EL 提供在JSP2.0规范中定义的EL表达式的解释器. FileUpload  FileUpload 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力 HttpClient  Commons-HttpClient 提供了可以工作于HTTP协议客户端的一个框架. IO  IO 是一个 I/O 工具集 Jelly  Jelly是一个基于 XML 的脚本和处理引擎。 Jelly 借鉴了 JSP 定指标签,Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly 可以用在命令行, Ant 或者 Servlet之中。 Jexl  Jexl是一个表达式语言,通过借鉴来自于Velocity的经验扩展了JSTL定义的表达式语言。. JXPath  Commons-JXPath 提供了使用Xpath语法操纵符合Java类命名规范的 JavaBeans的工具。也支持 maps, DOM 和其他对象模型。. Lang  Commons-Lang 提供了许多许多通用的工具类集,提供了一些java.lang中类的扩展功能 Latka  Commons-Latka 是一个HTTP 功能测试包,用于自动化的QA,验收和衰减测试. Launcher  Launcher 组件是一个交叉平台的Java 应用载入器。Commons-launcher 消除了需要批处理或者Shell脚本来载入Java 类。.原始的 Java 类来自于Jakarta Tomcat 4.0 项目 Logging  Commons-Logging 是一个各种 logging API实现的包裹类. Math  Math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题. Modeler  Commons-Modeler 提供了建模兼容JMX规范的Mbean的机制. Net  Net 是一个网络工具集,基于 NetComponents 代码,包括 FTP 客户端等等。 Pool  Commons-Pool 提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池实现. Primitives  Commons-Primitives提供了一个更小,更快和更易使用的对Java基本类型的支持。当前主要是针对基本类型的 collection。. Validator  The commons-validator提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国际化。
kl博主
2023/11/17
6420
推荐阅读
相关推荐
2018-05-28 Google Guava官方教程(中文版)from ifeve.com
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档