在日常開發中常常會出現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文檔中的內容,而是直接寫出我從文檔中得出的結論。工具