<?xml version="1.0" encoding="utf-8"?>
<rss version="0.92"> 
	<channel>
		<title>放糖的绿豆汤</title>
		<link>http://www.quke.cn/</link>
		<description>记录生活、工作、学习上的点点滴滴......</description> 
		<lastBuildDate></lastBuildDate> 
		<docs>/rss2/</docs>
		
		<language>zh-cn</language> 
		
		<item>
			<title>一款非常好用的java反编译工具--JD-GUI</title>
			<description><![CDATA[<p>
<p>用c++写成,可反编译class文件,支持jar包级的反编译,可将整个jar包直接保存为*.src.zip源代码包,反编译迅速,错误率极少,详细的看下面</p>
<p>下载地址:<a href="http://java.decompiler.free.fr/?q=jdgui">http://java.decompiler.free.fr/?q=jdgui</a></p>
<p><strong>Introduction</strong></p>
<div>
<p>The aim of &ldquo;Java&nbsp;Decompiler&rdquo; project is to develop tools to decompile and analyze&nbsp;Java&nbsp;5, and upper, &ldquo;.class&rdquo; files.</p>
<p>JD-Core is a freeware library that reconstructs&nbsp;Java&nbsp;source code from one or more &ldquo;.class&rdquo; files. JD-Core may be used to recover lost source code and explore the source </p></div></p>]]></description>
			<link>http://www.quke.cn/log-350.html</link>
		</item> 
		
		<item>
			<title>MyEclipse 8.0 GA可以下载了</title>
			<description><![CDATA[<p>今天重装myeclipse时发现8.0都出了，而我用的还是6.5，赶紧换一个吧。</p>
<p>
<p><a href="http://xiexiejiao.cn/tag/myeclipse">MyEclipse 8.0  GA</a>下载地址：<br />
http://downloads.myeclipseide.com/downloads/products/eworkbench/galileo/myeclipse-8.0.0-win32.exe<br />
复制该下载地址到您的下载工具下载即可。</p>
<p><a href="http://xiexiejiao.cn/tag/myeclipse">MyEclipse</a>官方主页：</p>
<p>http://www.myeclipseide.com/</p>
</p>]]></description>
			<link>http://www.quke.cn/log-342.html</link>
		</item> 
		
		<item>
			<title>Freemarker中数字的格式问题</title>
			<description><![CDATA[<p>今天在写ehome时发现了一个freemarker的问题，后来证明时我没用好。即数字的格式默认为西方的常用格式，每3个数字用一个逗号隔开，如&ldquo;1，201，100&ldquo;；然而用它做为id在jquery和gae中都是行不通的；</p>
<p>处理方式就是在freemarker模版文件中加上一句设定数字格式的语句&rdquo;&lt;#setting number_format=&quot;#&quot;&gt; &rdquo;，当然如果你使用的有母板时，在母板中写上此句即可。</p>]]></description>
			<link>http://www.quke.cn/log-316.html</link>
		</item> 
		
		<item>
			<title>java方法(函数)传值和传引用的问题</title>
			<description><![CDATA[<p style="line-height: normal">java方法中传值和传引用的问题是个基本问题，但是也有很多人一时弄不清。</p>
<p>（一）基本数据类型：传值，方法不会改变实参的值。</p>
<p>public class TestFun {</p>
<p>public static void testInt(int i){<br />
&nbsp;&nbsp; i=5;&nbsp;&nbsp;&nbsp;<br />
}&nbsp;<br />
<br />
public static void main(String[] args) {<br />
&nbsp;&nbsp; int a=0 ;&nbsp;&nbsp;<br />
&nbsp;&nbsp; TestFun.testInt(a);<br />
&nbsp;&nbsp; System.out.println(&quot;a=&quot;+a);&nbsp;&nbsp;<br />
}</p>
<p>}</p>
<p>程序执行结果：a=0 。</p>
<p>（二）对象类型参数：传引用，方法体内改变形参引用，不会改变实参的引用，但有可能改变实参对象的属性值。</p>
<p>举两个例子：</p>
<p>（1）方法体内改变形参引用，但不会改变实参引用 ，实参值不变。</p>
]]></description>
			<link>http://www.quke.cn/log-315.html</link>
		</item> 
		
		<item>
			<title>Eclipse如何重新生成class文件</title>
			<description><![CDATA[<p>今天在用eclipse做基于java的web项目ehome时，遇到了一个需要重生成class文件的问题；我原以为点击项目右键中的刷新即可，因为以前使用eclipse时用&ldquo;刷新&rdquo;也解决了不少问题，然而这次却不行，因为我将war\WEB-INF下的classes文件夹的内容删除了，刷新后也没有重新编译生成class文件。</p>
<p>解决方法：使用菜单 project-&gt;clean即可。</p>]]></description>
			<link>http://www.quke.cn/log-314.html</link>
		</item> 
		
		<item>
			<title>JAVA中的反射机制</title>
			<description><![CDATA[<p>&nbsp;JAVA反射机制<br />
&nbsp;&nbsp;&nbsp;&nbsp;JAVA反射机制是在运行状态中，对于任意一个类，都能够知道这个类的所有属性和方法；对于任意一个对象，都能够调用它的任意一个方法；这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。<br />
Java反射机制主要提供了以下功能：&nbsp;在运行时判断任意一个对象所属的类；在运行时构造任意一个类的对象；在运行时判断任意一个类所具有的成员变量和方法；在运行时调用任意一个对象的方法；生成动态代理。<br />
1.&nbsp;得到某个对象的属性<br />
<br />
1&nbsp;public&nbsp;Object&nbsp;getProperty(Object&nbsp;owner,&nbsp;String&nbsp;fieldName)&nbsp;throws&nbsp;Exception&nbsp;{<br />
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp;ownerClass&nbsp;=&nbsp;owner.getClass();<br />
3&nbsp;<br />
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field&nbsp;field&nbsp;=&nbsp;ow]]></description>
			<link>http://www.quke.cn/log-309.html</link>
		</item> 
		
		<item>
			<title>JAVA用户自定义事件监听</title>
			<description><![CDATA[<p>&nbsp;<span class="Apple-style-span" style="font-family: verdana; font-size: 12px; line-height: 18px; "><span class="Apple-style-span" style="font-size: 14px; line-height: 22px; color: rgb(68, 68, 68); ">很多介绍用户自定义事件都没有例子，或是例子不全，下面写了一个完整的例子，并写入了注释以便参考，完整的实例源代码如下：<br />
</span></span></p>
<pre><ol class="dp-j"><li class="alt"><span><span class="keyword">package</span><span>&nbsp;demo;&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.util.EventObject;&nbsp;</span></span></li><li><span>&nbsp;</span></li></ol></pre>]]></description>
			<link>http://www.quke.cn/log-301.html</link>
		</item> 
		
		<item>
			<title>Java Annotation学习总结</title>
			<description><![CDATA[<p>&nbsp;annotation能被用来为某个程序元素（类、方法、成员变量等）关联任何的信息，但annotaion不能影响程序代码的执行，无论增加、删除annotation，代码都始终如一的执行。另外，尽管一些annotation通过java的反射api方法在运行时被访问，而java语言解释器在工作时忽略了这些annotation。正是由于java虚拟机忽略了annotation，导致了 annotation类型在代码中是&ldquo;不起作用&rdquo;的；只有通过某种配套的工具才会对annotation类型中的信息进行访问和处理，因而使用简便。</p>
<p>&nbsp; 先说下定义annotation的语法。@interface是一个关键字，在自定义自己annotations的时候必须把一个类型定义为@interface，而不能用class或interface关键字，形如&ldquo;public @interface MyAnnotation{ }&rdquo;,以下是定义的几个示例：</p>
<p>&nbsp; 1.无任何方法/属性Annotation</p>
<p>&nbsp;&nbsp;&nbsp;</p>]]></description>
			<link>http://www.quke.cn/log-299.html</link>
		</item> 
		
		<item>
			<title>Java Annotation 高级应用</title>
			<description><![CDATA[<p>前言：<br />
前不久在matrix上先后发表了<a target="_new" href="http://www.matrix.org.cn/resource/article/44/44048_Java+Annotation.html">《java annotation 入门》</a>、<a target="_new" href="http://www.matrix.org.cn/resource/article/44/44055_Java+Annotation+Reflect.html">《java annotation 手册》</a>两篇文章，比较全面的对java annotation的语法、原理、使用三方面进行了阐述。由于《入门》中的简单例程虽然简单明了的说明了annotation用法，但给大家的感觉可能是意犹未见，所以在此行文《java annotation高级应用》，具体实例化解释annotation和annotation processing tool（APT）的使用。望能对各位的有所帮助。<br />
<br />
一、摘要：<br />
《java annotation高级应用》具体实例化解释annotation和annotation processing tool（APT）的使用。望能对各位的有所帮助。本文列举了用于演示annotation的B]]></description>
			<link>http://www.quke.cn/log-298.html</link>
		</item> 
		
		<item>
			<title>Java Annotation手册</title>
			<description><![CDATA[<p><strong>前言：</strong></p>
<div>
<div>
<p>在上篇文章<a target="_new" href="http://www.matrix.org.cn/resource/article/44/44048_Java+Annotation.html">《Java Annotation入门》</a>中概要性的介绍了Annotation的定义、使用，范围涵盖较广，但是深度不够。所以作者在《Java Annotation入门》后，继续整理了Annotation的概念和知识点，与喜欢research的朋友们共享。<br />
<br />
阅读提示：文中提到的程序成员或者程序元素是一个概念，指组成程序代码的单元：如类、方法、成员变量。<br />
<br />
<strong>一、Annotation究竟是什么？</strong><br />
<br />
Annotation 提供了一条与程序元素关联任何信息或者任何元数据（metadata）的途径。从某些方面看，annotation就像修饰符一样被使用，并应用于包、类 型、构造方法、方法、成员变量、参数、本地变量的声明中。这些信息被存储在annotation的&ldquo;name=value&rdquo;结构对中。 annotation类型是一种接口，能够通过java反射API的方</div></div>]]></description>
			<link>http://www.quke.cn/log-297.html</link>
		</item> 
		
		<item>
			<title>Java中Annotation功能的入门</title>
			<description><![CDATA[<p><strong><span style="color: rgb(0, 0, 255); ">摘要：</span></strong><br />
本 文针对java初学者或者annotation初次使用者全面地说明了annotation的使用方法、定义方式、分类。初学者可以通过以上的说明制作简 单的annotation程序，但是对于一些高级的annotation应用（例如使用自定义annotation生成javabean映射xml文件） 还需要进一步的研究和探讨。涉及到深入annotation的内容，作者将在后文《Java Annotation高级应用》中谈到。<br />
<br />
同时，annotation运行存在两种方式：运行时、编译时。上文中讨论的都是在运行时的annotation应用，但在编译时的annotation应用还没有涉及，<br />
<br />
<strong><span style="color: rgb(0, 0, 255); ">一、为什么使用Annotation：</span></strong><br />
<br />
在JAVA应用中，我们常遇到一些需要使用模版代码。例如，为了编写一个JAX-RPC web service，我们必须提供一对接口和实现作为模版代码。如果使用annotation对远程访问的方法代码进行修饰的话，]]></description>
			<link>http://www.quke.cn/log-296.html</link>
		</item> 
		
		<item>
			<title>模版引擎FreeMarker</title>
			<description><![CDATA[<p>&nbsp;&nbsp; &nbsp;模版我认为就是把常用的或固定的东西固定下来，放在相应的位置；将不固定的或者需要变化的东西用特殊标志代替，当我们需要做这方面的东西是就将我们需要的东西填上，即可方便的做成标准的文件或物品。在程序开发中，特别是在处理Web层开发中，我们把具有这种功能的模块叫做模版引擎。</p>
<p>&nbsp;&nbsp; &nbsp;模版引擎可能是独立的一个模块，也可能是集成在Web框架中的；比如在DotNet2中的母板功能，在python的web框架Django也自带有模版的功能；java的开发中各种框架比较多，各有特点；其中常用的JSF中可以用FaceLet实现模版，而在应用更广泛的框架Struts2中使用freemarker和velocity引擎；</p>
<p>&nbsp;&nbsp; &nbsp;关于freemarker和velocity的比较这儿有篇文章可以参考下：<a href="http://ahuaxuan.javaeye.com/blog/71430">http://ahuaxuan.javaeye.com/blog/71430</a>。</p>
<p>&nbsp;&nbsp; &nbsp;先看看别人对</p>]]></description>
			<link>http://www.quke.cn/log-289.html</link>
		</item> 
		
		<item>
			<title>Strut.xml文件的配置说明</title>
			<description><![CDATA[<p>&nbsp;首先看看struts.xml的基本配置说明，下面有个模版：</p>
<p>&nbsp;</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>&lt;!DOCTYPE&nbsp;struts&nbsp;PUBLIC&nbsp;&quot;-//Apache&nbsp;Software&nbsp;Foundation//DTD&nbsp;Struts&nbsp;Configuration&nbsp;2.0//EN&quot;&nbsp;&quot;http://struts.apache.org/dtds/struts-2.0.dtd&quot;&nbsp;</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">struts</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li></ol></pre>]]></description>
			<link>http://www.quke.cn/log-285.html</link>
		</item> 
		
		<item>
			<title>如何让Struts2在GAE上运行</title>
			<description><![CDATA[<p>&nbsp;在尝试使用Struts2框架在GAE上运行时，在解决了几个struts2的常见错误后，</p>
<p>报错：&ldquo;<span style="color: rgb(255, 0, 0); "><span class="Apple-style-span" style="font-family: arial; font-size: 12px; ">SEVERE: ParametersInterceptor - [setParameters]: Unexpected Exception&nbsp;<br />
caught setting 'name' on 'class com.ociweb.gaestruts2.HelloAction: Error&nbsp;<br />
setting expression 'name' with value '[Ljava.lang.String;@24de7d'&nbsp;</span></span>&rdquo;，</p>
<p>一直找不到解决方法，当时就想是不是gae也不支持struts2啊？哪样的话GAE就令人失望了。</p>
<p>然而最终在</p>]]></description>
			<link>http://www.quke.cn/log-283.html</link>
		</item> 
		
		<item>
			<title>Struts2入门级常见问题总结</title>
			<description><![CDATA[<p>&nbsp;今天在使用Struts2是遇见了些问题，记录下来，以供大家参考！</p>
<p>问题1：&ldquo;Unable to load configuration. - bean - jar:file:/D:/Program/GAE/Java/Demo/war/WEB-INF/lib/struts2-core-2.1.6.jar!/struts-default.xml:46:178&rdquo;；</p>
<p><strong>解决：将commons-io-1.3.2, commons-fileupload.1.2.1这两个jar包放到lib下；</strong></p>
<p>问题2：&ldquo;Unable to load configuration. - bean - jar:file:/D:/Program/GAE/Java/Demo/war/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119&rdquo;；</p>
<p><strong>解决：将struts-2.1.6-all.zip中apps文件夹中struts2-blank-2.1.6.war文件解压。进入struts2-blank-2.1.6\WEB-INF\lib，只将该文件夹下的9个jar包导</strong></p>]]></description>
			<link>http://www.quke.cn/log-282.html</link>
		</item> 
		
		<item>
			<title>Struts2与Struts1的比较</title>
			<description><![CDATA[<p>Struts2已经发布了，但我却是刚刚知道的，因为这段时间一致在关注jsf，但现在发现GAE对jsf的ajax支持的不好，所以决定尝试struts2；</p>
<p>Struts2并非第一版的简单升级，他在很多地方做了较大的升级，我简单看了下有些地方有向jsf靠拢的痕迹。</p>
<blockquote>
<p>Action 类: <br />
&bull; Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 <br />
&bull; Struts 2 Action类可以实现一个Action接口，也可实现其他接口，使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的，任何有execute标识的POJO对象都可以用作Struts2的Action对象。</p>
<p>线程模式: <br />
&bull; Struts1 Action是单例模式并且必须是线程安全的，因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事，并且要在开发时特别小心。Action资源必须是线程安全的或同步的。 <br />
&bull; Struts2 Action对象为每一个请求产生一个实例，因此没有线程安全问]]></description>
			<link>http://www.quke.cn/log-281.html</link>
		</item> 
		
		<item>
			<title>GAE支持的java框架列表</title>
			<description><![CDATA[<p>有心人总结的gae支持的java框架列表，但其中还没有richface，我也在调试中，期待。</p>
<p>列表地址是：<a href="http://spreadsheets.google.com/pub?key=pRJ_0hajVrhacLjp3HqD5ew">http://spreadsheets.google.com/pub?key=pRJ_0hajVrhacLjp3HqD5ew</a></p>
<p>几个老外的博客：</p>
<p><a href="http://rikara.blogspot.com/">http://rikara.blogspot.com/</a></p>
<p><a href="http://ctpjava.blogspot.com/">http://ctpjava.blogspot.com/</a></p>]]></description>
			<link>http://www.quke.cn/log-280.html</link>
		</item> 
		
		<item>
			<title>Sun支持的Ajax框架--jMaki</title>
			<description><![CDATA[<p>&nbsp;在Google Appengine上正常运行了JSF以后，在尝试使用Ajax4jsf是发现由于&ldquo;<span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 12px; line-height: 19px; white-space: pre-wrap; ">java.lang.NoClassDefFoundError: javax.imageio.ImageIO is a restricted class. Please see the Google App Engine developer's guide for more details.<span class="Apple-style-span" style="font-family: Simsun; font-size: 16px; line-height: normal; white-space: normal; ">&rdquo;，无法正常运行，看来google不准备让大家使用这个第三方的ajax框架，难道是怕和gwt竞争？没办法还是寻找其他办法吧。</span></span></p>
<p>jMaki是SUN支持的一个AJAX框架。jMaki 允许java开发者把流行的 AJAX-style wi</p>]]></description>
			<link>http://www.quke.cn/log-279.html</link>
		</item> 
		
		<item>
			<title>JSF国际化的问题</title>
			<description><![CDATA[<blockquote>
<p>&nbsp;</p>
JSF的国际化（Internnationalization）信息处理是基于Java对国际化的支援，
<div>您可以在一个信息资源档中统一管理信息资源，资源文件的名称是.properties，</div>
<div>而內容是名称与值的配对，例如：&nbsp;<br />
&nbsp;</div>
messages.properties&nbsp;<br />
<br />
titleText=JSF Demo&nbsp;<br />
hintText=Please input your name and password&nbsp;<br />
nameText=name&nbsp;<br />
passText=password&nbsp;<br />
commandText=Submit&nbsp;<br />
<br />
资源档名称由basename加上语言与地区来组成，例如：&nbsp;<br />
<br />
basename.properties&nbsp;<br />
basename_en.properties&nbsp;<br />
basename_zh_TW.properties&nbsp;&nbsp;<br />
沒有指定语言与地区的basename是预设的资源档]]></description>
			<link>http://www.quke.cn/log-278.html</link>
		</item> 
		
		<item>
			<title>Facelets在JSF中的使用</title>
			<description><![CDATA[<blockquote>
<p>&nbsp;级别： 初级</p>
<p><a href="http://www.ibm.com/developerworks/cn/java/j-facelets/#author">Richard Hightower</a>&nbsp;(<a href="mailto:rhightower@arc-mind.com?subject=Facelets%20%E9%9D%9E%E5%B8%B8%E9%80%82%E5%90%88%20JSF">rhightower@arc-mind.com</a>), 开发人员, ArcMind Inc.</p>
<p>2006 年 2 月 21 日</p>
<blockquote>试图把 JSF 和 JSP 结合起来就像试图要把脚硬塞进手套一样：可能做得到，但是只是更好的解决办法出现之前的一个权宜之计。在这篇文章中，JSF 的热心支持者 Rick Hightower 介绍了关于 Facelets 他最喜欢的内容：容易的 HTML 样式的模板化和可重用的复合组件。</blockquote>
<p>由于最近在 Java&trade; 服务器外观（JSF）项目上工作，我很有幸第一次使用了 Facelets。关于 Facelets，我最喜欢的是它让我可以创建可重用的复合组件。能够拿出一个页面（例如 JSP）并把它变成</p></blockquote>]]></description>
			<link>http://www.quke.cn/log-277.html</link>
		</item> 
		
		<item>
			<title>在GAE上使用JSF</title>
			<description><![CDATA[<p>&nbsp;有个好消息，已经证明在google appengine上可以正常使用jsf了；jsf1.1可是使用。</p>
<blockquote>
<p><span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: 'Lucida Grande'; font-size: 13px; line-height: 20px; ">
<p style="margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 5px; padding-right: 20px; padding-bottom: 5px; padding-left: 0px; ">As you know yesterday Google enabled Java as the second language on Google App.</p>
<p>I registered to the test version and I want to try to run JSF&hellip;I started with Jsf 1.1 and it worked perfectly!!</p>
<p>I tried</p></span></p></blockquote>]]></description>
			<link>http://www.quke.cn/log-276.html</link>
		</item> 
		
		<item>
			<title>MyEclipse的汉化,配置svn、pydev环境</title>
			<description><![CDATA[<p>换了工作环境，当然新的机器就要部署自己的开发环境了，在装myeclipse时发现已经有官方的汉化了，不错！下面的方法时网上共享的。</p>
<blockquote>
<p>1.先去下载MyEclipse6.5GA<a href="http://downloads.myeclipseide.com/downloads/products/eworkbench/6.5.0GA/MyEclipse_6.5.0GA_E3.3.2_Installer_A.exe">http://downloads.myeclipseide.com/downloads/products/eworkbench/6.5.0GA/MyEclipse_6.5.0GA_E3.3.2_Installer_A.exe</a></p>
<p>2.在主菜单栏处依次点:&ldquo;help&rdquo;--> &ldquo;software update&rdquo;-->&ldquo;Find And Install&rdquo;，这时弹出一个界面，要你选择要安装的功能部件，选择第2项（搜索要安装的新功能部件），然后点next，进入下一步。 然后选择New Remote Site（新建远程站点），弹出一个对话框，有两项，第一项是要你起个名字，随便起，就叫language吧，第2项是个URL，填入：http://do</p></blockquote>]]></description>
			<link>http://www.quke.cn/log-237.html</link>
		</item> 
		
		<item>
			<title>Java中生成随机数的方法</title>
			<description><![CDATA[<p>&nbsp;今天在处理一个图片上传的后没刷新演示的问题时用到了java的产生随机数的函数。</p>
<p>&nbsp;问题：图片上传后刷新页面，但是页面内容在本地已有缓存，图片的演示没及时更新到页面，现在的方法是点击按钮触发javascript的&quot;location.reload();&quot;，强行刷新页面开能看到，我希望刷新页面其他内容都缓存，演示图片取最新的，就想到了用在图片地址后面跟一个随机数参数来解决。</p>
<p>看看Java随机数的详细介绍：</p>
<blockquote>
<p>一.在j2se里我们可以使用Math.random()方法来产生一个随机数，这个产生的随机数是0-1之间的一个double，我们可以把他乘以一定的数，比如说乘以100，他就是个100以内的随机，这个在j2me中没有。</p>
<p>二.在java.util这个包里面提供了一个Random的类，我们可以新建一个Random的对象来产生随机数，他可以产生随机整数、随机float、随机double，随机long，这个也是我们在j2me的程序里经常用的一个取随机数的方法。</p>
<p>三.在我们的System类中有一个currentTimeMillis()方法，这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数，返回类型是long，我们可以拿他作为一</p></blockquote>]]></description>
			<link>http://www.quke.cn/log-219.html</link>
		</item> 
		
		<item>
			<title>设计模式之装饰器模式[Decorator]</title>
			<description><![CDATA[<p>&nbsp;&nbsp;<span style="color: rgb(255,0,0)"><span style="font-size: x-large"><strong>装饰器模式</strong></span></span>主要应用于这样一种场合，当你已经有了一个目标类，并且它是一个接口的实现类，在对该类使用的后期发现需要对相应接口程序的前后做更多的处理，这些处理是变化的，不固定的，但是有不能去修改这个目标类，这时我们就可以使用这个装饰器模式：</p>
<div>&nbsp;</div>
<div>比如，我们已经有一个付款的方法 payMoney(long count) ，这个方法只负责将钱付给对方，不做其他操作，但是这时我们需要记录下这个付款的操作，并把这个操作记录到日志文件中以方便日后的查看，比如这个方法叫做 insertLog(String str) ，有一种办法就是使用继承，并复写相应的 payMoney(long count) 方法，这样也可以满足条件，但是问题出来了，如果我们又有其他的操作，例如通知付款人已经将款额付出 notic(String username) ，这时候这么办，当然我们仍然可以通过继承来实现，可是如果我现在有不想将付款操作记录到日志文件中了，那我又该这么办？</div>
<div>&nbsp;</div>
<div>为了解决这种问</div>]]></description>
			<link>http://www.quke.cn/log-193.html</link>
		</item> 
		
		<item>
			<title>java实现给图片加水印</title>
			<description><![CDATA[<p>&nbsp;在处理商场的程序是，需要对产品的图片加上水印，以前没做过这方面的东西，今天特意查了下如何处理，在此做个记录。</p>
<pre><ol class="dp-j"><li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.awt.Color;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">import</span><span>&nbsp;java.awt.Font;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.awt.Graphics;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">import</span><span>&nbsp;java.awt.Image;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span></span></li></ol></pre>]]></description>
			<link>http://www.quke.cn/log-190.html</link>
		</item> 
		
		<item>
			<title>防止JAVA反编译的一些常用方法</title>
			<description><![CDATA[<p>&nbsp;<span class="Apple-style-span" style="font-family: 宋体; font-size: 12px; "><span class="Apple-style-span" style="font-size: 14px; line-height: 24px; ">由于<strong>Java</strong>字节码的抽象级别较高，因此它们较容易被反编译。下面介绍了几种常用的方法，用于保护Java字节码不被反编译。通常，这些方法不能够绝对防止程序被反编译，而是加大反编译的难度而已，因为这些方法都有自己的使用环境和弱点。</span> </span></p>
]]></description>
			<link>http://www.quke.cn/log-167.html</link>
		</item> 
		
		<item>
			<title>关于java的反编译</title>
			<description><![CDATA[<p>最近在参与一个项目，是在反编译一个其他已经成型的项目的基础上做的，因此也对反编译关心一下，看看网上都是怎么说的。<span class="Apple-style-span" style="font-family: Arial; font-size: 14px; line-height: 25px; white-space: pre;"> </span></p>
<blockquote>
<p>&nbsp;&nbsp;&nbsp; &nbsp; 如今JAVA语言在全世界范围正如火如荼般的流行，它广范地应用在INTERNET的数据库、多媒体、CGI、及动态网页的制作方面。1999年在美国对JAVA程序员的需求量首次超过C++！&nbsp;</p>
<p>&nbsp;　　作者因最近分析一些JAVA程序，对JAVA的反编译进行了一番了解，下面将我所了解的情况作以下介绍，希望对JAVA爱</p></blockquote>]]></description>
			<link>http://www.quke.cn/log-166.html</link>
		</item> 
		
		<item>
			<title>Eclipse没有自动编译及无法调试的问题。</title>
			<description><![CDATA[<p>1.今天使用MyEclipse在原有项目上做修改时发现无法进行调试，在添加断点时报错，如图：<img vspace="2" hspace="2" border="2" alt="" src="http://lh5.ggpht.com/quke.cn/SOxs7sx2gjI/AAAAAAAAAV8/rj7Brk3RD68/sd-081008081854.gif?imgmax=800" />；原来以为是因为这些类是反编译出来的，不允许调试之类的问题，后来仔细考虑了下这些java文件和普通的java文件是一样的啊，不应该由此问题。最后发现原来是编译后的class文件没有放在&quot;web\WEB-INF\classes&quot;下面，系统中使用的是原来的jar包中的class文件，此时报错无法调试。</p>
<p>2.无法自动编译的问题；eclipse是自行编译文件的，但是今天在修</p>]]></description>
			<link>http://www.quke.cn/log-165.html</link>
		</item> 
		
	</channel> 
</rss>
