<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[昭明]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/leadtoit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; leadtoit]]></copyright><item><title><![CDATA[JDK5,6,7,8各个版本增加的特性]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84616209</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84616209</guid><author>leadtoit</author><pubDate>Fri, 18 Jul 2014 17:34:49 +0800</pubDate><description><![CDATA[
Java5: （2004.10）
1、泛型 Generics:
2、枚举类型 Enumeration:
3、自动装箱拆箱（自动类型包装和解包）
4、可变参数varargs(varargs number of arguments)
5、Annotations 它是java中的metadata
6、新的迭代语句（for(int n:numbers)）
7、静态导入（import st...]]></description><category></category></item><item><title><![CDATA[一套键盘鼠标用于2台电脑的方案]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84496631</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84496631</guid><author>leadtoit</author><pubDate>Wed, 06 Nov 2013 19:36:23 +0800</pubDate><description><![CDATA[

Synergy ubutun下QuickSynergy  
http://blog.163.com/howl_prowler/blog/static/26619715201121463352653/
 
先存着，以后要用时再试试
]]></description><category></category></item><item><title><![CDATA[guava笔记14-Reflection]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491585</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491585</guid><author>leadtoit</author><pubDate>Wed, 23 Oct 2013 09:28:15 +0800</pubDate><description><![CDATA[
todo
]]></description><category></category></item><item><title><![CDATA[guava笔记13-Math]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491584</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491584</guid><author>leadtoit</author><pubDate>Wed, 23 Oct 2013 09:28:10 +0800</pubDate><description><![CDATA[
Guava针对数学计算，提供了一些很好用的方法，用来完善jdk的math包的不足。
据官方称：guava的math包具有下面优点：
（1）充分测试过，bug少
（2）优化过，性能很好
（3）可读性高
 
Guava的math包用起来就很简单了，都是些静态方法，用的多自然就记得了。
概况的说，主要提供了IntMath，IntegerMath，BigIntegerMath，Double...]]></description><category></category></item><item><title><![CDATA[guava笔记12-EventBus]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491583</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491583</guid><author>leadtoit</author><pubDate>Wed, 23 Oct 2013 09:28:03 +0800</pubDate><description><![CDATA[
JDK从1.0开始就存在Observer和Observable，可以用来完成生产者/消费者这样的需求。其实也是观察者模式的实现。
 
Guava使用EventBus来实现类似的功能，但是用起来比Observer更方便。
直接拿代码来讲解吧。
//定义消息实体
class EventObj{
private String info;
public EventObj(String i...]]></description><category></category></item><item><title><![CDATA[guava笔记11-Hashing]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491344</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491344</guid><author>leadtoit</author><pubDate>Tue, 22 Oct 2013 13:41:29 +0800</pubDate><description><![CDATA[
一．Guava提供了一些方法帮助我们生成hash值。
主要有下面几个帮助类：
HashFunction： hash函数，可以用于创建Hasher对象
Hashing：定义了一些hash函数，主要有md5()，murmur3_128()，murmur3_32()，sha1()，sha256()，sha512()，goodFastHash(int bits)。
Hasher：计算hash值...]]></description><category></category></item><item><title><![CDATA[guava笔记10-IO]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491343</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491343</guid><author>leadtoit</author><pubDate>Tue, 22 Oct 2013 13:41:21 +0800</pubDate><description><![CDATA[
Java中使用IO Stream直接操作文件的，但是当我们使用这些的时候，往往要经过很多步骤，比如打开文件，关闭文件。很多时候，我们会记得打开文件，但是最后还是一个close()过程，我们总是容易忽略。
 
一．文件操作Util类
Guava建议我们定义所有的IO实体时都使用InputSupplier和OutputSupplier进行包装，这样，我们就不用考虑那么多事情了，简化了操作。...]]></description><category></category></item><item><title><![CDATA[guava笔记7-Networking]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491342</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491342</guid><author>leadtoit</author><pubDate>Tue, 22 Oct 2013 13:41:08 +0800</pubDate><description><![CDATA[
todo
]]></description><category></category></item><item><title><![CDATA[guava笔记9-Ranges]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491340</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491340</guid><author>leadtoit</author><pubDate>Tue, 22 Oct 2013 13:38:53 +0800</pubDate><description><![CDATA[
很多时候，我们需要表示一个数据范围，可能会这样传参数：
inScope(int min, int max, boolean minInclude, boolean maxInclude)
这样的代码看起来很繁琐。
Guava提供了一种数据结构叫做Range，正好用于表达这样一种数据。
 
Range提供了一些静态工厂方法，用于构造各种是否包含边界的范围：



Notation
...]]></description><category></category></item><item><title><![CDATA[guava笔记8-Primitives]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491339</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491339</guid><author>leadtoit</author><pubDate>Tue, 22 Oct 2013 13:38:42 +0800</pubDate><description><![CDATA[Java有8中基本数据类型：byte ，short，int，long，float，double，char，boolean。Java并不存在unsigned类型，guava新定义了UnsignedInteger 和 UnsignedLong 分别表示int和long的无符号类型。在com.google.common.primitives中提供了一些util类来对基本类型进行操作。
 



b...]]></description><category></category></item><item><title><![CDATA[guava笔记6-Strings]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491088</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491088</guid><author>leadtoit</author><pubDate>Mon, 21 Oct 2013 16:22:15 +0800</pubDate><description><![CDATA[
Guava对String提供了四个工具：
 
（1）Joiner：将数组或者集合元素用指定的分隔符进行连接成一个字符串。Joiner.on(&quot;,&quot;).join(Arrays.asList(1, 5, 7)); // returns &quot;1,5,7&quot;Joiner.on(&quot;; &quot;).skipNulls().join(&quot;Harry&quot;, null, &quot;Ron&quot;, &quot;Hermione&quot;);方法]]></description><category></category></item><item><title><![CDATA[guava笔记5-并发]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491087</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491087</guid><author>leadtoit</author><pubDate>Mon, 21 Oct 2013 16:21:27 +0800</pubDate><description><![CDATA[
一． ListenableFuture是用来增强Future的功能的。
我们知道Future表示一个异步计算任务，当任务完成时可以得到计算结果。如果我们希望一旦计算完成就拿到结果展示给用户或者做另外的计算，就必须使用另一个线程不断的查询计算状态。这样做，不断代码复杂，而且效率低下。
ListenableFuture，顾名思义，就是可以监听的Future。我们可以为ListenableFut...]]></description><category></category></item><item><title><![CDATA[guava笔记4-Function,Predicate]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491086</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491086</guid><author>leadtoit</author><pubDate>Mon, 21 Oct 2013 16:20:48 +0800</pubDate><description><![CDATA[
Function和Predicate可以说是Guava最好用的工具了。Function用于把一种类型的对象转化为另一种类型的对象。Predicate用于判断某个对象是否符合一定条件。单用Function和Predicate可能还看不出他的强大，但是配合集合类，就可以极大地简化代码编写。Function可以配合集合的transform方法，来将一个集合转换为另一个集合。FluentIterabl...]]></description><category></category></item><item><title><![CDATA[guava笔记3-cache]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491085</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491085</guid><author>leadtoit</author><pubDate>Mon, 21 Oct 2013 16:19:49 +0800</pubDate><description><![CDATA[
缓存的使用有多种方式，可以使用开源的缓存框架，如ehcache，JCS，cache4j等。Guava也帮我们实现了一个小巧而实用的缓存框架。如果不使用缓存框架，自己实现缓存，很多人首先想到的就是声明一个static的map对象。Guava的缓存框架其实就是这么做的，所有理解起来非常容易。1.    使用CacheLoader构造LoadingCacheCacheLoader有个抽象方法load...]]></description><category></category></item><item><title><![CDATA[guava笔记2-集合]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84491080</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84491080</guid><author>leadtoit</author><pubDate>Mon, 21 Oct 2013 16:15:28 +0800</pubDate><description><![CDATA[
（1）构造不可变集合
不可变集合的优点：1. 避免别人调用时更改集合内容2. 线程安全：因为是只读的，所以多线程条件下是安全的3. 不必考虑集合变化，所以会比可变的集合更加的有效率4. 可以作为常量使用JDK里面Collections.unmodifiableXXX也可以得到不可变的集合，但是是有缺陷的：1. api不友好，用起来麻烦2. 不安全的，unmodifiableXXX返回的集合确...]]></description><category></category></item><item><title><![CDATA[java强引用，软引用，弱引用，虚引用]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84484945</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84484945</guid><author>leadtoit</author><pubDate>Mon, 30 Sep 2013 15:03:12 +0800</pubDate><description><![CDATA[
todo
]]></description><category></category></item><item><title><![CDATA[guava笔记1-Optional，Preconditions，Ordering，Objects，ComparisonChain，Throwables]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84483614</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84483614</guid><author>leadtoit</author><pubDate>Thu, 26 Sep 2013 16:35:30 +0800</pubDate><description><![CDATA[
 （1）Optional  标识可以为空的对象。   static &amp;lt;T&amp;gt; Optional&amp;lt;T&amp;gt; absent() 返回事实上的空对象。   static &amp;lt;T&amp;gt; Optional&amp;lt;T&amp;gt; of(T reference) 构造一个Optional对象。注意T不能为null，否则将抛异常。   static &amp;lt;T&amp;gt; Iterable&amp;l...]]></description><category></category></item><item><title><![CDATA[HTTP协议之状态码详解]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84382539</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84382539</guid><author>leadtoit</author><pubDate>Thu, 17 Jan 2013 13:50:34 +0800</pubDate><description><![CDATA[
http://v5browser.iteye.com/blog/1769789
]]></description><category></category></item><item><title><![CDATA[spring源码]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84381684</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84381684</guid><author>leadtoit</author><pubDate>Tue, 15 Jan 2013 15:44:20 +0800</pubDate><description><![CDATA[
Spring源代码解析(一）：IOC容器:http://www.javaeye.com/topic/86339
Spring源代码解析(二)：IoC容器在Web容器中的启动:http://www.javaeye.com/topic/86594
Spring源代码解析(三）：Spring JDBC:http://www.javaeye.com/topic/87034
Spring源代码解析(...]]></description><category></category></item><item><title><![CDATA[zookeeper]]></title><link>https://blog.youkuaiyun.com/leadtoit/article/details/84381207</link><guid>https://blog.youkuaiyun.com/leadtoit/article/details/84381207</guid><author>leadtoit</author><pubDate>Mon, 14 Jan 2013 16:48:12 +0800</pubDate><description><![CDATA[
http://www.javabloger.com/article/apache-zookeeper-hadoop.html
]]></description><category></category></item></channel></rss>