﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;h1&gt;littleQ&lt;/h1&gt;-随笔分类-java</title><link>http://www.blogjava.net/littleq/category/33437.html</link><description>&lt;span style="color:pink"&gt;终于明白曾经他们失落的目光，当年的你们是否一样；间有懈怠或有颓放，难知多久方能补上；今起，不再彷徨！&lt;/span&gt;&lt;/br&gt;
&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
var pageTracker = _gat._getTracker("UA-5862437-1");
pageTracker._trackPageview();
&lt;/script&gt;</description><language>zh-cn</language><lastBuildDate>Sun, 19 Oct 2008 21:07:29 GMT</lastBuildDate><pubDate>Sun, 19 Oct 2008 21:07:29 GMT</pubDate><ttl>60</ttl><item><title>代码找茬--Spring的事务学习</title><link>http://www.blogjava.net/littleq/archive/2008/10/19/235313.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Sun, 19 Oct 2008 08:49:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/10/19/235313.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/235313.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/10/19/235313.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/235313.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/235313.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: 13px Verdana; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">关于Spring的事务学习，我觉得klyuan有一篇文章介绍的很不错：<a style="color: rgb(85,26,139)" href="http://www.javaeye.com/topic/78674">http://www.javaeye.com/topic/78674</a>。从这篇文章里，我弄清楚了脏读，幻读等概念。</span><br />
<br />
<span class="Apple-style-span" style="word-spacing: 0px; font: 13px Verdana; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">Spring的默认事务隔离级别<span style="line-height: 18px; font-family: Tahoma"><strong><font size="2">ISOLATION_DEFAULT<span class="Apple-converted-space">&nbsp;</span></font></strong></span><span style="line-height: 18px; font-family: Tahoma"><font size="2">是<strong><font size="2">ISOLATION_READ_COMMITTED<span class="Apple-converted-space">&nbsp;</span></font></strong><font size="2">提交读；默认事务传播行为是<span style="line-height: normal; font-family: Verdana"><span style="line-height: 18px; font-family: Tahoma"><strong><font size="2">PROPAGATION_REQUIRED，<span style="font-weight: normal"><font size="2">如果存在一个事务，则支持当前事务。如果没有事务则开启一个新的事务。</font></span></font></strong></span></span></font></font></span></span><br />
<br />
<span class="Apple-style-span" style="word-spacing: 0px; font: 13px/18px Tahoma; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">这里有个很有意思的事情，想和大家一起分享一下。</span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_12_85_Open_Image" onclick="this.style.display='none'; Codehighlighter1_12_85_Open_Text.style.display='none'; Codehighlighter1_12_85_Closed_Image.style.display='inline'; Codehighlighter1_12_85_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_12_85_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_12_85_Closed_Text.style.display='none'; Codehighlighter1_12_85_Open_Image.style.display='inline'; Codehighlighter1_12_85_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">Class&nbsp;Sample</span><span id="Codehighlighter1_12_85_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_12_85_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">setters&nbsp;and&nbsp;getters</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /></span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_96_166_Open_Image" onclick="this.style.display='none'; Codehighlighter1_96_166_Open_Text.style.display='none'; Codehighlighter1_96_166_Closed_Image.style.display='inline'; Codehighlighter1_96_166_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_96_166_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_96_166_Closed_Text.style.display='none'; Codehighlighter1_96_166_Open_Image.style.display='inline'; Codehighlighter1_96_166_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />Class&nbsp;A&nbsp;</span><span id="Codehighlighter1_96_166_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_96_166_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_138_164_Open_Image" onclick="this.style.display='none'; Codehighlighter1_138_164_Open_Text.style.display='none'; Codehighlighter1_138_164_Closed_Image.style.display='inline'; Codehighlighter1_138_164_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_138_164_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_138_164_Closed_Text.style.display='none'; Codehighlighter1_138_164_Open_Image.style.display='inline'; Codehighlighter1_138_164_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;functionA(Sample&nbsp;sample)</span><span id="Codehighlighter1_138_164_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_138_164_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">事务处理，更新sample</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_177_263_Open_Image" onclick="this.style.display='none'; Codehighlighter1_177_263_Open_Text.style.display='none'; Codehighlighter1_177_263_Closed_Image.style.display='inline'; Codehighlighter1_177_263_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_177_263_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_177_263_Closed_Text.style.display='none'; Codehighlighter1_177_263_Open_Image.style.display='inline'; Codehighlighter1_177_263_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;B&nbsp;</span><span id="Codehighlighter1_177_263_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_177_263_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_218_261_Open_Image" onclick="this.style.display='none'; Codehighlighter1_218_261_Open_Text.style.display='none'; Codehighlighter1_218_261_Closed_Image.style.display='inline'; Codehighlighter1_218_261_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_218_261_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_218_261_Closed_Text.style.display='none'; Codehighlighter1_218_261_Open_Image.style.display='inline'; Codehighlighter1_218_261_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;functionB(List&nbsp;samples)</span><span id="Codehighlighter1_218_261_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_218_261_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">事务处理，遍历samples，调用A的functionA方法</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<br />
<span class="Apple-style-span" style="word-spacing: 0px; font: 13px Verdana; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">代码我就不详细的写出来了，大致的意思大家也应该能看明白，事务的隔离级别和传播行为都是默认的。调用B的functionB方法，大家觉得会出现什么问题？<br />
<br />
--EOF--<br />
<a href="http://www.amazon.cn/mn/detailApp?qid=1224418836&amp;ref=SR&amp;sr=13-2&amp;uid=168-1011418-4414639&amp;prodid=bkbk855545&amp;source=zhenlan" target="_blank">Spring in action 第二版<br />
</a>转自我的javaeye：<font face="Verdana">http://littlez.javaeye.com/admin/blogs/254980</font></span> 
<img src ="http://www.blogjava.net/littleq/aggbug/235313.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-10-19 16:49 <a href="http://www.blogjava.net/littleq/archive/2008/10/19/235313.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS实现div自动滚动</title><link>http://www.blogjava.net/littleq/archive/2008/10/07/232903.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Tue, 07 Oct 2008 05:45:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/10/07/232903.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/232903.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/10/07/232903.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/232903.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/232903.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt">用JS实现div的自动滚动。代码如下：<br />
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&lt;</span><span style="color: #000000">div&nbsp;id</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">show</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;style</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">overflow:hidden;height:210px;</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">div</span><span style="color: #000000">&gt;</span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_116_849_Open_Image" onclick="this.style.display='none'; Codehighlighter1_116_849_Open_Text.style.display='none'; Codehighlighter1_116_849_Closed_Image.style.display='inline'; Codehighlighter1_116_849_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_116_849_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_116_849_Closed_Text.style.display='none'; Codehighlighter1_116_849_Open_Image.style.display='inline'; Codehighlighter1_116_849_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;startmarquee(lh,speed,delay)</span><span id="Codehighlighter1_116_849_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span><span id="Codehighlighter1_116_849_Open_Text"><span style="font-size: 10pt"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;t;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_160_173_Open_Image" onclick="this.style.display='none'; Codehighlighter1_160_173_Open_Text.style.display='none'; Codehighlighter1_160_173_Closed_Image.style.display='inline'; Codehighlighter1_160_173_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_160_173_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_160_173_Closed_Text.style.display='none'; Codehighlighter1_160_173_Open_Image.style.display='inline'; Codehighlighter1_160_173_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;oHeight&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">210</span><span style="color: #000000">;&nbsp;</span><span id="Codehighlighter1_160_173_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_160_173_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000">*&nbsp;div的高度&nbsp;*</span><span style="color: #008000">*/</span></span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;p</span><span style="color: #000000">=</span><span style="color: #0000ff">false</span></span><span style="font-size: 10pt"><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;o</span><span style="color: #000000">=</span><span style="color: #000000">document.getElementById(</span><span style="color: #000000">"</span><span style="color: #000000">show</span><span style="color: #000000">"</span></span><span style="font-size: 10pt"><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;preTop&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span></span><span style="font-size: 10pt"><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;o.scrollTop&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span></span><span style="font-size: 10pt"><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img id="Codehighlighter1_312_396_Open_Image" onclick="this.style.display='none'; Codehighlighter1_312_396_Open_Text.style.display='none'; Codehighlighter1_312_396_Closed_Image.style.display='inline'; Codehighlighter1_312_396_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_312_396_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_312_396_Closed_Text.style.display='none'; Codehighlighter1_312_396_Open_Image.style.display='inline'; Codehighlighter1_312_396_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;start()</span><span id="Codehighlighter1_312_396_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span><span id="Codehighlighter1_312_396_Open_Text"><span style="font-size: 10pt"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t</span><span style="color: #000000">=</span></span><span style="font-size: 10pt"><span style="color: #000000">setInterval(scrolling,speed);&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.scrollTop&nbsp;</span><span style="color: #000000">+=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span></span><span style="font-size: 10pt"><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_426_810_Open_Image" onclick="this.style.display='none'; Codehighlighter1_426_810_Open_Text.style.display='none'; Codehighlighter1_426_810_Closed_Image.style.display='inline'; Codehighlighter1_426_810_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_426_810_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_426_810_Closed_Text.style.display='none'; Codehighlighter1_426_810_Open_Image.style.display='inline'; Codehighlighter1_426_810_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;scrolling()</span><span id="Codehighlighter1_426_810_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span><span id="Codehighlighter1_426_810_Open_Text"><span style="font-size: 10pt"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img id="Codehighlighter1_506_708_Open_Image" onclick="this.style.display='none'; Codehighlighter1_506_708_Open_Text.style.display='none'; Codehighlighter1_506_708_Closed_Image.style.display='inline'; Codehighlighter1_506_708_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_506_708_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_506_708_Closed_Text.style.display='none'; Codehighlighter1_506_708_Open_Image.style.display='inline'; Codehighlighter1_506_708_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(o.scrollTop</span><span style="color: #000000">%</span><span style="color: #000000">lh</span><span style="color: #000000">!=</span><span style="color: #000000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;o.scrollTop</span><span style="color: #000000">%</span><span style="color: #000000">(o.scrollHeight</span><span style="color: #000000">-</span><span style="color: #000000">oHeight</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">)</span><span style="color: #000000">!=</span><span style="color: #000000">0</span><span style="color: #000000">)</span><span id="Codehighlighter1_506_708_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span><span id="Codehighlighter1_506_708_Open_Text"><span style="font-size: 10pt"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;preTop&nbsp;</span><span style="color: #000000">=</span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;o.scrollTop;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.scrollTop</span><span style="color: #000000">+=</span><span style="color: #000000">1</span></span><span style="font-size: 10pt"><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img id="Codehighlighter1_642_695_Open_Image" onclick="this.style.display='none'; Codehighlighter1_642_695_Open_Text.style.display='none'; Codehighlighter1_642_695_Closed_Image.style.display='inline'; Codehighlighter1_642_695_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_642_695_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_642_695_Closed_Text.style.display='none'; Codehighlighter1_642_695_Open_Image.style.display='inline'; Codehighlighter1_642_695_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(preTop&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;o.scrollHeight&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;preTop</span><span style="color: #000000">==</span><span style="color: #000000">o.scrollTop)</span><span id="Codehighlighter1_642_695_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span><span id="Codehighlighter1_642_695_Open_Text"><span style="font-size: 10pt"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.scrollTop&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span></span><span style="font-size: 10pt"><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img id="Codehighlighter1_713_801_Open_Image" onclick="this.style.display='none'; Codehighlighter1_713_801_Open_Text.style.display='none'; Codehighlighter1_713_801_Closed_Image.style.display='inline'; Codehighlighter1_713_801_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_713_801_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_713_801_Closed_Text.style.display='none'; Codehighlighter1_713_801_Open_Image.style.display='inline'; Codehighlighter1_713_801_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span><span style="font-size: 10pt"><span style="color: #0000ff">else</span><span id="Codehighlighter1_713_801_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span><span id="Codehighlighter1_713_801_Open_Text"><span style="font-size: 10pt"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">23</span></span><span style="font-size: 10pt"><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clearInterval(t);&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">24</span></span><span style="font-size: 10pt"><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setTimeout(start,delay);&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">27</span></span><span style="font-size: 10pt"><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;setTimeout(start,delay);&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />startmarquee(</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">1500</span></span><span style="font-size: 10pt"><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img id="Codehighlighter1_885_919_Open_Image" onclick="this.style.display='none'; Codehighlighter1_885_919_Open_Text.style.display='none'; Codehighlighter1_885_919_Closed_Image.style.display='inline'; Codehighlighter1_885_919_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_885_919_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_885_919_Closed_Text.style.display='none'; Codehighlighter1_885_919_Open_Image.style.display='inline'; Codehighlighter1_885_919_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_885_919_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_885_919_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000">*startmarquee(一次滚动高度,速度,停留时间);*</span><span style="color: #008000">*/</span></span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></span></div>
<br />
<span style="font-size: 10pt">推荐一本学习javascript的经典好书：<a style="color: #ff0000" href="http://www.amazon.cn/detail/product.asp?prodid=bkbk818450&amp;source=zhenlan" target="_blank">深入浅出JavaScript(图灵计算机科学丛书)</a></span>
<img src ="http://www.blogjava.net/littleq/aggbug/232903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-10-07 13:45 <a href="http://www.blogjava.net/littleq/archive/2008/10/07/232903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>回忆我的求职</title><link>http://www.blogjava.net/littleq/archive/2008/09/28/231667.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Sun, 28 Sep 2008 13:26:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/09/28/231667.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/231667.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/09/28/231667.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/231667.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/231667.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10pt">转眼又是国庆了，7天假期。还记得去年国庆的时候，正是大四学生忙着找工作的时候，校园招聘也逐渐进入高潮。那时候几个要好的兄弟，很多都是准备考研，也有好几个是考研和找工作两手都抓—我就是其中一个。这是一件很痛苦的事情，每天早上很早就去图书馆占位置，一个杯子，几本书，除了吃饭上厕所，就是把头埋在书里。遇到一家公司有宣讲会了，就会很痛苦的犹豫到底要不要去。我们学院在郊区，而宣讲会招聘会都是在市中心的本部校区。</span></p>
<p style="margin-bottom: 0cm"><span style="font-size: 10pt">不管是考研还是找工作，都要做好充足的准备，为了这些去看很多书。考研我就不多说了，因为在两者之间我最后还是选择了工作。</span></p>
<p style="margin-bottom: 0cm"><a name="NET_1521"></a><span style="font-size: 10pt"><span style="color: #333399"><span style="font-size: 10pt">&lt;&lt;</span><a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk373289&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">程序员面试宝典</span></a><span style="font-size: 10pt">&gt;&gt;</span></span></span><span style="font-size: 10pt"><span lang="zh-CN">和<span style="color: #333399"><span style="font-size: 10pt"><span lang="zh-CN">《</span></span><a href="http://www.amazon.cn/detail/product.asp?prodid=bkbk722985&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">java</a><span lang="zh-CN"><a href="http://www.amazon.cn/detail/product.asp?prodid=bkbk722985&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">程序员面试宝典</span></a></span></span><span lang="zh-CN"><span style="font-size: 10pt">》</span></span></span></span></span><span style="font-size: 10pt">：<span lang="zh-CN">前面这本主要收录的是</span>C<span lang="zh-CN">和</span>c++<span lang="zh-CN">的题目。</span>仔细看<span lang="zh-CN">完这两本，</span>基本能应付大部分C <span lang="zh-CN">，</span>C++<span lang="zh-CN">和</span>Java<span lang="zh-CN">的</span>笔试<span lang="zh-CN">题。</span></span></p>
<p style="margin-bottom: 0cm"><span style="font-size: 10pt">&lt;&lt;</span><a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk099784&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt; color: #181d2e">深入理解计算机系统</span></a><span style="font-size: 10pt">&gt;&gt;：<span lang="zh-CN">从程序员的角度看计算机系统，求职必备，考研也必备</span>。</span></p>
<p style="margin-bottom: 0cm"><span style="font-size: 10pt"><span lang="zh-CN">看完以上三本，</span>一般的IT公司基本都能搞定了。</span></p>
<p style="margin-bottom: 0cm"><span style="font-size: 10pt"><span style="color: #333399"><span style="font-size: 10pt">&lt;&lt;<a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk413385&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">C</a><a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk413385&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">语言程序设计</span></a></span></span><span style="font-size: 10pt">&gt;&gt;：</span></span></span><span style="font-size: 10pt"><span lang="zh-CN" style="color: #333399">薄归薄，可是人家是学习</span>C<span lang="zh-CN">语言的圣经，你也没办法。同样很薄很经典的书还有</span><span style="color: #333399"><span style="font-size: 10pt">&lt;&lt;</span><a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk237456&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">effective C++</span></a><span style="font-size: 10pt">&gt;&gt;<span lang="zh-CN">，</span>&lt;&lt;<span lang="zh-CN"><a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk153670&amp;source=zhenlan" target="_blank">编程珠玑</a></span>&gt;&gt;<span lang="zh-CN">，</span>&lt;&lt;</span><a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk199326&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">effective java</span></a><span style="font-size: 10pt">&gt;&gt;<span lang="zh-CN">。</span></span></span></span></p>
<p style="margin-bottom: 0cm"><span style="font-size: 10pt"><span style="color: #333399"><span style="font-size: 10pt">&lt;&lt;</span><a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk329876&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">UNIX</span></a><a href="http://www.amazon.cn/detail/product.asp?prodid=zjbk329876&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">环境高级编程</span></a><span style="font-size: 10pt">&gt;&gt;：</span></span></span><span style="font-size: 10pt">linux系统程序设计的杀手。</span></p>
<p style="margin-bottom: 0cm"><span style="font-size: 10pt"><span style="color: #333399"><span style="font-size: 10pt">&lt;&lt;</span><a href="http://www.amazon.cn/detail/product.asp?prodid=bkbk621206&amp;source=zhenlan" target="_blank"><span style="font-size: 10pt">算法导论</span></a><span style="font-size: 10pt">&gt;&gt;：</span></span></span><span style="font-size: 10pt"><span lang="zh-CN">这么闻名的书，还用介绍么？</span>这本书你买一本吧，不买对不起你学了多年计算机。<span lang="zh-CN">想去好的公司，算法一定不能落下，笔试就专考你算法，不会的话抓狂也没用。</span></span><span style="font-size: 10pt"><br />
</span><span lang="zh-CN"><span style="font-size: 10pt"><br />
除了两本面试宝典外，其他的书都是找完工作后，都能继续留在你书架上的书，当枕头，当砖头，垫笔记本，都应该留着。</span></span></p>
<p style="margin-bottom: 0cm"><span style="font-size: 10pt"><span lang="zh-CN">过了笔试关，还有面试关。这年头，面试可是过</span>N<span lang="zh-CN">关，斩</span>N<span lang="zh-CN">将的。一定要自信，没自信就已经歇菜一半了。不要小看那些面试官，他们面了那么多人，聊几句就基本能摸清你的底。千万要自信，唬住那些面试官。我进公司后，当时面我的主管对我说，我当时招你就欣赏你的自信。</span></span></p>
<p style="margin-bottom: 0cm"><span lang="zh-CN"><span style="font-size: 10pt">把面试当聊天，心态要好。不要我，大不了我继续回去考研呗！我当时就这么想的。没了压力，自然就放开了。</span></span></p>
<p style="margin-bottom: 0cm"><span style="font-size: 10pt"><span lang="zh-CN">求职的道路也许很漫长，也许也和我一样狗屎运好，只面了一家就能拿到心仪的</span>offer<span lang="zh-CN">。只是，在这个过程中，我们必须保持良好的心态，总会有一家好公司，给我们好</span>offer<span lang="zh-CN">。微笑，总是更容易让面试官记住你的名字。</span></span></p>
<img src ="http://www.blogjava.net/littleq/aggbug/231667.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-09-28 21:26 <a href="http://www.blogjava.net/littleq/archive/2008/09/28/231667.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>velocity的类型比较</title><link>http://www.blogjava.net/littleq/archive/2008/09/27/231423.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Sat, 27 Sep 2008 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/09/27/231423.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/231423.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/09/27/231423.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/231423.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/231423.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10pt">Velocity的比较本来很简单，只是它在比较基本类型的时候，不仅比较值是否相等，还会比较类型是否相同。<br />
拿个很简单的例子来说一下：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">VelocityContext&nbsp;context&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;VelocityContext();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">long</span><span style="color: #000000">&nbsp;aLong&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1234L</span></span><span style="font-size: 10pt"><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />context.put(</span><span style="color: #000000">"</span><span style="color: #000000">aLong</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;aLong);</span></span></div>
<p><span style="font-size: 10pt"><br />
在velocity页面里，进行一个比较：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000"><span style="font-size: 10pt">#if($!aLong==1234)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;类型比较成功<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#else<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;比较失败<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#end</span></span></div>
<p><span style="font-size: 10pt">页面肯定会打印出"比较失败".因为在velocity中获取的变量aLong是long类型，而数字1234是默认为int类型的。虽然值相等，可是类型不同。<br />
在velocity里，好像没有方法进行基础类型之间的强制转换，如果你知道的话，请回帖告诉我们。<br />
那现在问题摆在这里，我们想看到"类型比较成功"，应该怎么做呢？<br />
<br />
修改java代码，把变量aLong强制转换成int类型:</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">context.put(</span><span style="color: #000000">"</span><span style="color: #000000">aLong</span><span style="color: #000000">"</span><span style="color: #000000">,(</span><span style="color: #0000ff">int</span><span style="color: #000000">)aLong).</span></span></div>
<p><span style="font-size: 10pt"><br />
不过我不是很赞成这种做法，从long强制转换成int类型，很容易造成精度丢失。<br />
还有一种比较直接的方法，不修改java代码，直接修改vm文件：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000"><span style="font-size: 10pt">#if("$!aLong"=="1234")<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;类型比较成功<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#else<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;比较失败<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#end</span></span></div>
<p><span style="font-size: 10pt"><br />
把两边都变成了String类型，就不会出现类型比较失败的情况了。<br />
认识比较肤浅表面，还希望大家多指点一下。</span></p>
<img src ="http://www.blogjava.net/littleq/aggbug/231423.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-09-27 10:08 <a href="http://www.blogjava.net/littleq/archive/2008/09/27/231423.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分享两个简单的页面开发技巧</title><link>http://www.blogjava.net/littleq/archive/2008/09/25/231106.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Thu, 25 Sep 2008 06:48:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/09/25/231106.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/231106.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/09/25/231106.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/231106.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/231106.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt">1.td的折断换行显示<br />
比如现在有&lt;td style="width:30px"&gt;abcdabcdabcdabcdabcd&lt;/td&gt;，由于是英文，是不会自动折断换行的。当然你强制的写成&lt;td style="width:30px"&gt;abcdabc&lt;/br&gt;dabcdabcdabcd&lt;/td&gt;的话&#8230;&#8230;<br />
这时候，你就需要word-wrap:break-word;word-break:break-all;<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">style</span><span style="color: #0000ff">="width:30px;word-wrap:break-word;word-break:break-all;"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">abcdabcdabcdabcdabcd</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span></div>
搞定。<br />
<br />
2.table的row颜色交替显示<br />
这个有很多方法，用js控制，css控制，很多很多方法，google一下一大把。我常用的就是一句话：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_15_105_Open_Image" onclick="this.style.display='none'; Codehighlighter1_15_105_Open_Text.style.display='none'; Codehighlighter1_15_105_Closed_Image.style.display='inline'; Codehighlighter1_15_105_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_15_105_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_15_105_Closed_Text.style.display='none'; Codehighlighter1_15_105_Open_Image.style.display='inline'; Codehighlighter1_15_105_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #800000">TABLE.result&nbsp;TR</span><span id="Codehighlighter1_15_105_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">{<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />}</span><span id="Codehighlighter1_15_105_Open_Text"><span style="color: #000000">{</span><span style="color: #ff0000">background-color</span><span style="color: #000000">:</span><span style="color: #0000ff">expression((this.sectionRowIndex%2==0)?"#B1D7E3":"#E3F2FE")</span><span style="color: #000000">;</span><span style="color: #ff0000">height</span><span style="color: #000000">:</span><span style="color: #0000ff">23px</span><span style="color: #000000">;</span><span style="color: #000000">}</span></span></div>
指定table的class即可。</span>
  <img src ="http://www.blogjava.net/littleq/aggbug/231106.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-09-25 14:48 <a href="http://www.blogjava.net/littleq/archive/2008/09/25/231106.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;精通正则表达式&gt;</title><link>http://www.blogjava.net/littleq/archive/2008/08/24/223948.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Sun, 24 Aug 2008 00:42:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/08/24/223948.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/223948.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/08/24/223948.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/223948.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/223948.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt"><img style="width: 207px; height: 271px" height="271" alt="" src="http://www.blogjava.net/images/blogjava_net/littleq/OReilly_Mastering_Regular_Expressions_3rd_Edition_Aug_2006.jpg" width="207" border="0" /><br />
在blogjava首页看到推荐这本书，正好我也在看这本书。那么就稍微说两句。<br />
本书是讲解正则表达式的经典之作。本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施，并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。<br />
不管是想入门，还是想找一本手册放在身边，我觉得这本书，都是上上之选。<br />
点击<a href="http://eacs02.eqifa.com/EUClick/ad_click.aspx?aMAC=45A815E400B7C7EDE574998F82293385A2F2D19A&amp;a_type=14&amp;a_id=9795&amp;b_id=21&amp;eu_id=id_544596&amp;tourl=http%3A%2F%2Fproduct.dangdang.com%2Fproduct.aspx%3Fproduct_id%3D20028613" target="_blank">购买这本书</a>。</span>
<img src ="http://www.blogjava.net/littleq/aggbug/223948.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-08-24 08:42 <a href="http://www.blogjava.net/littleq/archive/2008/08/24/223948.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>比较两个数组是否相同</title><link>http://www.blogjava.net/littleq/archive/2008/08/23/223913.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Sat, 23 Aug 2008 15:30:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/08/23/223913.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/223913.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/08/23/223913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/223913.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/223913.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10pt">有数组</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_31_48_Open_Image" onclick="this.style.display='none'; Codehighlighter1_31_48_Open_Text.style.display='none'; Codehighlighter1_31_48_Closed_Image.style.display='inline'; Codehighlighter1_31_48_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_31_48_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_31_48_Closed_Text.style.display='none'; Codehighlighter1_31_48_Open_Image.style.display='inline'; Codehighlighter1_31_48_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #000000">String[]&nbsp;arraysA&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String[]</span><span id="Codehighlighter1_31_48_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_31_48_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">"</span><span style="color: #000000">test1</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">test2</span><span style="color: #000000">"</span><span style="color: #000000">}</span></span><span style="color: #000000">;<br />
<img id="Codehighlighter1_82_99_Open_Image" onclick="this.style.display='none'; Codehighlighter1_82_99_Open_Text.style.display='none'; Codehighlighter1_82_99_Closed_Image.style.display='inline'; Codehighlighter1_82_99_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_82_99_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_82_99_Closed_Text.style.display='none'; Codehighlighter1_82_99_Open_Image.style.display='inline'; Codehighlighter1_82_99_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />String[]&nbsp;arraysB&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String[]</span><span id="Codehighlighter1_82_99_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_82_99_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">"</span><span style="color: #000000">test1</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">test2</span><span style="color: #000000">"</span><span style="color: #000000">}</span></span><span style="color: #000000">;</span></div>
<p><br />
<span style="font-size: 10pt">如果直接使用 == 来判断两者是否相同：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">if</span><span style="color: #000000">(arraysA&nbsp;</span><span style="color: #000000">==</span></span><span style="font-size: 10pt"><span style="color: #000000">&nbsp;arraysB)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">equals</span><span style="color: #000000">"</span></span><span style="font-size: 10pt"><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">else</span></span><span style="color: #000000"><br />
<span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span></span><span style="font-size: 10pt"><span style="color: #000000">"</span><span style="color: #000000">not&nbsp;equals</span><span style="color: #000000">"</span><span style="color: #000000">);</span></span></div>
<p><span style="font-size: 10pt">结果会是：not equals<br />
<br />
而使用equals：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">if</span></span><span style="font-size: 10pt"><span style="color: #000000">(arraysA.equals(arraysB))<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">equals</span><span style="color: #000000">"</span></span><span style="font-size: 10pt"><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">else</span></span><span style="color: #000000"><br />
<span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span></span><span style="font-size: 10pt"><span style="color: #000000">"</span><span style="color: #000000">not&nbsp;equals</span><span style="color: #000000">"</span><span style="color: #000000">);</span></span></div>
<p style="font-size: 10pt"><span style="font-size: 10pt">结果也是：not equals<br />
<br />
数组的比较，应该是使用java.util.Arrays</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">if</span></span><span style="font-size: 10pt"><span style="color: #000000">(Arrays.equals(arraysA,&nbsp;arraysB))<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">equals</span><span style="color: #000000">"</span></span><span style="font-size: 10pt"><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">else</span></span><span style="color: #000000"><br />
<span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span></span><span style="font-size: 10pt"><span style="color: #000000">"</span><span style="color: #000000">not&nbsp;equals</span><span style="color: #000000">"</span><span style="color: #000000">);</span></span></div>
<p><span style="font-size: 10pt">结果为：equals<br />
<br />
Arrays.equals的参数可以是任意类型的数组。具体见：</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Arrays.html"><span style="font-size: 10pt">http://java.sun.com/j2se/1.5.0/docs/api/java/util/Arrays.html</span></a><br />
</p>
<img src ="http://www.blogjava.net/littleq/aggbug/223913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-08-23 23:30 <a href="http://www.blogjava.net/littleq/archive/2008/08/23/223913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DWR简单指南</title><link>http://www.blogjava.net/littleq/archive/2008/08/23/223909.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Sat, 23 Aug 2008 15:06:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/08/23/223909.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/223909.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/08/23/223909.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/223909.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/223909.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10pt"><span style="font-size: 10pt">from: <a href="http://littlez.javaeye.com/blog/231133" target="_blank">http://littlez.javaeye.com/blog/231133</a></p>
<p>dwr可以让我们在浏览器中使用javascript调用服务器端的java代码。<br />
dwr主要包括两部分：<br />
运行在客户端的js代码发送请求到服务器端；<br />
服务器端的dwr servlet处理请求，并将结果和数据返回到客户端。<br />
有一张关于dwr很精确的图：</p>
<p><img height="281" alt="" src="http://wiki.javascud.org/download/attachments/4719/dwrworks.png" width="521" border="0" /><br />
</p>
<p>DWR简单配置：<br />
1.首先<a href="http://directwebremoting.org/dwr/download">dwr.jar</a>是必须的。下载后放在/WEB-INF/lib目录下。<br />
</p>
<p>2.在/WEB-INF/目录下，增加一个dwr.xml文件。格式如下：&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;<span style="color: #800000">dwr</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">allow</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">create&nbsp;</span><span style="color: #ff0000">creator</span><span style="color: #0000ff">="new"</span><span style="color: #ff0000">&nbsp;javascript</span><span style="color: #0000ff">="JDate"</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">param&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="class"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="java.util.Date"</span><span style="color: #0000ff">/&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;/</span><span style="color: #800000">create</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">create&nbsp;</span><span style="color: #ff0000">creator</span><span style="color: #0000ff">="spring"</span><span style="color: #ff0000">&nbsp;javascript</span><span style="color: #0000ff">="winnerService"</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">param&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="beanName"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="dwrWinnerService"</span><span style="color: #0000ff">/&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;/</span><span style="color: #800000">create</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;/</span><span style="color: #800000">allow</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;/</span><span style="color: #800000">dwr</span><span style="color: #0000ff">&gt;</span></span></div>
<p>根节点是dwr，我在第一次配置这个dwr.xml的时候，忽略掉了，根结点直接就是allow，然后就一直报错，很脑残的错误。所以在这里也稍微提醒一下。<br />
create的creator属性常用的为new和spring。new就是每次调用的时候，都会实例化一个新的对象来处理请求；spring就是从Spring的配置文件中取得bean。<br />
以JDate为例，javascript属性是DWR动态为服务器端的Date类(java)生成一个相应的客户端JDate类(Javascript)。JDate可以使用Date的所有public方法。<br />
<br />
3. 配好了dwr.xml，接下来配置/WEB-INF/web.xml。我们需要在web.xml中增加如下&lt;servlet&gt;和&lt;servlet-mapping&gt;:&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;<span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">dwr-invoker</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">display-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">DWR&nbsp;Servlet</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">display-name</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">uk.ltd.getahead.dwr.DWRServlet</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">debug</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">true</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;<span style="color: #0000ff">&lt;/</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">dwr-invoker</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;<span style="color: #0000ff">&lt;</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/dwr/*</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">&gt;</span></span></div>
<p>这个servlet就是用来处理dwr发送的请求。</p>
<p>&nbsp;<br />
4. dwr访问<br />
这时候，如果你已经在本地启动了你的应用(假设是在tomcat中)，可以访问如下URL：</p>
<p><span style="color: #003366">http://localhost:8080/[YOUR-APP-NAME]/dwr</span></p>
<p>你会看到在dwr.xml配置的两个类.点击JDate,可以看到所有可以调用的方法,并且可以点击,在按钮的右边看到点击的反馈.<br />
在这个页面的上方,你还会看到如下代码:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;<span style="color: #800000">script&nbsp;</span><span style="color: #ff0000">src</span></span><span style="color: #0000ff">='/[YOUR-APP-NAME]/dwr/interface/JDate.js'&gt;&lt;/script&gt;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #ff0000">&lt;script&nbsp;src</span><span style="color: #0000ff">='/[YOUR-APP-NAME]/dwr/engine.js'&gt;&lt;/script&gt;&nbsp;&nbsp;</span></span></div>
<p>当你的页面需要使用JDate时，就必须把上面的script代码片段放到你的页面中。<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;<span style="color: #800000">script&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text/javascript"</span><span style="color: #0000ff">&gt;</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;JDate.toString({&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callback:&nbsp;function(str)&nbsp;{&nbsp;alert(str);&nbsp;}&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span></span></div>
<p>我们就可以使用JDate了. <br />
这里主要是为了介绍一下dwr最基本的使用,那么dwr的一些其他能力,比如超时处理和错误处理,就不在这里说了.</p>
</span></span>
<img src ="http://www.blogjava.net/littleq/aggbug/223909.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-08-23 23:06 <a href="http://www.blogjava.net/littleq/archive/2008/08/23/223909.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS验证中文长度</title><link>http://www.blogjava.net/littleq/archive/2008/08/12/221516.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Tue, 12 Aug 2008 07:52:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/08/12/221516.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/221516.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/08/12/221516.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/221516.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/221516.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt">在js里，一个中文字符的length是1，但是提交到数据库中，就占了两个字节，验证误差，直接抛异常。<br />
如果一个字段在oracle里是varchar2(64)，如果录入33个汉字，用length的话是33，但是到oracle里就是66个字节了，插入操作肯定出错。<br />
我们可以定义一个新的函数getBytes()取得字符串的字节数，在java里，这个函数是标准函数。<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_39_159_Open_Image" onclick="this.style.display='none'; Codehighlighter1_39_159_Open_Text.style.display='none'; Codehighlighter1_39_159_Closed_Image.style.display='inline'; Codehighlighter1_39_159_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_39_159_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_39_159_Closed_Text.style.display='none'; Codehighlighter1_39_159_Open_Image.style.display='inline'; Codehighlighter1_39_159_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #000000">String.prototype.getBytes&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">()&nbsp;</span><span id="Codehighlighter1_39_159_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_39_159_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;cArr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.match(</span><span style="color: #000000">/</span><span style="color: #000000">[</span><span style="color: #000000">^</span><span style="color: #000000">\x00</span><span style="color: #000000">-</span><span style="color: #000000">\xff]</span><span style="color: #000000">/</span><span style="color: #000000">ig);&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.length&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;(cArr&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">&nbsp;:&nbsp;cArr.length);&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_186_282_Open_Image" onclick="this.style.display='none'; Codehighlighter1_186_282_Open_Text.style.display='none'; Codehighlighter1_186_282_Closed_Image.style.display='inline'; Codehighlighter1_186_282_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_186_282_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_186_282_Closed_Text.style.display='none'; Codehighlighter1_186_282_Open_Image.style.display='inline'; Codehighlighter1_186_282_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;paramCheck(cur)</span><span id="Codehighlighter1_186_282_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_186_282_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_221_263_Open_Image" onclick="this.style.display='none'; Codehighlighter1_221_263_Open_Text.style.display='none'; Codehighlighter1_221_263_Closed_Image.style.display='inline'; Codehighlighter1_221_263_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_221_263_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_221_263_Closed_Text.style.display='none'; Codehighlighter1_221_263_Open_Image.style.display='inline'; Codehighlighter1_221_263_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(cur.value.getBytes()&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">64</span><span style="color: #000000">)</span><span id="Codehighlighter1_221_263_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_221_263_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000">"</span><span style="color: #000000">字符超过64个字符</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
getBytes用正则表达式来判断字符串中包含汉字的个数，包含的汉字都放到数组cArr中，这样cArr的长度就是汉字的总数。getBytes方法返回length加上汉字数，就是总的字节数。<br />
只是使用了[^\x00-\xff]，这个有点恶心，有些特殊字符也是能匹配到的，比如}等。<br />
但是如果使用[^\u4E00-\u9FA5]的话，却不能匹配到中文&#8230;&#8230;<br />
<br />
</span>
<img src ="http://www.blogjava.net/littleq/aggbug/221516.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-08-12 15:52 <a href="http://www.blogjava.net/littleq/archive/2008/08/12/221516.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>做一回广告</title><link>http://www.blogjava.net/littleq/archive/2008/08/11/221280.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Mon, 11 Aug 2008 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/08/11/221280.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/221280.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/08/11/221280.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/221280.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/221280.html</trackback:ping><description><![CDATA[<a title="java并发编程实践" href="http://eacs02.eqifa.com/EUClick/ad_click.aspx?aMAC=09DEDDA0B2264472260C7FBAC9810B94D8A3730F&amp;a_type=13&amp;a_id=9795&amp;b_id=619&amp;eu_id=id_544596&amp;tourl=http%3A%2F%2Fwww.amazon.cn%2Fmn%2FdetailApp%3Fqid%3D1218435004%26ref%3DSR%26sr%3D13-1%26uid%3D168-2294410-3857844%26prodid%3Dzjbk581309" target="_blank"><span style="font-size: 10pt"><img height="200" alt="" src="http://www.blogjava.net/images/blogjava_net/littleq/md_7121043165001.jpg" width="154" border="0" /></span></a><br />
<span style="font-size: 10pt">在javaeye上看到有人推荐这本《java并发编程实践》，正好又听我们公司的一个同事说起，说这本的确不错。<br />
<br />
作为一名java开发人员，尤其是j2ee开发，并发的处理是大头。<br />
<br />
附书评：<br />
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-size: 10pt"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000"><span style="font-size: 10pt">Sun社区线程指导区推荐读物之一（当然是推荐的英文版）。书写的循序渐进，实例丰富。这次博文的中文版翻译质量较好，还没有全部看完，但已经开始对几个做java的朋友推荐了&nbsp;:)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Java&nbsp;currency&nbsp;framework是java&nbsp;5新加入的，但感觉了解的人不多，多数人还是自己写线程池，队列。这个框架其实已经融入到Java里面，学会使用这个框架能让多线程程序的编写事半功倍。另外对其他语言的多线程编程也会有所启发。现在国内能买到的详细解释这个框架的书不多，这本书算是现阶段的精品了。</span></span></div>
<img src ="http://www.blogjava.net/littleq/aggbug/221280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-08-11 14:24 <a href="http://www.blogjava.net/littleq/archive/2008/08/11/221280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Getting Started with Induction-翻译(1)</title><link>http://www.blogjava.net/littleq/archive/2008/07/30/218846.html</link><dc:creator>littleQ</dc:creator><author>littleQ</author><pubDate>Wed, 30 Jul 2008 14:16:00 GMT</pubDate><guid>http://www.blogjava.net/littleq/archive/2008/07/30/218846.html</guid><wfw:comment>http://www.blogjava.net/littleq/comments/218846.html</wfw:comment><comments>http://www.blogjava.net/littleq/archive/2008/07/30/218846.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/littleq/comments/commentRss/218846.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littleq/services/trackbacks/218846.html</trackback:ping><description><![CDATA[<div class="blog_content">
<p style="font-size: 10pt">欢迎使用Induction！Induction是使用java编程语言进行web应用开发的健壮高性能的框架。Induction属于基于请求的web框架，作为一个servlet部署在servlet容器中。Induction宣扬MVC的方法进行web应用开发。Induction的几个关键设计目标是： <br />
1.当modles，views和controllers发生变化时，消除对web应用程序必须重载的需求（我们相信一次简单的页面刷新就足够了） <br />
2.modles，views，controllers之间的绑定是声明式的，这种方式可以在任何IDE中都能被解析 <br />
3.使得数据跟踪在用户界面模板中可用（尤其是HTML模板） <br />
4.文件上传处理应该简单到很平凡的地步 <br />
5.在HTML表格中，数组（arrays）和字典类型（dictionary types ）的使用应该尽可能简单 <br />
6.明智的使用XML（在每个应用程序中，Induction只需要一个XML文件） <br />
7.是一种能够适应多种pattern应用的可扩充的架构 <br />
8.高性能 <br />
9.从JDK1.4到1.6都兼容（包括1.4和1.6） <br />
<br />
<span style="color: #8b0000">About this tutorial</span> <br />
这份指南的目的是让你更快的使用Induction。Induction需要一个servlet容器。在这份指南中，我们使用Apache的Tomcat，不过你可以选择使用任何服从标准的servlet容器。 <br />
<br />
<span style="color: #8b0000">Installing</span> <br />
我们假设你已经在c:/dev/Tomcat6安装了Tomcat6。Induction本身不需要任何的安装步骤，它的jar包可以很容易地引入到你的web应用程序中。 <br />
<br />
<span style="color: #8b0000">Writing our first application - hello world<br />
</span>在这份指南中，我们会写一个简单的"hello world"应用，在这个应用里我们会列举出Induction的许多重要概念。 <br />
<br />
<span style="color: #8b0000">Writing a controller</span> <br />
首先我们写一个controller作为我们指南的开始，因为controllers是web应用程序中一个典型的entry。好，现在让我们开始写一个controller，让它在浏览器中打印一串字符。</p>
<code>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;demoapp.helloworld1_app;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.acciente.induction.controller.Controller;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.acciente.induction.controller.Response;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.IOException;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_168_241_Open_Image" onclick="this.style.display='none'; Codehighlighter1_168_241_Open_Text.style.display='none'; Codehighlighter1_168_241_Closed_Image.style.display='inline'; Codehighlighter1_168_241_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_168_241_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_168_241_Closed_Text.style.display='none'; Codehighlighter1_168_241_Open_Image.style.display='inline'; Codehighlighter1_168_241_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_168_241_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_168_241_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;A&nbsp;very&nbsp;simple&nbsp;controller&nbsp;that&nbsp;does&nbsp;the&nbsp;customary&nbsp;"Hello&nbsp;World"<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;HelloWorldController&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Controller<br />
<img id="Codehighlighter1_299_494_Open_Image" onclick="this.style.display='none'; Codehighlighter1_299_494_Open_Text.style.display='none'; Codehighlighter1_299_494_Closed_Image.style.display='inline'; Codehighlighter1_299_494_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_299_494_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_299_494_Closed_Text.style.display='none'; Codehighlighter1_299_494_Open_Image.style.display='inline'; Codehighlighter1_299_494_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_299_494_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_299_494_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;handler(&nbsp;Response&nbsp;oReponse&nbsp;)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;IOException<br />
<img id="Codehighlighter1_367_492_Open_Image" onclick="this.style.display='none'; Codehighlighter1_367_492_Open_Text.style.display='none'; Codehighlighter1_367_492_Closed_Image.style.display='inline'; Codehighlighter1_367_492_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_367_492_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_367_492_Closed_Text.style.display='none'; Codehighlighter1_367_492_Open_Image.style.display='inline'; Codehighlighter1_367_492_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_367_492_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_367_492_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oReponse.setContentType(&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">text/plain</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oReponse.out().println(&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Hello&nbsp;World,&nbsp;using&nbsp;a&nbsp;simple&nbsp;println()</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000">&nbsp;</span></div>
<br />
在我们运行这个controller之前，先仔细的看一下。首先我们注意到HelloWorldController类实现了Induction的Controller，Controller接口只是一个简单的标记接口，没有定义任何方法给它的实现类。当Induction接收到一个request请求后，激活一个Controller实现，比如HelloWorldController类，Induction首先核实这个类是否是实现Controller接口。因此目前Controller接口的存在的唯一理由是安全（主要考虑到Controller接口的可配置性）。因为Controller只是一个标记性接口，所以handler方法并不是接口定义的。 <br />
<br />
接下来，我们可以看到handler方法有一个Response参数，Response类是继承javax.servlet.http.HttpServletResponse接口，并简单的对servlet容器的response对象进行了封装。Induction通过注入的方式，将参数Response值传给handler方法。一些能够作为handler参数的值，也是通过自动注入的方式，只要它们是遵循以下类型： <br />
<table border="0">
    <tbody>
        <tr>
            <td><strong>Type</strong> </td>
            <td><strong>Description</strong> </td>
        </tr>
        <tr>
            <td><tt>Request</tt> </td>
            <td>facade to the servlet request, extends javax.servlet.http.HttpServletRequest </td>
        </tr>
        <tr>
            <td><tt>Response</tt> </td>
            <td>facade to the servlet response, extends javax.servlet.http.HttpServletResponse </td>
        </tr>
        <tr>
            <td><tt>Form</tt> </td>
            <td>provides access to the HTML form (if any) submitted with this request </td>
        </tr>
        <tr>
            <td><tt>ControllerResolver.Resolution</tt> </td>
            <td>provides access to the controller resolution object (very useful for writing generic parameterized controllers) </td>
        </tr>
        <tr>
            <td><tt>model_class_name</tt> </td>
            <td>instance of a user provided model class, the instance is managed to conform to a user specified lifecycle </td>
        </tr>
    </tbody>
</table>
<br />
上面的类名是不完整的，Request, Response和Form类的更多信息，在package com.acciente.induction.controller中查看。
<p>&nbsp;</p>
<p>原文地址：<a href="http://www.inductionframework.org/getting-started-tutorial.html">http://www.inductionframework.org/getting-started-tutorial.html</a></p>
<p>先翻译一部分放上来，后面的会尽快贴出。</p>
<p>翻译的不通畅的地方，请见谅~</p>
</code></div>
 <img src ="http://www.blogjava.net/littleq/aggbug/218846.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littleq/" target="_blank">littleQ</a> 2008-07-30 22:16 <a href="http://www.blogjava.net/littleq/archive/2008/07/30/218846.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>