在日常开发中常常会出现jdk提供的工具不能知足咱们当前使用,这个时候咱们要么本身手动重写,或者写一个工具类,又或者引入外部工具。重写和本身写工具类的工做量和可信度明显不如一个公开可信度高的开源工具的。好比Google Guava。java
Google Guava源于2007年的"Google Collections Library",提供使用Java集合的工具,已经进化为Java开发者的基础工具箱。Guava拥有对不少人有用的一些东西。如与字符串、集合、并发、I/O和反射的协做的类。Function接口提供了Java函数式编程的能力,而且极大地简化了代码。Suppier接口帮助creational pattern(23种设计模式之一)。可是,Guava不单单是从Java中提取的一些样板的抽象化,或者一些咱们都认为在Java中自带的便利方法。Guava涉及编写良好的代码,促使代码更有弹性、更加简洁。编程
目前Guava的最新版本是28。基于稳定的考虑接下来的博客中我所使用的是27版本的Guava。设计模式
Guava各版本对jdk的版本依赖不太清楚,网上也很难查出相关信息,可是jdk8是能够支持Guava27的。缓存
在Maven项目中使用Guava,在pom.xml中添加以下的依赖:安全
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>27.0-jre</version> </dependency>
guava各版本下载连接: https://jcenter.bintray.com/com/google/guava/guava/并发
如下是guava官方文档的目录,接下来的学习,我会按照文档给出的顺序执行。争取作到一周两章的学习进度。函数式编程
下载连接: http://wiki.jikexueyuan.com/project/google-guava-official-tutorial/函数
接下来的博客中我会尽可能避免copy文档中的内容,而是直接写出我从文档中得出的结论。工具