归档: 2016

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

设计模式学习之观察者模式

什么是观察者模式观察者模式(Observer Design Pattern)定义了对象之间的一对多依赖,这样一来,当一个对象改变状态的时候,它的所有依赖者都会收到通知并自动更新。 出版者+订阅者=观察者模式如果你了解报纸的订阅方式,我想你基本上也就知道了观察者模式是怎样的一回事了。在观察者模式中我们一般使用主题来表示出版者,用观察者来表示订阅者。 观察者模式类图 可以看到整个类图非常简单,定义了两

0

利用七牛云给Hexo博客加速

本文背景昨天夜里本来想写一篇设计模式的博文,先去查看了一下博客,忽然发现博客系统的css和js样式全部失效了。通过默认的访问方式全部都没有用,整个博客的用户体验非常差。然后我就开始找原因,因为采用的是阿里云CDN加速的,又是在深夜,我在想是不是阿里云官方在升级CDN系统导致我的全站样式文件全部失效,后来发现过了俩小时还不行,那就不是阿里云的问题了。然后一直找到3点钟还没有头绪,就睡了一觉,睡的时候

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

VIM文件头设置

很多编辑器都支持在源代码中自动添加作者信息的功能,据我所知Eclipse就支持,虽然我们的Vim(gvim)默认没有这个功能,但是只需要几行代码自己配置一下,我们一样可以让Vim(gvim)支持自动添加作者信息! 这里面需要使用VIM LANGUAGE的语法,不过不知道也没关系,看我的配置然后对应改一下就OK了! 12345678910111213141516171819202122232425

0

Guava优美代码-10-CollectionUtils

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

0

聊一聊民谣

聊了好长时间的技术了,咱今天不聊技术,换一下别的主题,给大伙儿聊一聊我最喜欢的民谣! 突然发现,人真的是会变化的。十年前,2006年,我12岁,想一想那个时候抱着复读机反复听着刀郎的《冲动的惩罚》还有《2002年的第一场雪》,以及说不清道不明的《老鼠爱大米》,《香水有毒》。现在回想起来,当时学那些歌儿时候的认真劲儿还挺有意思的。 转眼小升初,2006年到2009年,我能回忆起来可能就是许嵩的《断

0

Guava优美代码-9-MultiMap

多值映射MultiMapMap大概是我们在生产过程中使用最多的容器之一了。Map是一种典型的K-V(键-值)结构。即可以通过一个Key(键)查找到对应的V(值)。正是由于此,JDK规定了Map中不能有重复的键,因为重复会导致无法查询准确的值。但是我们也要注意到这么一个需求:经常地,我们会需要一个键对应多个值,如果用JDK表示,就是这种结构Map<String, List<String&