zl程序教程

[Google Guava] 9-I/O

  • 【吐血整理】想学Google Guava看这篇就够了「建议收藏」

    【吐血整理】想学Google Guava看这篇就够了「建议收藏」

    Guava是谷歌提供的一个核心Java类库,其中包括新的集合类型、不可变集合、图库,以及用于并发、I/O、Hash、缓存、字符串等的 实用工具。它在谷歌中的大多数Java项目中被广泛使用,也被许多其他公司广泛使用,熟练掌握这些工具类能帮助我们快速的处理日常开发中的一些问题,比如,不可变集合、集合的转换、字符串处理、本地缓存等最近一段时间,我把Guava中常用到的工具类学了一遍,感觉有些工具类还是

    日期 2023-06-12 10:48:40     
  • Google Guava Stopwatch(计时器)详解编程语言

    Google Guava Stopwatch(计时器)详解编程语言

    此页面是否是列表页或首页?未找到合适正文内容。

    日期 2023-06-12 10:48:40     
  • [Google Guava] 8-区间

    [Google Guava] 8-区间

    区间,有时也称为范围,是特定域中的凸性(非正式说法为连续的或不中断的)部分。在形式上,凸性表示对a =b =c, range.contains(a)且range.contains(c)意味着range.contains(b)。 区间可以延伸至无限——例如,范围”x 3″包括任意大于3的值——也可以被限制为有限,如” 2 =x 5″。Guava用更紧凑的方法表示范围,有数学背景的程序员对此是耳熟能

    日期 2023-06-12 10:48:40     
  • [Google Guava] 4-函数式编程

    [Google Guava] 4-函数式编程

    原文链接 译文链接 译者:沈义扬,校对:丁一 截至JDK7,Java中也只能通过笨拙冗长的匿名类来达到近似函数式编程的效果。预计JDK8中会有所改变,但Guava现在就想给JDK5以上用户提供这类支持。 过度使用Guava函数式编程会导致冗长、混乱、可读性差而且低效的代码。这是迄今为止最容易(也是最经常)被滥用的部分,如果你想通过函数式风格达成一行代码,致使这行代码长到荒唐,Guava团队会泪

    日期 2023-06-12 10:48:40     
  • [Google Guava] 7-原生类型

    [Google Guava] 7-原生类型

    Bytes工具类没有定义任何区分有符号和无符号字节的方法,而是把它们都放到了SignedBytes和UnsignedBytes工具类中,因为字节类型的符号性比起其它类型要略微含糊一些。 int和long的无符号形式方法在UnsignedInts和UnsignedLongs类中,但由于这两个类型的大多数用法都是有符号的,Ints和Longs类按照有符号形式处理方法的输入参数。 此外,Guava为

    日期 2023-06-12 10:48:40     
  • [Google Guava] 2.4-集合扩展工具类

    [Google Guava] 2.4-集合扩展工具类

    原文链接 译文链接 译者:沈义扬,校对:丁一 有时候你需要实现自己的集合扩展。也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集。Guava为你,也为我们自己提供了若干工具方法,以便让类似的工作变得更简单。(毕竟,我们自己也要用这些工具扩展集合框架。) Forwarding装饰器 针对所有类型的集合接口,Guava都提供了Fo

    日期 2023-06-12 10:48:40     
  • [Google Guava] 2.2-新集合类型

    [Google Guava] 2.2-新集合类型

    这种写法很笨拙,也容易出错,并且不支持同时收集多种统计信息,如总词数。我们可以做的更好。 Guava提供了一个新集合类型 Multiset,它可以多次添加相等的元素。维基百科从数学角度这样定义Multiset:”集合[set]概念的延伸,它的元素可以重复出现…与集合[set]相同而与元组[tuple]相反的是,Multiset元素的顺序是无关紧要的:Multiset {a, a, b}和{a,

    日期 2023-06-12 10:48:40     
  • [Google Guava] 1.3-常见Object方法

    [Google Guava] 1.3-常见Object方法

    注意:JDK7引入的Objects类提供了一样的方法Objects.equals。 hashCode 用对象的所有字段作散列[hash]运算应当更简单。Guava的Objects.hashCode(Object...)会对传入的字段序列计算出合理的、顺序敏感的散列值。你可以使用Objects.hashCode(field1, field2, …, fieldn)来代替手动计算散列值。 注

    日期 2023-06-12 10:48:40     
  • google Guava包的ListenableFuture解析

    google Guava包的ListenableFuture解析

    接口 传统JDK中的Future通过异步的方式计算返回结果:在多线程运算中可能或者可能在没有结束返回结果,Future是运行中的多线程的一个引用句柄,确保在服务执行返回一个Result。 ListenableFuture可以允许你注册回调方法(callbacks),在运算(多线程执行)完成的时候进行调用,  或者在运算(多线程执行)完成后立即执行。这样简单的改进,使得可以明显的支持更多的操作,

    日期 2023-06-12 10:48:40     
  • Google Guava之--cache

    Google Guava之--cache

    ss

    日期 2023-06-12 10:48:40     
  • Google Guava官方教程(中文版)

    Google Guava官方教程(中文版)

    原文链接  译文链接 译者: 沈义扬,罗立树,何一昕,武祖  校对:方腾飞 引言 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、

    日期 2023-06-12 10:48:40     
  • google Guava包的reflection解析

    google Guava包的reflection解析

    译者:万天慧(武祖) 由于类型擦除,你不能够在运行时传递泛型类对象——你可能想强制转换它们,并假装这些对象是有泛型的,但实际上它们没有。 举个例子: ArrayList String stringList = Lists.newArrayList(); ArrayList Integer intList = Lists.newArrayList(); System.out.println

    日期 2023-06-12 10:48:40     
  • [Google Guava] 10-散列

    [Google Guava] 10-散列

    原文链接 译文链接 译者:沈义扬 Java内建的散列码[hash code]概念被限制为32位,并且没有分离散列算法和它们所作用的数据,因此很难用备选算法进行替换。此外,使用Java内建方法实现的散列码通常是劣质的,部分是因为它们最终都依赖于JDK类中已有的劣质散列码。 Object.hashCode往往很快,但是在预防碰撞上却很弱,也没有对分散性的预期。这使得它们很适合在散列表中运用,因为额

    日期 2023-06-12 10:48:40     
  • [Google Guava] 2.2-新集合类型

    [Google Guava] 2.2-新集合类型

    原文链接 译文链接 译者:沈义扬,校对:丁一 Guava引入了很多JDK没有的、但我们发现明显有用的新集合类型。这些新类型是为了和JDK集合框架共存,而没有往JDK集合抽象中硬塞其他概念。作为一般规则,Guava集合非常精准地遵循了JDK接口契约。 Multiset 统计一个词在文档中出现了多少次,传统的做法是这样的: Map String, Integer counts = new Ha

    日期 2023-06-12 10:48:40     
  • [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    此外,通过为工厂方法命名(Effective Java第一条),我们可以提高集合初始化大小的可读性: 确切的静态工厂方法和相应的工具类一起罗列在下面的章节。 注意:Guava引入的新集合类型没有暴露原始构造器,也没有在工具类中提供初始化方法。而是直接在集合类中提供了静态工厂方法,例如: Iterables 在可能的情况下,Guava提供的工具方法更偏向于接受Iterable而不是Colle

    日期 2023-06-12 10:48:40     
  • [Google Guava] 1.5-Throwables:简化异常和错误的传播与检查

    [Google Guava] 1.5-Throwables:简化异常和错误的传播与检查

    所有这些方法都会自己决定是否要抛出异常,但也能直接抛出方法返回的结果——例如,throw Throwables.propagate(t);—— 这样可以向编译器声明这里一定会抛出异常。 Guava中的异常传播方法简要列举如下: RuntimeException   propagate(Throwable) 如果Throwable是Error或RuntimeException,直接抛出;否则把

    日期 2023-06-12 10:48:40     
  • [Google Guava] 1.3-常见Object方法

    [Google Guava] 1.3-常见Object方法

    注意:JDK7引入的Objects类提供了一样的方法Objects.equals。 hashCode 用对象的所有字段作散列[hash]运算应当更简单。Guava的Objects.hashCode(Object...)会对传入的字段序列计算出合理的、顺序敏感的散列值。你可以使用Objects.hashCode(field1, field2, …, fieldn)来代替手动计算散列值。 注

    日期 2023-06-12 10:48:40