Guava 是谷歌基于Java1.6的一个类库集合的扩展项目,包含了许多谷歌核心的 Java 常用库。除开Guava,还有一些谷歌的常用Java类库也值得我们关注,本文列出了其中的五个类库。
1. 依赖注入——Guice
Guice是一个轻量级的依赖注入(DI)Java框架,它扮演着与Spring的内核控制反转(IOC)库作用相似的角色。它和Guava一样流行,它能够缓解对工厂模式(factories)的需求并简化代码中new的使用。用谷歌自己的话说,Guice的注入是为new进行new操作。
这个库无法让你彻底摆脱工厂模式,但是它能够确保你的代码可以不直接依赖于它们。通过这种方式,你能够更加方便的进行单元测试和代码重用。
闪光点:
这个库旨在使开发和调试的过程更快更容易,使你能够更好的理解自己的代码。此外,Guice还提供了一个很酷的功能:当错误发生时,它会生成一段有用的信息,告诉你到底发生了什么问题以及该如何解决这些问题。
2. 静态分析——Error Prone
这个开源库是用于Java的静态分析工具,它能够让你在编译的时间捕捉普通的程序错误。团队中再优秀的成员也有可能因为其它的事情分心而导致错误出现,而这个工具可以帮助你在程序错误扰乱应用程序之前就及时捕捉到它。
比如,它能够检测到设计模式的所出现的Bug:CannotMockFinalClass——显示Mockito无法模拟最终类。
闪光点:
在官方的类库页面你可以找到一些常见错误和它们的建议修复的列表。这意味着每个错误都已经有了一个成熟的解决方案,因此,你可以在自己的代码中轻松的实现它。
3. 测试可读性——Truth
Truth是一个可帮助你增加关于测试和错误信息可读性及可发现性的测试框架。它能够生成一些关于错误的有意义的信息,报告测试失败的原因并将信息扩展到新的对象类型中。就好像是自带一段警句:“我们曾在这个问题上犯了一个策略上的错误”。
你可以使用Truth来替代JUnit的断言(assertions),FEST框架以及Hamcrest的matchers类,或者简单的用于你代码需要的地方,还可以用来声明JUnit风格的假设(跳过失败的测试)、断言和异常。
4. 语言无关的协议——Kythe
Kythe提供支持工具和标准来鼓励(可控制源代码的)程序集间的互操作性(包括分享,交流,使用系统间的信息)。简而言之就是这个库能够提供一个(作用于源代码的)构建工具的生态系统。
这个库的主要目的是提供一个能够作用于任何源代码上的,标准的,与语言无关的交换机制,它包含了构建系统、编译器、解释器、静态分析、编辑器、代码复审程序等东西。因此,你可以与任何其它系统分享信息。
闪光点:
Kythe拥有一个能够回答你任何相关问题的资源丰富的社区。如果你想获取Kythe在Python、JavaScript和Java方面的帮助或者是想知道如何建立Python的模块,再或者只是简单的想了解一下Kythe,你都可以访问这个社区。
5. 结构数据序列化——Protobuf
Protobuf,这个库也被称为Protocol Buffers,是谷歌用于结构数据序列化与语言、平台无关的可扩展机制。如果你不能了解它的含义,谷歌向你类比:Protobuf就像XML,只不过更小,更快更简单。
如果我们选择一句口号来形容这个库,就是“一次构建,随处可用”,这也是形容它最贴切的方式。一旦你定义想要的数据结构,你可以使用特殊生成的源代码来读写各种数据流和语言。
闪光点:
protobuf是我们最喜欢的类库之一,它能够帮助我们把那些复杂元素变得更加简单。
相关推荐
Java类库下载Q指的是一个包含多种常用Java类库的集合,提供了丰富的功能,使得Java开发者可以快速地集成到自己的项目中,提升开发速度。"Q"可能代表这个集合的特定版本或者特性。 在Java编程中,类库通常分为以下几...
Guava是Google贡献的一个强大的Java库,包含了很多核心库没有的功能,如缓存、集合、并发、I/O、字符串处理等。Lombok则是用于简化Java代码的工具,通过注解处理器自动添加getter、setter、equals、hashCode和...
Guava 是Google开发的一个高性能、现代的Java类库,它提供了一些高级功能和工具,以提高开发效率和代码性能: - Guava Cache 提供了一种高效的缓存机制,可以帮助减少不必要的计算或数据库查询。 - Guava EventBus ...
Java类库大全是一个集合了众多Java开发中常用和实用类库的资源集合,旨在为开发者提供便利,提高开发效率。这个资源包包含了丰富的Java库,覆盖了从基础数据类型操作到...这个资源包无疑是对Java开发者的一份宝贵财富。
Google的Guava是Java开发中一个非常强大的工具库,它由Google工程师开发并维护,提供了一套丰富的Java实用工具集合。Guava的目的是为了简化Java编程,减少代码冗余和提升代码质量。Guava中包含的工具种类繁多,涵盖...
Guava是Google开发的一个Java库,它包含许多Google核心库中的高级集合、缓存、原生类型支持、并发包、字符串处理、I/O等工具类。版本33.0.0是Guava的一个更新,提供了最新的功能改进和错误修复。在深入探讨Guava常用...
这个压缩包中的源代码可能还包括了一些第三方库,比如Apache Commons、Google Guava或者Spring框架等。这些库提供了更高级的功能,如字符串处理、缓存机制、依赖注入等。通过学习这些库的源码,开发者可以了解到最佳...
通过学习《Java开发者年鉴》,开发者不仅可以掌握Java核心库的使用,还能了解到最新的开发趋势和技术,从而提升个人技能,适应不断变化的开发环境。无论你是初学者还是经验丰富的开发者,这份年鉴都将是你的得力助手...
Google Guava库是Google的一个开源项目,包含了大量Google核心的Java常用库。它扩展了Java集合框架,并提供了特定类型的集合如map、set、list和queue,同时提供了二进制文件和文本文件的I/O类。使用Guava可以简化...
Guava是Google为Java开发者提供的一套强大的核心库,它极大地丰富了Java的标准库功能,尤其是在集合、缓存、并发编程、基本...使用Guava可以显著提升Java项目的质量和效率,是每个Java开发者值得学习和掌握的工具库。
总的来说,Guava库是Java开发者的强大工具,它提供的各种工具和类库能帮助开发者编写更高效、更健壮的代码。无论是数据处理、并发编程还是错误处理,Guava都有相应的解决方案。通过了解并熟练使用Guava,开发者可以...
Guava是谷歌提供的一个Java核心类库,它在Java社区中有着广泛的应用,特别是在大型项目和复杂系统中。Guava 22.0版本是对该库的一次重大更新,对原有功能进行了优化,同时也引入了一些新的特性,以更好地支持Java ...
Guava是Google提供的一个Java库,其中的`com.google.common.util.concurrent.Retryer`接口用于构建自定义的重试策略。Guava Retry的使用相对简单,你只需创建一个`RetryerBuilder`,通过链式调用来设置重试条件、...
Guava是Google推出的一款开源核心类库,它为Java开发者提供了丰富的工具类和实用工具集合。Guava旨在提高编程效率的同时确保代码的高质量和稳定性。它包含了大量针对日常开发过程中常见问题的解决方案。 **特点**:...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而备受开发者青睐。在提供的"20个Java开源项目源码下载"压缩包中,包含了多个知名的...因此,这份源码包是Java开发者学习和成长的宝贵资源。
Java Document 是一个专门为Java开发者设计的资源集合,它包含了丰富的类库,旨在助力你深入理解和高效运用Java编程语言。在Java的世界里,类库是程序员的得力助手,它们提供了预定义的功能,允许开发者快速实现特定...
该Java抽奖程序源码是一个基于类库集合的可配置应用,设计用于实现各种抽奖功能。开发者可以自由调整程序...通过学习和理解这个程序,开发者不仅可以掌握抽奖程序的实现,还能加深对Java、数据库操作和软件架构的理解。
总的来说,Google Guava库是一个全面且强大的工具集,它极大地丰富了Java的标准库,提升了开发效率,降低了出错的可能性,是Java开发者不可或缺的利器。通过深入学习和应用Guava,开发者可以编写出更高效、更健壮的...
谷歌浏览器(Google Chrome)是许多Java开发者首选的Web浏览工具,其丰富的扩展程序和便捷的书签管理功能为程序员提供了高效的工作环境。本资源“史上最全谷歌浏览器常用书签”显然是针对Java开发者精心整理的一系列...
2. **算术运算**:类库如Apache Commons Math或Google Guava提供了高级数学操作,我们可以利用这些类库进行复杂数学计算,比如浮点数的四舍五入、平方根、对数等。 3. **用户界面**:为了呈现计算器的界面,可以...