随笔分类 -  java

java学习笔记
摘要:代码是what,注释是why,设计是how。如何写出有效的代码注释。 阅读全文
posted @ 2021-08-15 13:17 peida 阅读(1271) 评论(0) 推荐(0) 编辑
摘要:maven编译jar时,出现无法确定 T 的类型参数的异常原因和解决办法 阅读全文
posted @ 2015-01-12 13:35 peida 阅读(16984) 评论(2) 推荐(0) 编辑
摘要:Guava学习笔记目录和参考资料! 阅读全文
posted @ 2013-08-01 08:58 peida 阅读(28945) 评论(6) 推荐(8) 编辑
摘要:在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构。从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。 阅读全文
posted @ 2013-08-01 08:30 peida 阅读(23625) 评论(4) 推荐(4) 编辑
摘要:EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。 阅读全文
posted @ 2013-07-31 08:01 peida 阅读(68305) 评论(6) 推荐(10) 编辑
摘要:Guava Cache是一个全内存的本地缓存实现,它提供了线程安全的实现机制。整体上来说Guava cache 是本地缓存的不二之选,简单易用,性能好。 阅读全文
posted @ 2013-07-29 14:11 peida 阅读(95904) 评论(4) 推荐(14) 编辑
摘要:Guava库新集合的Table,ClassToInstanceMap,RangeSet,RangeMap等 阅读全文
posted @ 2013-07-11 11:34 peida 阅读(42291) 评论(0) 推荐(2) 编辑
摘要:BiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构。 阅读全文
posted @ 2013-07-10 11:37 peida 阅读(25496) 评论(2) 推荐(4) 编辑
摘要:在日常的开发工作中,我们有的时候需要构造像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 阅读(60685) 评论(0) 推荐(1) 编辑
摘要:Multiset是什么?顾名思义,Multiset和Set的区别就是可以保存多个相同的对象。在JDK中,List和Set有一个基本的区别,就是List可以包含多个相同对象,且是有顺序的,而Set不能有重复,且不保证顺序(有些实现有顺序,例如LinkedHashSet和SortedSet等)所以Multiset占据了List和Set之间的一个灰色地带:允许重复,但是不保证顺序。 阅读全文
posted @ 2013-07-08 13:18 peida 阅读(21577) 评论(1) 推荐(2) 编辑
摘要:不可变集合,顾名思义就是说集合是不可被修改的。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。 阅读全文
posted @ 2013-07-04 09:03 peida 阅读(71440) 评论(0) 推荐(12) 编辑
摘要:Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强。它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较、排序等操作中。 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例。Ordering只是需要依赖于一个比较器(例如,Collections.max)的方法,并使其可作为实例方法。另外,Ordering提供了链式方法调用和加强现有的比较器。 下面我们看看Ordering中的一些具体方法和简单的使用实例。 常见的静态方法: natural():使用C... 阅读全文
posted @ 2013-06-24 14:38 peida 阅读(25448) 评论(3) 推荐(3) 编辑
摘要:在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法。每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这几个方法的工具类, Guava也提供了类似的方式。下面 阅读全文
posted @ 2013-06-18 16:19 peida 阅读(15216) 评论(2) 推荐(3) 编辑
摘要:Guava中提供了一个作参数检查的工具类--Preconditions类, 该类可以大大地简化我们代码中对于参数的预判断和处理。 阅读全文
posted @ 2013-06-17 09:03 peida 阅读(41659) 评论(8) 推荐(2) 编辑
摘要:深入理解Java的null,学习使用Guava的Optional,优雅安全的解决日常使用null的问题。 阅读全文
posted @ 2013-06-14 15:42 peida 阅读(58891) 评论(4) 推荐(12) 编辑
摘要: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 阅读(140343) 评论(3) 推荐(13) 编辑
摘要:内省(IntroSpector)是Java 语言对 JavaBean 类属性、事件的一种缺省处理方法。JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。 阅读全文
posted @ 2013-06-03 14:57 peida 阅读(60175) 评论(9) 推荐(11) 编辑
摘要:SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。 阅读全文
posted @ 2013-05-31 18:07 peida 阅读(258325) 评论(30) 推荐(48) 编辑
摘要:如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口。除此之外,Java在java.lang.reflect 包下新增了AnnotatedElement接口,该接口代表程序中可以接受注解的程序元素。 阅读全文
posted @ 2013-04-26 08:30 peida 阅读(164179) 评论(54) 推荐(79) 编辑
摘要:元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。自定义简单注解和如何使用注解! 阅读全文
posted @ 2013-04-24 08:44 peida 阅读(720902) 评论(36) 推荐(126) 编辑