摘要: Guava学习笔记目录和参考资料!阅读全文
posted @ 2013-08-01 08:58 peida 阅读(23090) 评论(6) 编辑
摘要: linux基础命令学习笔记,每天一个linux命令目录!阅读全文
posted @ 2012-12-05 17:34 peida 阅读(278800) 评论(55) 编辑
摘要: 管理学大师德鲁克说:你如果你无法度量它,就无法管理它。要想做有效的管理,就很难绕开度量的问题。 软件开发的过程或者技术团队的管理也存在着如何去合理的度量效率的问题。而度量是把双刃剑,度量具有极强的引导性。度量指标会激励团队重视并改善能够度量元素,也会导致你忽视无法度量的元素,并使得问题进一步恶化。所阅读全文
posted @ 2018-01-19 10:29 peida 阅读(2816) 评论(1) 编辑
摘要: maven编译jar时,出现无法确定 T 的类型参数的异常原因和解决办法阅读全文
posted @ 2015-01-12 13:35 peida 阅读(14068) 评论(2) 编辑
摘要: Guava学习笔记目录和参考资料!阅读全文
posted @ 2013-08-01 08:58 peida 阅读(23090) 评论(6) 编辑
摘要: 在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构。从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。阅读全文
posted @ 2013-08-01 08:30 peida 阅读(14311) 评论(2) 编辑
摘要: EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。阅读全文
posted @ 2013-07-31 08:01 peida 阅读(44552) 评论(4) 编辑
摘要: Guava Cache是一个全内存的本地缓存实现,它提供了线程安全的实现机制。整体上来说Guava cache 是本地缓存的不二之选,简单易用,性能好。阅读全文
posted @ 2013-07-29 14:11 peida 阅读(82176) 评论(4) 编辑
摘要: Guava库新集合的Table,ClassToInstanceMap,RangeSet,RangeMap等阅读全文
posted @ 2013-07-11 11:34 peida 阅读(26723) 评论(0) 编辑
摘要: BiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构。阅读全文
posted @ 2013-07-10 11:37 peida 阅读(14147) 评论(2) 编辑
摘要: 在日常的开发工作中,我们有的时候需要构造像Map>或者Map>这样比较复杂的集合类型的数据结构,以便做相应的业务逻辑处理。例如:import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.junit.Test;public class MultimapTest { Map> StudentScoreMap = new HashMap>(); @Test public void testStudentScore(){...阅读全文
posted @ 2013-07-09 16:51 peida 阅读(38095) 评论(0) 编辑
摘要: Multiset是什么?顾名思义,Multiset和Set的区别就是可以保存多个相同的对象。在JDK中,List和Set有一个基本的区别,就是List可以包含多个相同对象,且是有顺序的,而Set不能有重复,且不保证顺序(有些实现有顺序,例如LinkedHashSet和SortedSet等)所以Multiset占据了List和Set之间的一个灰色地带:允许重复,但是不保证顺序。阅读全文
posted @ 2013-07-08 13:18 peida 阅读(15419) 评论(1) 编辑
摘要: 不可变集合,顾名思义就是说集合是不可被修改的。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。阅读全文
posted @ 2013-07-04 09:03 peida 阅读(49485) 评论(0) 编辑
摘要: Guava的Throwables类简化了异常检查和错误传播!阅读全文
posted @ 2013-07-01 16:51 peida 阅读(10810) 评论(1) 编辑
摘要: Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强。它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较、排序等操作中。 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例。Ordering只是需要依赖于一个比较器(例如,Collections.max)的方法,并使其可作为实例方法。另外,Ordering提供了链式方法调用和加强现有的比较器。 下面我们看看Ordering中的一些具体方法和简单的使用实例。 常见的静态方法: natural():使用C...阅读全文
posted @ 2013-06-24 14:38 peida 阅读(18917) 评论(3) 编辑
摘要: 在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法。每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这几个方法的工具类, Guava也提供了类似的方式。下面阅读全文
posted @ 2013-06-18 16:19 peida 阅读(12446) 评论(1) 编辑
摘要: Guava中提供了一个作参数检查的工具类--Preconditions类, 该类可以大大地简化我们代码中对于参数的预判断和处理。阅读全文
posted @ 2013-06-17 09:03 peida 阅读(26799) 评论(6) 编辑
摘要: 深入理解Java的null,学习使用Guava的Optional,优雅安全的解决日常使用null的问题。阅读全文
posted @ 2013-06-14 15:42 peida 阅读(44869) 评论(4) 编辑
摘要: Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁,让你工作更加轻松愉悦。阅读全文
posted @ 2013-06-08 11:24 peida 阅读(126274) 评论(3) 编辑
摘要: 内省(IntroSpector)是Java 语言对 JavaBean 类属性、事件的一种缺省处理方法。JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。阅读全文
posted @ 2013-06-03 14:57 peida 阅读(44343) 评论(9) 编辑
摘要: SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。阅读全文
posted @ 2013-05-31 18:07 peida 阅读(213179) 评论(25) 编辑
摘要: 如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口。除此之外,Java在java.lang.reflect 包下新增了AnnotatedElement接口,该接口代表程序中可以接受注解的程序元素。阅读全文
posted @ 2013-04-26 08:30 peida 阅读(136330) 评论(53) 编辑
摘要: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。自定义简单注解和如何使用注解!阅读全文
posted @ 2013-04-24 08:44 peida 阅读(551563) 评论(33) 编辑
摘要: Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。阅读全文
posted @ 2013-04-23 06:30 peida 阅读(53542) 评论(12) 编辑
摘要: 又一次情绪激动、气氛高度紧张的会议,这一次是商议如何让目前这个重要项目“重回正轨”——计划的完工日期早已超了几个星期。所有的这些场景听起来都很耳熟吗?我想说的是,项目超期在任何行业里都是常见的事情。然而,软件行业里看起来更容易出现这种情况。我们怎么会走到这种地步的?这还要从我们梦开始的地方说起。所有的开始都是精神抖擞、干劲十足。一个漂亮的创意,这次我们发誓绝不会重蹈上次的覆辙,不会犯上次的错误。这次我们告诉自己,这次的计划将会“正确”的执行,不会图省事,也不会中途变更。经常有时候我们会感觉梦想正朝正确的方向前进,设计很成功,每个人都很乐观,外界评论也很好。然后,噩梦开始降临,因为各种打击开始出阅读全文
posted @ 2013-04-22 09:25 peida 阅读(4579) 评论(1) 编辑
摘要: 生物学家 John Medina,也是《大脑规则(Brain Rules)》一书的作者,常常被问及该如何做好一个父亲,他的回答出人意料又发人深省。最近在 Hacker News 上,看到一家网络咨询公司的创始人 Tyler Ward 在Relevant杂志上发表的这篇《我希望我们在结婚前能知道的三件事》(3 Things I Wish I Knew Before We Got Married)的文章,让我想到许多程序员在自己所著的书里面往往会写上的那句话:献给我的妻子,原谅我没有花太多时间照顾你和孩子们。这句话听来让人 鼻翼一酸,五味杂陈。程序员的情感生活就像中国人的言论自由一样,充满着理想主阅读全文
posted @ 2013-04-22 09:24 peida 阅读(4436) 评论(3) 编辑
摘要: linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧。阅读全文
posted @ 2013-03-25 09:12 peida 阅读(90305) 评论(4) 编辑