Guava做为Java编程的助手,能够提高开发效率,对Guava设计思想的学习则极大的有益于从此的编程之路。故在此对《Getting Started with Google Guava》一书进行翻译并实战,未予审校,错误之处请你们不吝赐教。 html
全文目录以下: 前端
1. 入门 2 java
1.1. Guava简介 2 git
1.2. Guava使用实例 2 程序员
1.3. 本书是关于什么的? 3 github
1.4. Guava安装 3 spring
1.5. 经过Maven或者Gradle管理Guava 3 apache
1.7. 总结 5 设计模式
Google Guava入门
前言
目前,在软件行业内,Java仍然是最主要的开发语言之一,受欢迎程度依然保持着。Java的一个优点是其开发人员能够获取丰富的第三方库,帮助开发人员更加高效的编码。Guava就是一个很棒的库,在开发活动中给予开发者极大的提高。此外,随着咱们开始使用Guava,咱们将得到不少灵感,用于本身代码的实现。
本书覆盖的内容
第一章,介绍Guava,此外给出使用Guava的例子;
第二章,基本的Guava工具,包括使用字符串和对象的基本功能;
第三章,Guava函数式变成,介绍Guava提供的函数式编程特性;
第四章,使用集合,包括加强现有Java集合功能的工具和类;
第五章,并发,展现了如何经过使用Guava的并发抽象化帮助咱们更好的编写并发代码;
第六章,Guava缓存,介绍Guava缓存,包括一个自加载缓存;
第七章,EventBus类,经过它完成基于事件的编程;
第八章,使用文件类,展现了Guava如何极大地简化文件的读写;
第九章,零碎工做覆盖了规避null的Optional类,哈希函数,BloomFilter数据结构。
本章涵盖了一些Guava的历史,而后咱们会写一个例子,说明为何你须要一个成熟的库而不是从头开始本身写。咱们会说明在哪能够得到Guava库,如何安装,最好,如何启动本书所带的源码。
什么是Guava?Google Guava源于2007年的"Google Collections Library",提供使用Java集合的工具,已经进化为Java开发者的基础工具箱。Guava拥有对不少人有用的一些东西。如与字符串、集合、并发、I/O和反射的协做的类。Function接口提供了Java函数式编程的能力,而且极大地简化了代码。Suppier接口帮助creational pattern(23种设计模式之一)。可是,Guava不只仅是从Java中提取的一些样板的抽象化,或者一些咱们都认为在Java中自带的便利方法。Guava涉及编写良好的代码,促使代码更有弹性、更加简洁。全部建议不只仅是使用Guava,更要读一下它的源码,学习运行的原理。而后将一样的准则用于本身所写的代码之中。最后,祝你们学的愉快!
做为软件开发者,咱们认为能够作全部的事情。咱们本能地但愿写属于本身的库,这些库用于处理咱们平常的事务。固然,咱们认为本身写的代码是刀枪不入的,而且咱们了解为什么写单元测试,而且可以经过。这里,我有些很差的消息告诉你们,咱们并无本身想象的那么优秀。实际上呢,这与聪明程度无关,更多的是咱们所写的代码不是不只仅须要经过单元测试,还要被不少开发者所使用并在代码中将他们的需求衡量进来。Guava被用于数以百计的生产环境应用,截止2012年7月,在guava-tests包里有惊人的28600个独立单元测试。归根结底其实使用像Guava这样的库远远好于本身写。此外,据Larry Wall(Perl的做者)所言,软件工程师最好的品质之一就是"懒惰",不是不想工做的意思,而是在能够良好运行的状况下不去从新改造车轮。真正优秀的程序员在开始本身写程序时会寻找已有的库来解决遇到的问题。
本书的目标是当你coding时老是会将它放在"手"边。当遇到须要使用Guava中的内容解决的情况或者Guava可能拥有解决你遇到的问题的方法时,咱们指望本书可以给你答案。若是美誉哦,最少可以指引你到对的方向上。本书涵盖的全部话题都有源码。多数时候,源码是单元测试的形式。有时提出的一些有意义的例子多是不一样的形式,单元测试能够快速地展现代码工做的原理。而且随着Guava发布计划趋于频繁,单元测试是无价的,若是内容与以前的版本相比有变化,运行这些测试给你快速的指示。然而覆盖全部Guava库全部的部分几乎不可能,咱们尽量使本书全面而且覆盖典型的程序员认为有用的内容。最后咱们但愿本书易于阅读、提供乐趣、实用性强。
开始使用Guava以前,须要安装Java 1.6或更高的版本。本书使用的Guava是版本14,是撰写时最新的版本。下面是开始Guava的执行步骤:
如今准备工做就作好了,能够开始使用Guava了。
可使用Maven或者Gradle这样的构建工具来使用Guava。
在Maven项目中使用Guava,在pom.xml中添加以下的依赖:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>14.0</version>
</dependency>
若是使用的是Gradle,首先添加Maven中心仓库(若是尚未添加的话),即在build.gradle文件中添加以下内容:
repositories {
mavenCentral()
}
而后,在build.gradle文件添加如下的依赖节点:
dependencies {
compile group: 'com.google.guava' name: 'guava' version: '14.0'
}
获取更多关于Maven的信息,参考http://maven.apache.org/,Gradle信息请参考http://www.gradle.org/。
十分有必要提到,Guava仅有一个依赖,JSR-305。
【JSR-305是Java语言中定义用于检测缺陷的注解的规范。更多内容参考http://jcp.org/en/jsr/detail?id=305。】
若是你不打算直接使用JSR-305JAR,能够不用在依赖中包含。若是打算使用JSR-305,必须显示地声明这一依赖,由于它不会自动地被拉进来。若是你打算在Scala中使用,必须包含JSR-305JAR文件。Java编译器在编译时不须要这个库包含注解,可是Scala编译器须要。未来这一现象可能会变化,截至目前,若是打算在Scala中使用Guava,必须在classpath中包含JSR-305JAR文件。
书中源码以Java工程进行组织,符合Gradle或者Maven的结构。以前提到过,大部分源码是单元测试的形式。若是没有安装Gradle或者Maven,强烈建议安装其中一个,运行单元测试会变得轻松,拉取Guava和工程所需的一切依赖。
如下是获取和使用源码的步骤:
上述步骤会安装源码所需的Guava和依赖。若是一切顺利,你会看到一大波单元测试被执行并经过。强烈建议使用以前提到的构建工具。这样在修改Guava版本和运行书中测试的时候会很轻松,看看是否有变化。若是没有安装构建工具,你须要下载一下的依赖才能运行书中列出的例子。
书中源码在MacBook Pro v10.7.5,Java 7,Gradle构建系统,IntelliJ IDE环境下完成。
到目前为止,咱们重温了一下Guava简短的历史和它如何提升代码质量、简化工做。咱们认识到使用一个测试充分的库而不是本身从头开发的重要性。最后,咱们提到从哪得到Guava,如何安装,如何下载源码。下一章,咱们开始探索Guavacom.google.common.base包中的工具类和com.google.common.collect包的ComparisonChain类。