Google Guava介绍
Google Guava介绍
Google Guava是Google的java项目广泛依赖的核心库,其功能强大并且高效稳定,我们日常企业开发或学习也可以参考和借鉴Guava.其对集合Collection、缓存Cache、原生数据类型支持、并发库、通用注解、字符串处理和IO工具,都提供了高效的支持.
1、基本工具类
1、使用和避免null2、前置条件(Preconditions)3、常见的Object方法4、排序:Guava强大的流畅风格比较器5、Throwables:简化异常和错误的传播与检查使用和避免nulljdk1.8之后也提供了Optional类来处理null问题(应该是借鉴Guava的)前置条件jdk1.8之后也提供了前置条件支持常见的Object方法jdk1.7之后Objects方法里面也提供了一些工具类
2、集合
1、不可变集合(使用不可变集合进行防御性编程和性能提升)
2、新的结合类型
3、强大的集合工具类(Lists、Maps、Sets等)
4、扩展工具类备注:强烈推荐使用Guava的集合工具类
3、缓存
Guava Cache:本地缓存实现,支持多种缓存过期策略
4、函数式风格
不推荐使用Guava的函数式风格,推荐使用JDK8的lambda和Stream API.
5、并发
6、字符串处理
字符串常用工具
7、原生类型操作支持
提供对原生类型的操作支持
8、区间(Ranges)
9、I/O工具类
IO工具类个人更推荐apache下的commons io
10、散列
提供比Object.hashCode()更复杂的散列实现,并提供布鲁姆过滤器的实现
11、事件总线
发布-订阅模式的组件通信,但组件不需要显式地注册到其他组件中
12、数学运算(Math)
13、反射(Reflection)
Guava提供的Java反射工具类
总结
Guava的集合部分、Cache、反射部分应该好好的看看其源码可以从中收获很多.
参考
1、https://github.com/google/guava/wiki
Google Guava介绍相关推荐
- Google Guava Collections 使用介绍
原帖http://www.open-open.com/lib/view/open1325143343733.html 简介: Google Guava Collections 是一个对 Java Co ...
- java工具谷歌工具-Google guava工具类的介绍和使用
工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率.谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来.所以就诞生了guava. guava的优点: 高效设计 ...
- 为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来自 | 张丰哲 链接 | www.jianshu.com ...
- 为什么推荐 Java 程序员使用 Google Guava 编程
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来自 | 张丰哲 链接 | www.jianshu.com/p/97778b21bd00 前言 ...
- [Google Guava] 10-散列
原文链接 译文链接 译者:沈义扬 概述 Java内建的散列码[hash code]概念被限制为32位,并且没有分离散列算法和它们所作用的数据,因此很难用备选算法进行替换.此外,使用Java内建方法实现 ...
- Java内存缓存-通过Google Guava创建缓存
谷歌Guava缓存 Guava介绍 Guava是Google guava中的一个内存缓存模块,用于将数据缓存到JVM内存中.实际项目开发中经常将一些公共或者常用的数据缓存起来方便快速访问. Guava ...
- mysql caching_Spring Caching抽象和Google Guava Cache
mysql caching Spring为缓存昂贵的方法调用提供了强大的现成支持. 这里详细介绍了缓存抽象. 我的目标是使用Spring Guava Cache涵盖Spring现在提供的4.0+版本的 ...
- 正则表达式 guava_带有正则表达式模式的Google Guava Cache
正则表达式 guava 最近我看到了一个关于Google Guava的不错的介绍 ,我们在我们的项目中得出结论,使用它的缓存功能真的很有趣. 让我们看一下regexp Pattern类及其编译功能 . ...
- Spring Caching抽象和Google Guava Cache
Spring为缓存昂贵的方法调用提供了强大的开箱即用支持. 这里详细介绍了缓存抽象. 我的目的是要介绍Spring现在为框架的4.0+版本提供的较新的缓存实现之一-使用Google Guava Cac ...
最新文章
- 使用Tensorize评估硬件内部特性
- LeetCode 452 Minimum Number of Arrows to Burst Balloons(贪心法)
- 网络:HTTP1.1和HTTP2区别
- excel如何做单元格下拉和根据文字自动变色
- cp无法获取文件状态stat_Node.js从零开始——文件系统
- c++ 类内static成员初始化
- HashMap测试程序2
- 35岁遭遇互联网公司无情裁员,面试屡屡碰壁,原因竟是……
- mac 连接hbase的图形化界面_Mac 视觉史(二):90 年代失败 Mac 操作系统大赏
- 昌吉学院2017年计算机招生,昌吉学院
- 计算机软件企业所属行业性质,最新企业所属行业类别、分类及行业代码查询表.doc...
- C语言——三位数排序
- 主引导记录(MBR)分析
- Spring项目使用H2内存数据库做单元测试
- STA X(X为主存地址)指令发出的微操作命令
- arm linux fpu,ARM处理器的浮点运算单元(FPU)
- qt布局嵌套_Qt的5种常用布局搭建
- Win10 年度最重大更新:代码、理想与爱
- Verilog代码编辑工具
- 常见国产卫星参数介绍
热门文章
- 个人私人微信号批量化是一座金矿
- CTF题库Fair-Play
- 双系统!删除ubuntu以后,Windows开机进入grub界面的解决方法
- 元宇宙(一)基本特征
- µC/OS-II 示例 ucos任务的挂起与删除
- 服务器部署随笔-nfs minio 端口映射
- FW:图像处理与计算机视觉 基础、经典以及最近发展_拔剑-浆糊的传说_新浪博客...
- python编写抢座位软件_用Python抢到回家的车票,so easy!
- “OneNote由于某种原因,无法连接到服务器。请尝试检查您的连接以查看服务器是否可用。”的解决方案
- DM数据库用户及权限管理