<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaChen on JavaJava Core</title>
	<atom:link href="http://www.javachen.com/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javachen.com</link>
	<description>Just some sharing about Java open source and life</description>
	<lastBuildDate>Fri, 03 Feb 2012 03:33:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Butterfly Container Introduction</title>
		<link>http://www.javachen.com/2011/05/butterfly-container-introduction/</link>
		<comments>http://www.javachen.com/2011/05/butterfly-container-introduction/#comments</comments>
		<pubDate>Fri, 20 May 2011 03:46:15 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[IOC]]></category>
		<category><![CDATA[Java Core]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=2020</guid>
		<description><![CDATA[与上篇文章（Butterfly Scheduling Introduction）一样，这篇文章也是来自于http://butterfly.jenkov.com网站。其实，除了这两个项目之外，这个网站还有Butterfly Web UI，Butterfly Persistence，Butterfly Testing Tools三个小项目，其中Butterfly Container是一个依赖注入容器（IOC）。 它比Spring、Pico、Guice更小，并且更加灵活，更加易于使用。Butterfly Container使用一种简单，灵活，类似于Java的配置语言来代替XML（这段介绍来自于各大开源网站对其介绍），他是其他几个项目的基础。 Butterfly Container和Spring、Pico、Guice一样是一个依赖注入的容器。依赖注入的核心功能就是将变量绑定在一起（wire objects together）。你能够向容器申请一个对象，容器会确保所有的依赖（方法参数，协作对象）都注入到这个对象然后将其返回给你。 如果你对依赖注入不熟悉，你可以看看这篇文章：What is Dependency Injection? 虽然 Butterfly Container只是一个轻量级的依赖注入容器，但是他还是支持了 Spring, Pico 和Guice所拥有的大多数依赖注入特性. 例如: 构造方法注入 方法注入 (静态+ 实例) 工厂注入 实例生命周期管理 新建 /单例 线程独立 本地，匿名工厂 Butterfly Container 也有自己的一些特性: 在方法返回空值的情况下支持方法链 能够适配自定义的工厂方法接口 享元 上面列出了一些Butterfly Container 的特性，但是Butterfly Container 也存在一些不便利的地方，比如：Butterfly Container使用一种简单，灵活，类似于Java的配置语言来代替XML，这就要求在熟悉Butterfly Container的同时，需要熟悉其配置语言的语法。 在看了Butterfly Container的源码结构之后，我比较喜欢其代码风格，如接口都以I开头，接口和实现分包等等。 参考资料： Butterfly Container &#8211; [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Java Enumeration" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fjava-enumeration%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java Enumeration</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java Persistence API" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fjava-persistence-api%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java Persistence API</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java中的字符串截取" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fjava-string-split%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java中的字符串截取</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java interface RandomAccess" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F10%2Fjava-interface-randomaccess%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java interface RandomAccess</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java中比较两个对象是否相等" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F08%2Fjava-lang-equals-method%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java中比较两个对象是否相等</font>
                    </a>
                </td>
        </tr>
        <br/>
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">来自无觅网络的相关文章：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="java泛型详解" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.belmeng.com%2Findex.php%2Fdetailed-java-generics%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://img181.poco.cn/mypoco/myphoto/20110626/00/5965480220110626005653075.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">java泛型详解 (@belmeng)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java的枚举和接口" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.hui-wang.info%2F2012%2F01%2F08%2Fjava-enum-and-polymorphism%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java的枚举和接口 (@hui-wang)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java正则表达式" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.belmeng.com%2Findex.php%2Fjava-regular-expressions%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://img181.poco.cn/mypoco/myphoto/20110626/00/5965480220110626005653075.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java正则表达式 (@belmeng)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="java枚举类型" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.belmeng.com%2Findex.php%2Fjava-enum%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://img181.poco.cn/mypoco/myphoto/20110626/00/5965480220110626005653075.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">java枚举类型 (@belmeng)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java验证码系列(7):中文验证码" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.pihai.me%2Farchives%2F639.html&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/03/16/3608117.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java验证码系列(7):中文验证码 (@pihai)</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>与上篇文章（<a href="http://www.javachen.com/2011/05/butterfly-scheduling-introduction/">Butterfly Scheduling Introduction</a>）一样，这篇文章也是来自于http://butterfly.jenkov.com网站。其实，除了这两个项目之外，这个网站还有<a href="http://butterfly.jenkov.com/webui/index.html">Butterfly Web UI</a>，<a href="http://butterfly.jenkov.com/persistence/index.html">Butterfly Persistence</a>，<a href="http://butterfly.jenkov.com/testing-tools/index.html">Butterfly Testing Tools</a>三个小项目，其中Butterfly Container是一个<strong><span style="color: #0000ff;">依赖注入容器</span></strong>（IOC）。</p>
<p>它比Spring、Pico、Guice更小，并且更加灵活，更加易于使用。Butterfly Container使用一种简单，灵活，类似于Java的配置语言来代替XML（这段介绍来自于各大开源网站对其介绍），他是其他几个项目的基础。</p>
<p>Butterfly Container和Spring、Pico、Guice一样是一个依赖注入的容器。依赖注入的核心功能就是将变量绑定在一起（wire objects together）。你能够向容器申请一个对象，容器会确保所有的依赖（方法参数，协作对象）都注入到这个对象然后将其返回给你。</p>
<p><span style="color: #ff00ff;">如果你对依赖注入不熟悉，你可以看看这篇文章：</span><a href="http://tutorials.jenkov.com/dependency-injection/index.html">What is Dependency Injection?</a><span id="more-2020"></span></p>
<p>虽然 Butterfly Container只是一个轻量级的依赖注入容器，但是他还是支持了 Spring, Pico 和Guice所拥有的大多数依赖注入特性. 例如:</p>
<blockquote>
<ul>
<li> 构造方法注入</li>
</ul>
<ul>
<li> 方法注入 (静态+ 实例)</li>
</ul>
<ul>
<li> 工厂注入</li>
</ul>
<ul>
<li> 实例生命周期管理</li>
</ul>
<ul>
<li> 新建 /单例</li>
</ul>
<ul>
<li> 线程独立</li>
</ul>
<ul>
<li> 本地，匿名工厂</li>
</ul>
</blockquote>
<p><span style="color: #0000ff;"><strong>Butterfly Container 也有自己的一些特性</strong></span>:</p>
<blockquote>
<ul>
<li> 在方法返回空值的情况下支持方法链</li>
</ul>
<ul>
<li> 能够适配自定义的工厂方法接口</li>
</ul>
<ul>
<li> 享元</li>
</ul>
</blockquote>
<p>上面列出了一些Butterfly Container 的特性，但是Butterfly Container 也存在一些不便利的地方，比如：Butterfly Container使用一种简单，灵活，类似于Java的配置语言来代替XML，这就要求在熟悉Butterfly Container的同时，需要熟悉其配置语言的语法。<br />
在看了Butterfly Container的源码结构之后，我比较喜欢其代码风格，如接口都以I开头，接口和实现分包等等。</p>
<p>参考资料：<br />
Butterfly Container &#8211; Introduction：<a href="http://butterfly.jenkov.com/container/index.html">http://butterfly.jenkov.com/container/index.html</a></p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Java Enumeration" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fjava-enumeration%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java Enumeration</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java Persistence API" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fjava-persistence-api%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java Persistence API</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java中的字符串截取" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fjava-string-split%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java中的字符串截取</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java interface RandomAccess" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F10%2Fjava-interface-randomaccess%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java interface RandomAccess</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java中比较两个对象是否相等" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F08%2Fjava-lang-equals-method%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java中比较两个对象是否相等</font>
                    </a>
                </td>
        </tr>
        <br/>
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">来自无觅网络的相关文章：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="java泛型详解" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.belmeng.com%2Findex.php%2Fdetailed-java-generics%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://img181.poco.cn/mypoco/myphoto/20110626/00/5965480220110626005653075.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">java泛型详解 (@belmeng)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java的枚举和接口" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.hui-wang.info%2F2012%2F01%2F08%2Fjava-enum-and-polymorphism%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java的枚举和接口 (@hui-wang)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java正则表达式" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.belmeng.com%2Findex.php%2Fjava-regular-expressions%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://img181.poco.cn/mypoco/myphoto/20110626/00/5965480220110626005653075.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java正则表达式 (@belmeng)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="java枚举类型" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.belmeng.com%2Findex.php%2Fjava-enum%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://img181.poco.cn/mypoco/myphoto/20110626/00/5965480220110626005653075.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">java枚举类型 (@belmeng)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java验证码系列(7):中文验证码" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.pihai.me%2Farchives%2F639.html&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-container-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/03/16/3608117.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java验证码系列(7):中文验证码 (@pihai)</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2011/05/butterfly-container-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Butterfly Scheduling Introduction</title>
		<link>http://www.javachen.com/2011/05/butterfly-scheduling-introduction/</link>
		<comments>http://www.javachen.com/2011/05/butterfly-scheduling-introduction/#comments</comments>
		<pubDate>Thu, 19 May 2011 13:39:30 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Java Core]]></category>
		<category><![CDATA[Scheduling]]></category>
		<category><![CDATA[task]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=2013</guid>
		<description><![CDATA[Butterfly Scheduling 是一个轻量级的调度工具，相对而言，Quartz更为大家所熟知，这里主要是介绍一下Butterfly Scheduling，让大家能够熟悉这个小工具。Butterfly Scheduling  的Jar包非常小只有20几k，在项目中添加jenkov-butterfly-scheduling-1.3.9-beta.jar，然后就可以测试。需要说明的是官网（http://butterfly.jenkov.com/scheduling/index.html）上面的1.0版本存在一些bug。 一下是对Butterfly Scheduling的一个介绍，翻译自官网。 Butterfly Scheduling是一个小巧灵活的机会调度api。任务的执行有SchedulerService服务管理，这个服务能够嵌入到一个应用环境里或是单独运行在一个进程里。顺便说明一下，该服务需要自己的线程管理。 Butterfly Scheduling内部提供了一些计划调度的策略，如果这里没有适合你的策略，你可以提供你自己的实现。你也可以提供计划调度失败的处理策略，尝试执行失败的计划。例如：你可以在放弃之前尝试在5分钟内执行三次失败的计划。 嵌入的调度计划 你可以在你的应用里执行一些调度计划。 独立的调度计划 独立的调度计划是非常有用的，特别是当你需要在同一应用里执行大量的不是非常必要的计划任务时候。例如：备份应用a和b的数据库，删除应用c中的文件，备份应用d中的文件等到。 独立的调度计划是在执行一些与应用环境或是web服务相关的计划时候是非常有用的。一个调度计划能够调用JSP, Servlet, Web Service, EJB，或是应用及web服务中的任何其他组件。 事物中的计划 当一个计划需要在一个事物中执行的时候，最有效的方法是通过一个独立的SchedulingService执行一个触发器式的计划任务。这个计划触发JSP, Servlet, Web Service, EJB等等去执行真正的计划。 Butterfly Scheduling的使用 首先创建一个服务： ?View Code JAVA1 SchedulerService schedulerService = new SchedulerService&#40;&#41;; 然后，创建一个计划，注意UrlTask是内置的一个计划，你也可以实现自己的计划，只需要实现IScheduledTask接口即可）： ?View Code JAVA1 2 String url = &#34;http://jenkov.com/rss/rss_all.jsp&#34;; UrlTask urlTask = new UrlTask&#40;url&#41;; 其次，往服务里添加一个计划： ?View Code [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="4"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="房奴生活" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Ffinding_house_life%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/08/22/10383918.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">房奴生活</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="接触云服务环境Eucalyptus" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2011%2F06%2Ftouch-cloud-environmenteucalyptus%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/08/19/12682139.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">接触云服务环境Eucalyptus</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="这一个月我在做什么" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F05%2Fwhat_am_i_doing_this_month%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10381574.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">这一个月我在做什么</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="4" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>Butterfly Scheduling 是一个轻量级的调度工具，相对而言，Quartz更为大家所熟知，这里主要是介绍一下Butterfly Scheduling，让大家能够熟悉这个小工具。Butterfly Scheduling  的Jar包非常小只有20几k，在项目中添加jenkov-butterfly-scheduling-1.3.9-beta.jar，然后就可以测试。需要说明的是官网（http://butterfly.jenkov.com/scheduling/index.html）上面的1.0版本存在一些bug。<span id="more-2013"></span></p>
<p><strong><span style="color: #0000ff;">一下是对Butterfly Scheduling的一个介绍，翻译自官网。</span></strong></p>
<p>Butterfly Scheduling是一个小巧灵活的机会调度api。任务的执行有<code>SchedulerService服务管理，这个服务能够嵌入到一个应用环境里或是单独运行在一个进程里。顺便说明一下，该服务需要自己的线程管理。</code></p>
<p>Butterfly Scheduling内部提供了一些计划调度的策略，如果这里没有适合你的策略，你可以提供你自己的实现。你也可以提供计划调度失败的处理策略，尝试执行失败的计划。例如：你可以在放弃之前尝试在5分钟内执行三次失败的计划。</p>
<h3><span style="color: #000080;">嵌入的调度计划</span></h3>
<p>你可以在你的应用里执行一些调度计划。</p>
<p><a href="http://www.javachen.com/wp-content/uploads/2011/05/embedded.png" class="highslide-image" onclick="return hs.expand(this);"><img class="aligncenter size-full wp-image-2014" title="embedded" src="http://www.javachen.com/wp-content/uploads/2011/05/embedded.png" alt="" width="196" height="166" /></a></p>
<h3><span style="color: #000080;">独立的调度计划</span></h3>
<p>独立的调度计划是非常有用的，特别是当你需要在同一应用里执行大量的不是非常必要的计划任务时候。例如：备份应用a和b的数据库，删除应用c中的文件，备份应用d中的文件等到。</p>
<p>独立的调度计划是在执行一些与应用环境或是web服务相关的计划时候是非常有用的。一个调度计划能够调用JSP, Servlet, Web Service,  EJB，或是应用及web服务中的任何其他组件。</p>
<p><a href="http://www.javachen.com/wp-content/uploads/2011/05/standalone.png" class="highslide-image" onclick="return hs.expand(this);"><img class="aligncenter size-medium wp-image-2015" title="standalone" src="http://www.javachen.com/wp-content/uploads/2011/05/standalone-300x112.png" alt="" width="300" height="112" /></a></p>
<h3><span style="color: #000080;">事物中的计划</span></h3>
<p>当一个计划需要在一个事物中执行的时候，最有效的方法是通过一个独立的<code>SchedulingService执行一个触发器式的计划任务。这个计划</code>触发JSP, Servlet, Web Service, EJB等等去执行真正的计划。</p>
<h3><span style="color: #000080;">Butterfly Scheduling的使用</span></h3>
<p>首先创建一个服务：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p2013code5'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p20135"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2013code5"><pre class="java" style="font-family:monospace;">SchedulerService schedulerService <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SchedulerService<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>然后，创建一个计划，注意UrlTask是内置的一个计划，你也可以实现自己的计划，只需要实现IScheduledTask接口即可）：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p2013code6'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p20136"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p2013code6"><pre class="java" style="font-family:monospace;"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> url <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://jenkov.com/rss/rss_all.jsp&quot;</span><span style="color: #339933;">;</span>
UrlTask urlTask <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> UrlTask<span style="color: #009900;">&#40;</span>url<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>其次，往服务里添加一个计划：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p2013code7'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p20137"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p2013code7"><pre class="java" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">long</span> timeInterval <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">1000</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// one分钟 in milliseconds.</span>
schedulerService.<span style="color: #006633;">addIntervalScheduledTask</span><span style="color: #009900;">&#40;</span>urlTask, timeInterval<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>以上是添加一个一定时间间隔的计划调度，你还可以添加一天或是周或是月为单位的计划调度，具体见SchedulerService的方法。</p>
<p>最好，启动计划：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p2013code8'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p20138"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2013code8"><pre class="java" style="font-family:monospace;">schedulerService.<span style="color: #006633;">run</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>该项目主页:<a href="http://butterfly.jenkov.com/container/index.html"></a><a href="http://butterfly.jenkov.com/scheduling/index.html">http://butterfly.jenkov.com/scheduling/index.html</a></p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="在eclipse中构建Pentaho BI Server工程" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2011%2F09%2Fbuild-pentaho-bi-server-source-code-in-eclipse%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lihaifeng555/EntryImages/20090911/%25E6%2596%25B0%25E5%259B%25BE%25E7%2589%2587.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">在eclipse中构建Pentaho BI Server工程</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="用ExtJs制作登陆界面" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10382548.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">用ExtJs制作登陆界面</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Drag a item to dhtmlxGrid and add a column" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2011%2F07%2Fdrag-a-item-to-dhtmlxgrid-and-add-a-column%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/07/25/18833249.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Drag a item to dhtmlxGrid and add a column</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Unobtrusive Javascript" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Funobtrusive-javascript%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383161.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Unobtrusive Javascript</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="prototype.js 源码之Prototype" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F09%2Fprototype-js-code-source-prototype%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F05%2Fbutterfly-scheduling-introduction%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10379700.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">prototype.js 源码之Prototype</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>By the time  your rss reader get this post here is <strong> 2 </strong>comments ,Welcome you come to leave your opinion !]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2011/05/butterfly-scheduling-introduction/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>该读一些源码</title>
		<link>http://www.javachen.com/2011/03/read-some-codes/</link>
		<comments>http://www.javachen.com/2011/03/read-some-codes/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 12:27:14 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Post]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java Core]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=1957</guid>
		<description><![CDATA[今天终于知道我为什么会接到猎头打来的电话了，因为我曾经注册了若邻网（【我的若邻网】）并在其中公开了自己的联系方式，只是可惜猎头打来电话都被我推掉了。呵呵，主要是觉得现在经验和能力还不够，还有待进一步学习。 昨天晚上睡觉前在CSDN看到了这篇文章【J2EE学习中一些值得研究的开源项目】。这篇文章写得很好，对刚工作不久的java工程师来说，有一个很好的提醒、建议、启示作用，对我们提高个人技术能力来说有很大帮助作用，当然，这主要还是在于个人的努力了，如果你不努力、不去深究一些源码，你就很难在java的路上走的很远了。 上面这篇文章提到了很多源码，可惜哦，时间有限不能有不可能一下子读完所有的源码， 。最近看了看commons digest、commons chain、struts2、dbunit的源码，由于时间有限struts2还是刚开始看了一点，然后又开始看dbunit的源码了，感觉自己就想一口吃成个大胖子，哎！ java里的技术太多，还是需要慢慢的一点点的学习和研读,加油！ Here is no comments yet by the time your rss reader get this, Do you want to be the first commentor? Hurry up<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Java interface RandomAccess" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F10%2Fjava-interface-randomaccess%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java interface RandomAccess</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java StringUtil" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fjava-stringutil%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java StringUtil</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java ClassLoader" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java ClassLoader</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="优化java代码效率" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F06%2Foptimize-the-efficiency-of-java-code%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">优化java代码效率</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="架构师的修炼" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fjiagoushi%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">架构师的修炼</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>今天终于知道我为什么会接到猎头打来的电话了，因为我曾经注册了若邻网（【<a href="http://javachen.wealink.com/">我的若邻网</a>】）并在其中公开了自己的联系方式，只是可惜猎头打来电话都被我推掉了。呵呵，主要是觉得现在经验和能力还不够，还有待进一步学习。<br />
昨天晚上睡觉前在CSDN看到了这篇文章【<a href="http://java.csdn.net/a/20100127/258561.html">J2EE学习中一些值得研究的开源项目</a>】。这篇文章写得很好，对刚工作不久的java工程师来说，有一个很好的提醒、建议、启示作用，对我们提高个人技术能力来说有很大帮助作用，当然，这主要还是在于个人的努力了，如果你不努力、不去深究一些源码，你就很难在java的路上走的很远了。<br />
上面这篇文章提到了很多源码，可惜哦，时间有限不能有不可能一下子读完所有的源码， <img src='http://www.javachen.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  。最近看了看commons digest、commons  chain、struts2、dbunit的源码，由于时间有限struts2还是刚开始看了一点，然后又开始看dbunit的源码了，感觉自己就想一口吃成个大胖子，哎！<br />
java里的技术太多，还是需要慢慢的一点点的学习和研读,加油！</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Java interface RandomAccess" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F10%2Fjava-interface-randomaccess%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java interface RandomAccess</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java StringUtil" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fjava-stringutil%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java StringUtil</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java ClassLoader" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java ClassLoader</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="优化java代码效率" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F06%2Foptimize-the-efficiency-of-java-code%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">优化java代码效率</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="架构师的修炼" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fjiagoushi%2F&from=http%3A%2F%2Fwww.javachen.com%2F2011%2F03%2Fread-some-codes%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">架构师的修炼</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2011/03/read-some-codes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java ClassLoader</title>
		<link>http://www.javachen.com/2010/12/java-classloader/</link>
		<comments>http://www.javachen.com/2010/12/java-classloader/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 06:19:05 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[Java Core]]></category>
		<category><![CDATA[JVM]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=1902</guid>
		<description><![CDATA[Java的类装载器是Java动态性的核心,是用来把类(class)装载进JVM的。VM规范定义了两种类型的类装载器：启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader)。所有user-defined的class loader都是java.lang.ClassLoader的子类。jvm内置的class loader有3种，分别是 Bootstrap ClassLoader， Extension ClassLoader（即ExtClassLoader），System ClassLoader(即AppClassLoader) bootstrap是JVM自带的类装载器，用来装载核心类库，如java.lang.*等。 Extension ClassLoader是用来加载扩展类，即/lib/ext中的类。 AppClassLoader用来加载Classpath的类，是和我们关系最密切的类。 URLClassLoader用来加载网络上远程的类，暂且不讨论。 它们之间的关系: 1.Parent-Child，按顺序从大到小。不是简单的继承关系。 2.ClassLoader有个getParent的方法，但是Ext ClassLoader调用后得到的是null，bootstrap是JVM自己的，用户看不到。 3.classloader的委托机制：当等级比较低的ClassLoader要加载某个类的时候，它首先会请求Parent加载器来加载，Parent再请求它的Parent 测试你所使用的JVM的ClassLoader： ?View Code JAVA1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package test.commons.reflect; &#160; public class LoaderSample &#123; public [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Java Native Method" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fjava-native-method%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java Native Method</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java集合框架使用总结" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F05%2Fjava_colletion%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java集合框架使用总结</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java interface RandomAccess" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F10%2Fjava-interface-randomaccess%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java interface RandomAccess</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java中的两类异常" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F04%2Fjava_checkedexception_and_runtimeexception%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java中的两类异常</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="java中关于时间日期操作的常用函数" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fjava-date-operation-function%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">java中关于时间日期操作的常用函数</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>Java的类装载器是Java动态性的核心,是用来把类(class)装载进JVM的。VM规范定义了两种类型的类装载器：启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader)。所有user-defined的class loader都是java.lang.ClassLoader的子类。jvm内置的class loader有3种，分别是 Bootstrap ClassLoader， Extension ClassLoader（即ExtClassLoader），System ClassLoader(即AppClassLoader)<br />
bootstrap是JVM自带的类装载器，用来装载核心类库，如java.lang.*等。<br />
Extension ClassLoader是用来加载扩展类，即/lib/ext中的类。<br />
AppClassLoader用来加载Classpath的类，是和我们关系最密切的类。<br />
URLClassLoader用来加载网络上远程的类，暂且不讨论。<span id="more-1902"></span></p>
<p><strong>它们之间的关系:</strong><br />
1.Parent-Child，按顺序从大到小。不是简单的继承关系。<br />
2.ClassLoader有个getParent的方法，但是Ext ClassLoader调用后得到的是null，bootstrap是JVM自己的，用户看不到。<br />
3.classloader的委托机制：当等级比较低的ClassLoader要加载某个类的时候，它首先会请求Parent加载器来加载，Parent再请求它的Parent</p>
<p>测试你所使用的JVM的ClassLoader：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1902code13'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p190213"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code" id="p1902code13"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">test.commons.reflect</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> LoaderSample <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">Class</span> c<span style="color: #339933;">;</span>
    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassloader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassLoader</span></a> cl<span style="color: #339933;">;</span>
    cl <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassloader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassLoader</span></a>.<span style="color: #006633;">getSystemClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>cl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>cl <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        cl <span style="color: #339933;">=</span> cl.<span style="color: #006633;">getParent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>cl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
        c <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;java.lang.Object&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cl <span style="color: #339933;">=</span> c.<span style="color: #006633;">getClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;java.lang.Object’s loader is &quot;</span> <span style="color: #339933;">+</span> cl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        c <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;test.commons.reflect.LoaderSample&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cl <span style="color: #339933;">=</span> c.<span style="color: #006633;">getClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;LoaderSample’s loader is &quot;</span> <span style="color: #339933;">+</span> cl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>运行结果：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1902code14'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p190214"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p1902code14"><pre class="java" style="font-family:monospace;">sun.<span style="color: #006633;">misc</span>.<span style="color: #006633;">Launcher</span>$AppClassLoader@6b97fd
sun.<span style="color: #006633;">misc</span>.<span style="color: #006633;">Launcher</span>$ExtClassLoader@1c78e57
<span style="color: #000066; font-weight: bold;">null</span>
java.<span style="color: #006633;">lang</span>.<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a>’s loader is <span style="color: #000066; font-weight: bold;">null</span>
LoaderSample’s loader is sun.<span style="color: #006633;">misc</span>.<span style="color: #006633;">Launcher</span>$AppClassLoader@6b97fd</pre></td></tr></table></div>

<p>第一行表示，系统类装载器实例化自类sun.misc.Launcher$AppClassLoader<br />
第二行表示，系统类装载器的parent实例化自类sun.misc.Launcher$ExtClassLoader<br />
第三行表示，系统类装载器parent的parent为bootstrap<br />
第四行表示，核心类java.lang.Object是由bootstrap装载的<br />
第五行表示，用户类LoaderSample是由系统类装载器装载的</p>
<p><strong>双亲委派模型：</strong></p>
<p>从1.2版本开始，Java引入了双亲委托模型，从而更好的保证Java平台的安全。在此模型下，当一个装载器被请求装载某个类时，它首先委托自己的parent去装载，<br />
若parent能装载，则返回这个类所对应的Class对象，若parent不能装载，则由parent的请求者去装载。<br />
loader2的parent为loader1，loader1的parent为system class  loader。假设loader2被要求装载类MyClass，在双亲委派模型下，loader2首先请求loader1代为装载，loader1再请求系统类装载器去装载MyClass。若系统装载器能成功装载，则将MyClass所对应的Class对象的reference返回给loader1，loader1再将reference返回给loader2，从而成功将类MyClass装载进虚拟机。若系统类装载器不能装载MyClass，loader1会尝试装载MyClass，若loader1也不能成功装载，loader2会尝试装载。若所有的parent及loader2本身都不能装载，则装载失败若有一个能成功装载，实际装载的类装载器被称为定义类装载器，所有能成功返回Class对象的装载器（包括定义类装载器）被称为初始类装载器。如图1所示，假设loader1实际装载了MyClass，则loader1为MyClass的定义类装载器，loader2和loader1为MyClass的初始类装载器。<br />
system  class loader<br />
loader1<br />
loader2<br />
MyClass<br />
需要指出的是，Class  Loader是对象，它的父子关系和类的父子关系没有任何关系。一对父子loader可能实例化自同一个Class，也可能不是，甚至父loader实例化自子类，子loader实例化自父类。假设MyClassLoader继承自ParentClassLoader，我们可以有如下父子loader：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1902code15'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p190215"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1902code15"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">Class</span> loadClass<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> name<span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">Class</span> loadClass<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> name, <span style="color: #000066; font-weight: bold;">boolean</span> resolve<span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>在JVM加载类的时候，需要经过三个步骤，装载、连接、初始化。装载就是找到相应的class文件，读入JVM，初始化就不用说了，最主要就说说连接。<br />
连接分三步，第一步是验证class是否符合规格，第二步是准备，就是为类变量分配内存同时设置默认初始值，第三步就是解释，而这步就是可选的，<br />
根据上面  loadClass方法的第二个参数来判定是否需要解释，所谓的解释根据《深入JVM》这本书的定义就是根据类中的符号引用查找相应的实体，<br />
再把符号引用替换成一个直接引用的过程。<br />
我们再来看看那个两个参数的loadClass方法，在JAVA  API  文档中，该方法的定义是protected，那也就是说该方法是被保护的，而用<br />
户真正应该使用的方法是一个参数的那个，一个参数的loadclass方法实际上就是调用了两个参数的方法，而第二个参数默认为false，<br />
因此在这里可以看出通过loadClass加载类实际上就是加载的时候并不对该类进行解释，因此也不会初始化该类。而Class类的forName方法则是相反，<br />
使用forName加载的时候就会将Class进行解释和初始化，forName也有另外一个版本的方法，可以设置是否初始化以及设置ClassLoader。<br />
在实际项目中要加载一个类，可以采用Thread.currentThread().getContextClassLoader(),getClass().getClassLoader(),ClassLoader.getSystemClassLoader() 三种方式依次加载知道成功加载类。</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1902code16'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p190216"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</pre></td><td class="code" id="p1902code16"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">Class</span> classForName<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> name, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassloader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassLoader</span></a> classLoader<span style="color: #009900;">&#41;</span>
            <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassnotfoundexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassNotFoundException</span></a> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> classForName<span style="color: #009900;">&#40;</span>name,
                <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassloader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassLoader</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> classLoader, defaultClassLoader,
                     <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Athread+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Thread</span></a>.<span style="color: #006633;">currentThread</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getContextClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,
                     getClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,
                     <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassloader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassLoader</span></a>.<span style="color: #006633;">getSystemClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">Class</span> classForName<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> name, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassloader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassLoader</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> classLoader<span style="color: #009900;">&#41;</span>
            <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassnotfoundexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassNotFoundException</span></a> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassloader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassLoader</span></a> cl <span style="color: #339933;">:</span> classLoader<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">!=</span> cl<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #000000; font-weight: bold;">Class</span> c <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">&#40;</span>name, <span style="color: #000066; font-weight: bold;">true</span>, cl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">!=</span> c<span style="color: #009900;">&#41;</span>
                        <span style="color: #000000; font-weight: bold;">return</span> c<span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassnotfoundexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassNotFoundException</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aclassnotfoundexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ClassNotFoundException</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Cannot find class: &quot;</span>
            <span style="color: #339933;">+</span> name<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><strong>参考资料：</strong></p>
<p><a href="http://www.chinaitpower.com/A/2002-10-16/38081.html">Java的类装载器(ClassLoader)和命名空间(NameSpace) </a> by rostone<br />
<a href="http://edu.gamfe.com/tutor/d/20442.html">Java ClassLoader基础知识</a> by 董涵</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Java Native Method" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fjava-native-method%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java Native Method</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java集合框架使用总结" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F05%2Fjava_colletion%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java集合框架使用总结</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java interface RandomAccess" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F10%2Fjava-interface-randomaccess%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java interface RandomAccess</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java中的两类异常" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F04%2Fjava_checkedexception_and_runtimeexception%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java中的两类异常</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="java中关于时间日期操作的常用函数" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fjava-date-operation-function%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F12%2Fjava-classloader%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">java中关于时间日期操作的常用函数</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2010/12/java-classloader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>这不是我想要的生活</title>
		<link>http://www.javachen.com/2010/11/this-life-is-what-i-want/</link>
		<comments>http://www.javachen.com/2010/11/this-life-is-what-i-want/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 11:24:06 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[Post]]></category>
		<category><![CDATA[dream]]></category>
		<category><![CDATA[Java Core]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=1896</guid>
		<description><![CDATA[出差两周基本上什么事情没做，每周711的生活：工作7天每天11小时；晚上11点到家，1点睡觉，早上7点起床。没有网络，除了上班，吃饭就是睡觉。有时候真想向老板提出辞职说我不干了，但是迫于生活的压力,为了赚够足够明年生活的钱，只能继续疲惫的工作。 出差两周后回到北京，今天睡了一天，终于补足了两周欠下的睡眠。醒来之后打开电脑，发现自己不知道该做什么了。两周的出差，两周的假忙碌，让我现在没有了一点工作或是学习的动力。从早到黑，一天18小时的沉浸在IT世界里，这样好吗？从早到黑，一天11小时的埋头工作，这样不累吗？起早贪黑，埋头工作，身心疲惫，我的个人价值就只能用汗水和疲惫来衡量吗？ 这不是我想要的生活，除了工作，我还该做点其他的事情，可却总是没有属于自己的时间，无奈。除了java，我还学点其他的什么，逃离软件回归硬件，期待。 堂哥要结婚了，祝他新婚快乐！我还是一人，这不是我想要的生活。我也苦恼，但是没有办法，在爱情面前，我更想钟情于事业。也许，两者能够兼得，那就更好！ 梦想与现实总是相差太远，总是因为现实而偏离，放弃了自己的梦想。不能把梦想照进现实，我要把现实塞到梦想的阴影里。希望能够按照自己的想法，越走越远！不为了天，不为了地，我要为了自己的梦想好好的做一次。I have a dream！ 我有一个梦想 I have a dream 有一天在佐治亚州的红色山岗上 That one day on the red hills of Georgia 昔日奴隶的儿子 Sons of former slaves 能够同昔日奴隶主的儿子 And the sons of former slave-owners 同席而坐 Will be able to sit down together 亲如手足 At the table of brotherhood 我有一个梦想 I have a dream 有一天 [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Java StringUtil" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fjava-stringutil%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java StringUtil</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java5中的注释Annotation" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fjava5-annotation%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java5中的注释Annotation</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java中的集合类" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F09%2Fjava_collection%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java中的集合类</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java Enumeration" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fjava-enumeration%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java Enumeration</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="优化java代码效率" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F06%2Foptimize-the-efficiency-of-java-code%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">优化java代码效率</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>出差两周基本上什么事情没做，每周711的生活：工作7天每天11小时；晚上11点到家，1点睡觉，早上7点起床。没有网络，除了上班，吃饭就是睡觉。有时候真想向老板提出辞职说我不干了，但是迫于生活的压力,为了赚够足够明年生活的钱，只能继续疲惫的工作。<br />
出差两周后回到北京，今天睡了一天，终于补足了两周欠下的睡眠。醒来之后打开电脑，发现自己不知道该做什么了。两周的出差，两周的假忙碌，让我现在没有了一点工作或是学习的动力。从早到黑，一天18小时的沉浸在IT世界里，这样好吗？从早到黑，一天11小时的埋头工作，这样不累吗？起早贪黑，埋头工作，身心疲惫，我的个人价值就只能用汗水和疲惫来衡量吗？<br />
这不是我想要的生活，除了工作，我还该做点其他的事情，可却总是没有属于自己的时间，无奈。除了java，我还学点其他的什么，逃离软件回归硬件，期待。<span id="more-1896"></span><br />
堂哥要结婚了，祝他新婚快乐！我还是一人，这不是我想要的生活。我也苦恼，但是没有办法，在爱情面前，我更想钟情于事业。也许，两者能够兼得，那就更好！<br />
梦想与现实总是相差太远，总是因为现实而偏离，放弃了自己的梦想。不能把梦想照进现实，我要把现实塞到梦想的阴影里。希望能够按照自己的想法，越走越远！不为了天，不为了地，我要为了自己的梦想好好的做一次。I have a dream！</p>
<p>我有一个梦想<br />
I have a dream<br />
有一天在佐治亚州的红色山岗上<br />
That one day on the red hills of Georgia<br />
昔日奴隶的儿子<br />
Sons of former slaves<br />
能够同昔日奴隶主的儿子<br />
And the sons of former slave-owners<br />
同席而坐<br />
Will be able to sit down together<br />
亲如手足<br />
At the table of brotherhood<br />
我有一个梦想<br />
I have a dream<br />
有一天<br />
That one day<br />
即便是密西西比州<br />
Even the state of Mississippi<br />
一个被非正义和压迫的热浪<br />
A state sweltering with the heat of injustice<br />
所席卷的荒漠之州<br />
Sweltering with the heat of oppression<br />
也会改造成为<br />
Will be transformed into<br />
自由和公正的青青绿洲<br />
An oasis of freedom and justice<br />
我有一个梦想<br />
I have a dream<br />
我的四个儿女<br />
My four little children<br />
将生活在一个<br />
Will one day live in a nation<br />
不是以皮肤的颜色<br />
Where they will not be judged<br />
By the color of their skin<br />
而是以品格的优劣作为评判标准的国家<br />
But by the content of their character<br />
今天 我怀有一个梦想<br />
I have a dream today<br />
我梦想有一天<br />
I have a dream That one day<br />
亚拉巴马州邪恶的奴隶制度会有所改变<br />
Down in Alabama with its vicious racists<br />
尽管该州州长现在仍滔滔不绝地说<br />
With its governor having his lips dripping<br />
要对联邦法令提出异议和拒绝执行<br />
With the words of interposition and nullification<br />
有一天 在那里<br />
One day right there in Alabama<br />
黑人儿童<br />
Little black boys and black girls will be able<br />
能够和白人儿童携手并行<br />
To join hands with little white boys and white girls<br />
如同兄弟姐妹般<br />
As sisters and brothers<br />
今天 我怀有一个梦想<br />
I have a dream today<br />
我梦想有一天<br />
I have a dream that one day<br />
深谷弥合<br />
Every valley shall be exalted<br />
高山夷平 歧路化坦途<br />
Every hill and mountain shall be made low<br />
歧路化坦途<br />
The rough places will be made plain<br />
曲径成通衢<br />
And the crooked places will be made straight<br />
上帝光华再现<br />
And the glory of the Lord shall be revealed<br />
普天下生灵共谒<br />
And all flesh shall see it together<br />
这是我们的希望<br />
This is our hope<br />
这是我将带回南方的信念<br />
This is the faith that I go back to the South with<br />
有了这个信念<br />
With this faith<br />
我们就能从绝望之山<br />
We will be able to hew out<br />
开采出希望之石<br />
Of the mountain of despair a stone of hope<br />
有了这个信念<br />
With this faith<br />
我们就能把这个国家<br />
We will be able to transform<br />
嘈杂刺耳的争吵声<br />
The jangling discords of our nation<br />
变为充满手足之情的悦耳交响曲<br />
Into a beautiful symphony of brotherhood<br />
有了这个信念<br />
With this faith<br />
我们就能一同工作<br />
We will be able to work together<br />
一同祈祷 一同斗争<br />
To pray together to struggle together<br />
一同入狱<br />
To go to jail together<br />
一同维护自由<br />
To stand up for freedom together<br />
因为我们知道<br />
Knowing that<br />
终有一天我们会获得自由<br />
We will be free one day<br />
到了这一天<br />
This will be the day<br />
到了这一天 上帝的所有孩子<br />
This will be the day when all of God’s children<br />
都能以新的含义高唱这首歌<br />
Be able to sing with new meaning<br />
我的祖国<br />
My country &#8217;tis of thee<br />
可爱的自由之邦<br />
Sweet land of liberty<br />
我为您歌唱<br />
Of thee I sing<br />
这里是我的祖先终老的地方<br />
Land where my fathers died<br />
这里是早期移民自豪的地方<br />
Land of the pilgrims&#8217; pride<br />
让自由之声响彻每一座山岗<br />
From every mountainside let freedom ring<br />
如果美国要成为伟大的国家<br />
And if America is to be a great nation<br />
这一点必须实现<br />
This must become true<br />
因此 让自由之声<br />
So let freedom ring<br />
响彻新罕布什尔州的巍峨高峰<br />
From the prodigious hilltops of New Hampshire<br />
让自由之声<br />
Let freedom ring<br />
响彻纽约州的崇山峻岭<br />
From the mighty mountains of New York<br />
让自由之声<br />
Let freedom ring<br />
响彻宾夕法尼亚州的阿利根尼山<br />
From the heightening Alleghenies of Pennsylvania<br />
让自由之声<br />
Let freedom ring<br />
响彻科罗拉多州白雪皑皑的落基山<br />
From the snowcapped Rockies of Colorado<br />
让自由之声<br />
Let freedom ring<br />
响彻加利福尼亚州的婀娜群峰<br />
From the curvaceous slopes of California<br />
不仅如此<br />
But not only that<br />
让自由之声响彻佐治亚州的石山<br />
Let freedom ring from Stone Mountain of Georgia<br />
让自由之声<br />
Let freedom ring<br />
响彻田纳西州的望山<br />
From Lookout Mountain of Tennessee<br />
让自由之声<br />
Let freedom ring<br />
响彻密西西比州的<br />
From every hill<br />
一座座山峰 一个个土丘<br />
And molehill of Mississippi<br />
让自由之声响彻每一个山岗<br />
From every mountainside let freedom ring<br />
当这一天到来<br />
And when this happens<br />
当我们让自由之声轰响<br />
When we allow freedom ring<br />
当我们让自由之声<br />
When we let it ring<br />
响彻每一个大村小庄<br />
From every village and every hamlet<br />
每一个州府城镇<br />
From every state and every city<br />
我们就能加速这一天的到来<br />
We will be able to speed up that day<br />
那时 上帝的所有孩子<br />
When all of God&#8217;s children<br />
黑人和白人<br />
Black men and white men<br />
犹太教徒和非犹太教徒<br />
Jews and Gentiles<br />
耶稣教徒和天主教徒<br />
Protestants and Catholics<br />
将能携手<br />
Will be able to join hands<br />
同唱那首古老的黑人灵歌<br />
And sing in the words of the old Negro spiritual<br />
终于自由了 终于自由了<br />
Free at last free at last<br />
感谢全能的上帝<br />
Thank God almighty<br />
我们终于自由了<br />
We are free at last</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Java StringUtil" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fjava-stringutil%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java StringUtil</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java5中的注释Annotation" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fjava5-annotation%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java5中的注释Annotation</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java中的集合类" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F09%2Fjava_collection%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java中的集合类</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Java Enumeration" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fjava-enumeration%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Java Enumeration</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="优化java代码效率" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F06%2Foptimize-the-efficiency-of-java-code%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F11%2Fthis-life-is-what-i-want%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">优化java代码效率</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>By the time  your rss reader get this post here is <strong> 2 </strong>comments ,Welcome you come to leave your opinion !]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2010/11/this-life-is-what-i-want/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.javachen.com/tag/java/feed/ ) in 19.72870 seconds, on Feb 6th, 2012 at 1:09 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 6th, 2012 at 2:09 am UTC -->
