zoukankan      html  css  js  c++  java
  • [技术翻译]Guava-libraries(一): 用户指导

    用户指导

    本文翻译自http://code.google.com/p/guava-libraries/wiki/GuavaExplained,由十八子将翻译,发表于博客园

    http://www.cnblogs.com/shibazijiang/版权所有,转载请注明作者以及转载地址

    Guava工程包含了一些Google的核心库,这些库是我们在开发java语言为基础的工程时信赖的工具,包含了集合,缓存,基本支持工具,并发处理库,通用注释,字符串处理,i/o等等。他们中的每个都是google的工程师们每天在实际的产品服务中需要用到的工具。

    但是拉网式搜索javadoc不是最有效率的充分利用这些库的有效办法。在这儿,我们试着以一种易读、愉悦的方式对最受人欢迎的最强大的Guava的一些特点做一解释。

      这个WIKI正在建设中,它的一些部分还在逐步完善。

    • Basic utilities (基本工具集):让使用java语言更愉悦

     Using and avoiding null(避免使用null): null可能会引起歧义,可能会造成让人迷惑不解的错误。它总是让人不爽。许多guava工具直接拒绝使用null,并且遇到null直接快速失败。而不是盲目的接收null

     Preconditions(预先处理)更容易的预先处理

     Common object methods(通用对象方法):简化对象方法的实现,像hashCode() 和 toString().这种方法的实现。(译者注:在原生java如一个对象作为Mapkey的时候就要重写这两个函数

     Ordering:(排序):Guava强大的链式比较器类

     Throwables: (抛出异常):简化了检查异常和错误。

    • Collections: Guava拓展了原生java集合系统。这是guava最成熟最流行的部分。(译者注:当然,Guava就是由Collection集拓展而来的)

     Immutable collections,:是为了防御性编程,常量集合,和提升效率。

     New collection types:为了使用JDK没有提出但可以实现的集合,如multisets, multimaps, tables, bidirectional maps,,还有更多。

     Powerful collection utilities,:为了原生java Collections没有提供的类。

     Extension utilities: 写一个集合包装器?实现一个Iterator?我们能让它更容易。

    • Caches: 更好地使用局部缓存,支持很大范围的生存时间。
    • Functional idioms::保守的使用,Guava函数式编程风格能显著简化代码。
    • Concurrency: 强大的简单的抽象类能让编写正确的并发代码变得更容易。

     

     ListenableFuture:当完成的时候有回调的Futures.

     Service:这些工具为你启动和关闭,以及处理困难的状态逻辑。

    • Strings: 一些非常有用的字符串工具:splitting, joining, padding,还有更多。
    • Primitives:可以操作基础数据类型,像intchar,包含一些无符号类型变体。这些JDK都没有提供。
    • Ranges:Guava处理可比较类型的范围数据最强大的API,包含了连续和离散的数据类型。
    • I/O:简化了i/o操作,尤其是Java 5 和 6中的I/O streams 和 files。
    • Hashing:提供了比Object.hashCode()更精致的工具。
    • EventBus:提供在组件之间Publish-subscribe-style的通信方式,不用组件在另一个组建明确地注册。
    • Math:提供了JDK没有提供的优化的,全面测试过的数学工具类。
    • Reflection:为java反射能力提供工具。
    • Tips:用Guava让你的应用像你想象的那样工作。

     Philosophy:Guava是,也不是我们的目标。

     Using Guava in your build 用Maven,Gradle或者别的工具创建你的系统。

     Using ProGuard: 避免把Guavaz中你不用的部分塞入你的JAR中。

     Apache Commons equivalents, 使用Apache Commons Collections.帮助你改动代码。

     Compatibility,(兼容性)注意不同版本的细节差异。

     Idea Graveyard, 对某个特性的请求毫无意外地被拒绝。

     Friends 这是一个我们喜欢和仰慕的开源项目。

    注意:为了讨论这个wiki的内容。你可以使用guava讨论邮件列表。

     

     

  • 相关阅读:
    GRUB引导界面背景图片制作完整教程
    git遇到问题 Flandre
    NOIP2021 比赛记录 Flandre
    一个不错的回车提交按钮
    防止SQL注入
    NLog 不能些日志
    ajax 加载partial view ,并且 附加validate验证
    linq 常用查询
    Android开发工具问题之ADTversion
    C# 实现一个简单的FTP服务器
  • 原文地址:https://www.cnblogs.com/shibazijiang/p/3581419.html
Copyright © 2011-2022 走看看