java相关
leadtoit
这个作者很懒,什么都没留下…
展开
-
log4j学习
以前log4j用的多,但总是有些细节不明白,今天看了下官方文档,学习笔记记录下。log4j里面有三个重要概念:Loggers, Appenders and Layouts(1)Loggers表示一个日志记录器,一个log4j至少要有1个Loggers,就是根日志,在配置文件中可以以log4j.rootLogger来配置,此外,还可以定义很多其它的Loggers,如log4j.logger....2011-04-19 13:38:24 · 71 阅读 · 0 评论 -
guava笔记13-Math
Guava针对数学计算,提供了一些很好用的方法,用来完善jdk的math包的不足。据官方称:guava的math包具有下面优点:(1)充分测试过,bug少(2)优化过,性能很好(3)可读性高 Guava的math包用起来就很简单了,都是些静态方法,用的多自然就记得了。概况的说,主要提供了IntMath,IntegerMath,BigIntegerMath,Double...原创 2013-10-23 09:28:10 · 170 阅读 · 0 评论 -
guava笔记12-EventBus
JDK从1.0开始就存在Observer和Observable,可以用来完成生产者/消费者这样的需求。其实也是观察者模式的实现。 Guava使用EventBus来实现类似的功能,但是用起来比Observer更方便。直接拿代码来讲解吧。//定义消息实体class EventObj{private String info;public EventObj(String i...原创 2013-10-23 09:28:03 · 96 阅读 · 0 评论 -
guava笔记11-Hashing
一.Guava提供了一些方法帮助我们生成hash值。主要有下面几个帮助类:HashFunction: hash函数,可以用于创建Hasher对象Hashing:定义了一些hash函数,主要有md5(),murmur3_128(),murmur3_32(),sha1(),sha256(),sha512(),goodFastHash(int bits)。Hasher:计算hash值...原创 2013-10-22 13:41:29 · 431 阅读 · 0 评论 -
guava笔记10-IO
Java中使用IO Stream直接操作文件的,但是当我们使用这些的时候,往往要经过很多步骤,比如打开文件,关闭文件。很多时候,我们会记得打开文件,但是最后还是一个close()过程,我们总是容易忽略。 一.文件操作Util类Guava建议我们定义所有的IO实体时都使用InputSupplier和OutputSupplier进行包装,这样,我们就不用考虑那么多事情了,简化了操作。...原创 2013-10-22 13:41:21 · 174 阅读 · 0 评论 -
guava笔记7-Networking
todo原创 2013-10-22 13:41:08 · 115 阅读 · 0 评论 -
guava笔记8-Primitives
Java有8中基本数据类型:byte ,short,int,long,float,double,char,boolean。Java并不存在unsigned类型,guava新定义了UnsignedInteger 和 UnsignedLong 分别表示int和long的无符号类型。在com.google.common.primitives中提供了一些util类来对基本类型进行操作。 b...原创 2013-10-22 13:38:42 · 303 阅读 · 0 评论 -
guava笔记6-Strings
Guava对String提供了四个工具: (1)Joiner:将数组或者集合元素用指定的分隔符进行连接成一个字符串。Joiner.on(",").join(Arrays.asList(1, 5, 7)); // returns "1,5,7"Joiner.on("; ").skipNulls().join("Harry", null, "Ron", "Hermione");方法原创 2013-10-21 16:22:15 · 124 阅读 · 0 评论 -
guava笔记5-并发
一. ListenableFuture是用来增强Future的功能的。我们知道Future表示一个异步计算任务,当任务完成时可以得到计算结果。如果我们希望一旦计算完成就拿到结果展示给用户或者做另外的计算,就必须使用另一个线程不断的查询计算状态。这样做,不断代码复杂,而且效率低下。ListenableFuture,顾名思义,就是可以监听的Future。我们可以为ListenableFut...原创 2013-10-21 16:21:27 · 207 阅读 · 0 评论 -
guava笔记4-Function,Predicate
Function和Predicate可以说是Guava最好用的工具了。Function用于把一种类型的对象转化为另一种类型的对象。Predicate用于判断某个对象是否符合一定条件。单用Function和Predicate可能还看不出他的强大,但是配合集合类,就可以极大地简化代码编写。Function可以配合集合的transform方法,来将一个集合转换为另一个集合。FluentIterabl...原创 2013-10-21 16:20:48 · 357 阅读 · 0 评论 -
guava笔记3-cache
缓存的使用有多种方式,可以使用开源的缓存框架,如ehcache,JCS,cache4j等。Guava也帮我们实现了一个小巧而实用的缓存框架。如果不使用缓存框架,自己实现缓存,很多人首先想到的就是声明一个static的map对象。Guava的缓存框架其实就是这么做的,所有理解起来非常容易。1. 使用CacheLoader构造LoadingCacheCacheLoader有个抽象方法load...原创 2013-10-21 16:19:49 · 165 阅读 · 0 评论 -
java强引用,软引用,弱引用,虚引用
todo原创 2013-09-30 15:03:12 · 66 阅读 · 0 评论 -
guava笔记1-Optional,Preconditions,Ordering,Objects,ComparisonChain,Throwables
(1)Optional 标识可以为空的对象。 static <T> Optional<T> absent() 返回事实上的空对象。 static <T> Optional<T> of(T reference) 构造一个Optional对象。注意T不能为null,否则将抛异常。 static <T> Iterable&l...原创 2013-09-26 16:35:30 · 180 阅读 · 0 评论 -
JDK5,6,7,8各个版本增加的特性
Java5: (2004.10)1、泛型 Generics:2、枚举类型 Enumeration:3、自动装箱拆箱(自动类型包装和解包)4、可变参数varargs(varargs number of arguments)5、Annotations 它是java中的metadata6、新的迭代语句(for(int n:numbers))7、静态导入(import st...原创 2014-07-18 17:34:49 · 143 阅读 · 0 评论 -
hive的安装与使用
hive的安装非常简单。官方下载地址是:http://hive.apache.org。hive目前最新版本是0.7.0,支持Hadoop 0.20.1 及 0.20.2,由于我这里hadoop的版本是0.19.2,所以我就只能用之前的版本了。我使用的版本是0.5.0,可以支持hadoop 0.17到0.20。貌似现在官网上已经没下载链接了,我放到附件供大家下载吧。 hiv...2011-06-19 23:08:21 · 82 阅读 · 0 评论 -
Java性能分析和bug调试
写的程序效率不高,内存经常溢出,这时候就需要使用一些方法来看下性能问题到底出在哪里。jps,jmap,jconsole,mat... 本文待完善。。原创 2011-06-11 18:20:34 · 105 阅读 · 0 评论 -
guava笔记14-Reflection
todo原创 2013-10-23 09:28:15 · 202 阅读 · 0 评论