分类:: 开发技术

0

Guava优美代码-19-EventBus

Guava事件总线EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。 对于观察者模式,我这里就不再赘述了,大家可以去我的另一篇博文《设计模式学习之观察者模式(Observer)》里面详细了解观察者模式。 EventBus使用实例单事件监

0

Guava优美代码-18-哈希

Guava哈希算法Java内建的散列码(hash code)概念被限制为32位,并且没有分离散列算法和它们所作用的数据,因此很难用备选算法进行替换。此外,使用Java内建方法实现的散列码通常是劣质的,部分是因为它们最终都依赖于JDK类中已有的劣质散列码。 Object.hashCode往往很快,但是在预防碰撞上却很弱,也没有对分散性的预期。这使得它们很适合在散列表中运用,因为额外碰撞只会带来轻微的

0

Guava优美代码-17-IO操作

Guava文件IO操作博主认为JDK中属文件IO的操作最麻烦而且最容易出错了,比如什么Stream啊,Reader啊,太多了,时间长了就容易记不住,经常写的话还是OK的,因为很熟练嘛,哈哈!那有没有什么方法能解放我们的文件操作呢?答案是Guava!Guava为我们提供了文件IO的各种工具类,其中使用最多的就是Files。下面我们仔细讨论Files的具体使用方式。 Files使用实例(1) 读文件1

0

Guava优美代码-16-区间

Guava区间Range区间,有时也称为范围,是特定域中的凸性(非正式说法为连续的或不中断的)部分。在形式上,凸性表示对a<=b<=c, range.contains(a)且range.contains(c)意味着range.contains(b)。 Range的表示形式 区间 数学表达式 (a..b) {a < x < b} [a..b] {a <

0

Guava优美代码-15-基本类型

Guava基本类型关于基本类型,我们在Java中有:byte、short、int、long、float、double、char和boolean。我们知道除了这些之外,还有关于这些基本类型的包装类:Byte、Short、Integer、Long、Float、Double、Character和Boolean。原因是这些基本类型没法当成对象或者泛型的参数使用。这意味着许多通用的方法都不支持它们。基于这个

0

Guava优美代码-14-Strings

Guava字符串处理字符串不管在什么时候都是我们最为关心的,尤其是从事Web开发的朋友,字符串的各种操作也都是工作中必备的技能。Google也看到了我们广大的开发者处理字符串的痛点,于是他们为我们带来了Strings的工具类,这个工具类套件包含了很多有用的类,比如Strings类本身,还有用于分割的Splitter类,用于连接的Joiner类以及用于字符串匹配的CharMatcher类等等。下面我

0

Guava优美代码-13-Predicate

Guava函数式编程上一节篇文章我们说了Guava的Function函数的用法,这一节我们来说一说Predicate预言。Predicate的使用也是非常多的,因此读者朋友们也需要多多重视Predicate的用法。简单说一下Predicate和Function的区别,你可以理解为Predicate主要是用来判断一些条件成不成立的,而Function主要是用来执行一些操作的,侧重点不同。 Predi

0

Guava优美代码-12-Function

Guava函数式编程关于函数式编程,好像越来越多的编程语言都开始逐渐支持这个特性,最明显的就是python,javascript,还有Swift等等。Java终于在1.8中支持了函数式编程,但是在JDK1.8推出来以前,Guava就为我们提供了强大的函数式编程框架—Function。 Function和FunctionsFunction<A, B>,它声明了单个方法B apply(A

0

Guava优美代码-11-Cache

Guava缓存Cache缓存(Cache)是我们在开发中为了提高系统的性能,把经常的访问业务数据在第一次访问时没有就先处理结果然后放到缓存中,第二次就不用在对相同的业务数据再重新处理一遍,这样就大大提高了系统的性能。缓存被广泛地引用在各个企业的业务系统中,Guava为我们提供了一个非常好的缓存架构,下面介绍Guava Cache的具体使用方法。 缓存分类缓存分好几种: 本地缓存。 数据库缓存。

0

Guava优美代码-10-CollectionUtils

集合工具类 Collection Utils ClassGuava的魅力在处理集合的方面可以说是展现的淋漓尽致,相比JDK的实现,使用Guava可以使我们的代码变得更加“优美”,尤其是在集合接口的声明或者是创建上面。下面我们通过一些简单的例子来领略一下Guava的魅力! 静态工厂方法在JDK 7之前,构造新的泛型集合时要讨厌地重复声明泛型: 1List<TypeThatsTooLongFor