锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲无码一区二区三区,亚洲sm另类一区二区三区,亚洲精品无AMM毛片http://m.tkk7.com/chenlb/category/17678.html濂借鎬т笉濡傜儌絎斿ご!zh-cnSat, 24 May 2008 18:29:53 GMTSat, 24 May 2008 18:29:53 GMT60[鍘焆鑷繁瀹炵幇鐨勪紭鍏堥槦鍒?PriorityQueuehttp://m.tkk7.com/chenlb/archive/2008/05/08/199368.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Thu, 08 May 2008 15:08:00 GMThttp://m.tkk7.com/chenlb/archive/2008/05/08/199368.htmlhttp://m.tkk7.com/chenlb/comments/199368.htmlhttp://m.tkk7.com/chenlb/archive/2008/05/08/199368.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/199368.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/199368.html闃呰鍏ㄦ枃

]]>
logging 綰у埆http://m.tkk7.com/chenlb/archive/2008/04/11/192134.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Fri, 11 Apr 2008 03:50:00 GMThttp://m.tkk7.com/chenlb/archive/2008/04/11/192134.htmlhttp://m.tkk7.com/chenlb/comments/192134.htmlhttp://m.tkk7.com/chenlb/archive/2008/04/11/192134.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/192134.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/192134.htmljdk14鐨刲ogging榪樻湁鐐歸夯鐑?瑕佽鐩杍re/lib/logging.properties鐨勯厤緗?榪樿鍦ㄥ惎鍔ㄦ椂鍔?Djava.util.logging.config.file=mylogging.properties





java 1.4
鏃ュ織綰綍鍦?/span>java.util.logging.Level綾諱腑瀹氫箟浜嗕笅鍒楁棩蹇楃駭鍒父鏁?/span>
Ø          SERVER錛?/span>琛ㄧず涓涓弗閲嶅け璐ャ傚父甯稿皢鏈変竴涓即闅忕殑Throwable銆?/span>
Ø          CONFIG錛?/span>涓哄簲鐢ㄩ厤緗湡闂存墍鐢熸垚鐨勬秷鎭岃璁$殑銆?/span>
Ø          INFO錛?/span>涓瓑浼樺厛綰с傝〃紺轟竴涓瀯浠舵鍦ㄥ仛浠涔堬紙渚嬪錛岀洃瑙嗕竴欏逛換鍔$殑  榪愯榪涘害錛夛紝浣嗕笉鏄敤鏉ュ府鍔╄皟璇曡鏋勪歡銆?/span>
Ø          FINE錛?/span>璺熻釜淇℃伅銆傝綰у埆鍜岃緝浣庝紭鍏堢駭鐨勭駭鍒簲璇ョ敤鏉ュ府鍔╄皟璇曟煇浜涚被錛屼絾涓嶅簲璇ョ敤鏉ユ諱綋鐨勮鏄庤搴旂敤鐨勫伐浣滄柟寮忋?/span>
Ø          FINER錛?/span>璇︾粏鐨勮窡韙俊鎭?/span>
Ø          FINEST錛?/span>闈炲父璇︾粏鐨勮窡韙俊鎭?/span>
Log4j鍦?/span>綾諱腑瀹氫箟浜嗕笅鍒楁棩蹇楃駭鍒父鏁?/span>
Ø          FATAL錛?/span>琛ㄧず涓涓弗閲嶅け璐ャ傚鑷?/span>application鐨勪腑鏂?/span>
Ø          ERROR錛?/span>琛ㄧず涓涓敊璇簨浠躲傚彲浠ュ厑璁?/span>Application鍙互緇х畫榪愯銆?/span>
Ø          WARN錛?/span>琛ㄧず涓涓湁娼滃湪鐨勫嵄闄┿?/span>
Ø          INFO錛?/span>琛ㄧず涓涓瀯浠舵鍦ㄥ仛閲嶈榪愯鎯呭喌錛屼俊鎭瘮杈冪矖緋欍?/span>
Ø          DEBUG錛?/span>琛ㄧず涓涓瀯浠惰緇嗙殑榪愯鎯呭喌錛岀敤浜庤皟璇?/span>Application銆?/span>
Ø          ALL錛?/span>琛ㄧず綰綍鎵鏈夌駭鍒殑鏃ュ織淇℃伅銆?/span>
Common-logging鐨勬棩蹇楃駭鍒垎涓?/span>6縐嶏紝浠庝綆鍒伴珮鍒嗗埆涓?/span>trace錛?/span>debug錛?/span>info錛?/span>warn錛?/span>error錛?/span>fatal銆?/span>
Ø          FATAL錛?/span>琛ㄧず涓涓弗閲嶅け璐ャ傚鑷?/span>application鐨勪腑鏂?/span>
Ø          ERROR錛?/span>琛ㄧず涓涓敊璇簨浠躲傚彲浠ュ厑璁?/span>Application鍙互緇х畫榪愯銆?/span>
Ø          WARN錛?/span>琛ㄧず涓涓湁娼滃湪鐨勫嵄闄┿?/span>
Ø          INFO錛?/span>琛ㄧず涓涓瀯浠舵鍦ㄥ仛閲嶈榪愯鎯呭喌錛屼俊鎭瘮杈冪矖緋欍?/span>
Ø          DEBUG錛?/span>琛ㄧず涓涓瀯浠惰緇嗙殑榪愯鎯呭喌錛岀敤浜庤皟璇?/span>Application銆?/span>
Ø          TRACE錛?/span>闈炲父璇︾粏鐨勮窡韙俊鎭紝浠呬粎鐢ㄤ簬綰綍璇ユ棩蹇楄屽凡銆?br />








]]>
涓嬭澆鏂囦歡淇濆瓨鎻愮ず鏂囦歡鍚嶆樉紺轟腑鏂?/title><link>http://m.tkk7.com/chenlb/archive/2008/03/16/186609.html</link><dc:creator>嫻佹氮姹?/dc:creator><author>嫻佹氮姹?/author><pubDate>Sun, 16 Mar 2008 06:29:00 GMT</pubDate><guid>http://m.tkk7.com/chenlb/archive/2008/03/16/186609.html</guid><wfw:comment>http://m.tkk7.com/chenlb/comments/186609.html</wfw:comment><comments>http://m.tkk7.com/chenlb/archive/2008/03/16/186609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/chenlb/comments/commentRss/186609.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/chenlb/services/trackbacks/186609.html</trackback:ping><description><![CDATA[    鐢║RLEncoder杞崲銆?br /> <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"><span style="color: #000000">String filename </span><span style="color: #000000">=</span><span style="color: #000000"> URLEncoder.encode(</span><span style="color: #000000">"</span><span style="color: #000000">涓枃.zip</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">"</span><span style="color: #000000">UTF-8</span><span style="color: #000000">"</span><span style="color: #000000">);      <br /> response.addHeader(</span><span style="color: #000000">"</span><span style="color: #000000">Content-Disposition</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">attachment;filename=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">filename); </span></div> <img src ="http://m.tkk7.com/chenlb/aggbug/186609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/chenlb/" target="_blank">嫻佹氮姹?/a> 2008-03-16 14:29 <a href="http://m.tkk7.com/chenlb/archive/2008/03/16/186609.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>System.in閲嶅鎺ユ敹鐢ㄦ埛杈撳叆涓琛屽懡浠?/title><link>http://m.tkk7.com/chenlb/archive/2008/03/11/185490.html</link><dc:creator>嫻佹氮姹?/dc:creator><author>嫻佹氮姹?/author><pubDate>Tue, 11 Mar 2008 13:49:00 GMT</pubDate><guid>http://m.tkk7.com/chenlb/archive/2008/03/11/185490.html</guid><wfw:comment>http://m.tkk7.com/chenlb/comments/185490.html</wfw:comment><comments>http://m.tkk7.com/chenlb/archive/2008/03/11/185490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/chenlb/comments/commentRss/185490.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/chenlb/services/trackbacks/185490.html</trackback:ping><description><![CDATA[    浠ュ墠鎯崇敤寰幆鏉ystem.in (鎴栨槸鍏跺畠杈撳叆鏂瑰紡鑰佹槸杈句笉棰勬兂鐨勬晥鏋?絎竴嬈¤緭鍏ュ悗鍥炶濺,涓嶄細鎺ユ敹涓嬩竴嬈$敤鎴風殑杈撳叆)銆傚悗鏉ユ墠鍙戠幇readline() != null鎵嶈兘杈懼埌鏁堟灉銆?br /> <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"><span style="color: #0000ff">package</span><span style="color: #000000"> net.blogjava.chenlb;<br /> <br /> </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.BufferedReader;<br /> </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.IOException;<br /> </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.InputStreamReader;<br /> <br /> </span><span style="color: #008000">/**</span><span style="color: #008000"><br />  * 閲嶅鎺ユ敹鐢ㄦ埛杈撳叆涓琛屽懡浠?br />  * </span><span style="color: #808080">@author</span><span style="color: #008000"> chenlb 2008-3-11 涓嬪崍09:24:50<br />  </span><span style="color: #008000">*/</span><span style="color: #000000"><br /> </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> UserInput {<br /> <br />     <br />     </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> IOException {<br />         System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">璇存槑: 杈撳叆QUIT閫鍑?/span><span style="color: #000000">"</span><span style="color: #000000">);<br />         System.out.print(</span><span style="color: #000000">"</span><span style="color: #000000">\ninput></span><span style="color: #000000">"</span><span style="color: #000000">);<br />         String inputStr </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />         BufferedReader br </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BufferedReader(</span><span style="color: #0000ff">new</span><span style="color: #000000"> InputStreamReader(System.in));<br />         </span><span style="color: #0000ff">while</span><span style="color: #000000">((inputStr </span><span style="color: #000000">=</span><span style="color: #000000"> br.readLine()) </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">) {<br />             </span><span style="color: #0000ff">if</span><span style="color: #000000">(inputStr.equals(</span><span style="color: #000000">"</span><span style="color: #000000">QUIT</span><span style="color: #000000">"</span><span style="color: #000000">)) {<br />                 System.exit(</span><span style="color: #000000">0</span><span style="color: #000000">);<br />             }<br />             System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">浣犺緭鍏ョ殑鏄? </span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">inputStr);    </span><span style="color: #008000">//</span><span style="color: #008000">澶勭悊浣犵殑閫昏緫</span><span style="color: #008000"><br /> </span><span style="color: #000000">            System.out.print(</span><span style="color: #000000">"</span><span style="color: #000000">\ninput></span><span style="color: #000000">"</span><span style="color: #000000">);<br />         }<br /> <br />     }<br /> <br /> }<br /> </span></div> <img src ="http://m.tkk7.com/chenlb/aggbug/185490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/chenlb/" target="_blank">嫻佹氮姹?/a> 2008-03-11 21:49 <a href="http://m.tkk7.com/chenlb/archive/2008/03/11/185490.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Java璇籖TF涔辯爜闂http://m.tkk7.com/chenlb/archive/2008/02/01/178863.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Fri, 01 Feb 2008 09:05:00 GMThttp://m.tkk7.com/chenlb/archive/2008/02/01/178863.htmlhttp://m.tkk7.com/chenlb/comments/178863.htmlhttp://m.tkk7.com/chenlb/archive/2008/02/01/178863.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/178863.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/178863.html     騫稿ソ鎵懼埌 ANGEL SKY 鐨勫崥瀹€傜敤ISO8859_1緙栫爜杞崲銆?br />
浠g爜鐗囨柇錛?br />
String bodyText = null;
        DefaultStyledDocument styledDoc 
= new DefaultStyledDocument();    //javax.swing.text.Document鐨勪竴涓疄渚?/span>
        try {
            InputStream is 
= new FileInputStream(new File("data/java.swing.text璇籖TF鏂囨。嫻嬭瘯.rtf"));
            
new RTFEditorKit().read(is, styledDoc, 0);
            bodyText 
= new String(styledDoc.getText(0, styledDoc.getLength()).getBytes("ISO8859_1"));    //鎻愬彇鏂囨湰
        } catch (IOException e) {
            
throw new DocumentHandlerException("涓嶈兘浠嶳TF涓憳褰曟枃鏈?", e);
        } 
catch (BadLocationException e) {
            
throw new DocumentHandlerException("涓嶈兘浠嶳TF涓憳褰曟枃鏈?", e);
        }
        System.out.println(bodyText);


]]>
鐢熶駭鑰?娑堣垂鑰?/title><link>http://m.tkk7.com/chenlb/archive/2008/01/24/177452.html</link><dc:creator>嫻佹氮姹?/dc:creator><author>嫻佹氮姹?/author><pubDate>Thu, 24 Jan 2008 03:36:00 GMT</pubDate><guid>http://m.tkk7.com/chenlb/archive/2008/01/24/177452.html</guid><wfw:comment>http://m.tkk7.com/chenlb/comments/177452.html</wfw:comment><comments>http://m.tkk7.com/chenlb/archive/2008/01/24/177452.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/chenlb/comments/commentRss/177452.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/chenlb/services/trackbacks/177452.html</trackback:ping><description><![CDATA[    榪欏鏈燂紝搴旇仒鐨勬椂鍊欐湁涓浜涙槸綰跨▼鐩稿叧鐨勶紝铏界劧鑷繁瀵圭嚎紼嬬紪紼嬫湁鐐規蹇碉紝浣嗘病鏈夊啓榪囩粡鍏哥殑渚嬪瓙銆傛斁鍋囦簡鏈夌偣鏃跺欙紝灝辨兂鍐欏綰跨▼鐨勪緥瀛愩?br /> <br />     絎旇瘯鐨勯鐩被浼煎湴錛氫竴涓敓浜ц呬竴嬈$敓浜?0涓紝婊′簡鍚庨氱煡娑堣垂鑰咃紝鐒跺悗絳夊緟銆備竴涓秷璐硅呬駭鍝佹湁婊′簡灝辨秷璐廣傚埌絀烘椂閫氱煡鐢熶駭鑰咃紝鐒跺悗絳夊緟銆?br /> <br />     閭f椂瀵圭瓑寰?閫氱煡鏈哄埗娌℃庝箞鍐欒繃錛岄偅嬈$瑪璇曞簲璇ュ啓鐨勫ぇ姒傚錛堟兂娉曞錛夛紝浣嗗啓鐨剋ait()鍜宯otifyAll()鐨勪綅緗笉瀵廣傜幇鍦ㄦ湁鏃墮棿灝卞啓浜嗚繖涓緥瀛愩?br />     鎻忚堪錛氱敓浜ц呬竴嬈$敓浜涓駭鍝侊紝姹犱腑杈懼埌M灝辯瓑寰咃紝閫氱煡絳夊緟鐨勬秷璐硅呫傛秷璐硅呮湁浜у搧灝辨秷璐癸紝鍒版病鏈夋椂灝遍氱煡鐢熶駭鑰咃紝鐒跺悗絳夊緟銆?br /> <br /> 1.鐢熶駭鑰咃細<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" twffan="done"><span style="color: #0000ff" twffan="done">package</span><span style="color: #000000" twffan="done"> net.blogjava.chenlb.multithreaded;<br /> <br /> </span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done"> java.util.List;<br /> <br /> </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />  * </span><span style="color: #808080" twffan="done">@author</span><span style="color: #008000" twffan="done"> chenlb<br />  * <br />  * 鐢熶駭鑰?<br/><br />  * 榛樿浜у搧姹犲ぇ灝廙=20,浜у搧姊樁澶у皬N=5.鍦ㄧ敓浜ц繃紼嬩腑,姹犵殑澶у皬浼氳秴榪?0,浣嗘睜涓渶澶у簲璇ユ槸M+N-1.<br />  </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br /> </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">class</span><span style="color: #000000" twffan="done"> Producer </span><span style="color: #0000ff" twffan="done">implements</span><span style="color: #000000" twffan="done"> Runnable {<br /> <br />     </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />      * 姹犻粯璁ゅぇ灝?br />      </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">static</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">final</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> DEFALUT_SIZE </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">20</span><span style="color: #000000" twffan="done">;<br />     </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />      * 榛樿涓嬈$敓浜х殑鏁伴噺<br />      </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">static</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">final</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> DEFALUT_STEP_SIZE </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">5</span><span style="color: #000000" twffan="done">;<br />     <br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">static</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> PRODUCER_ID </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">0</span><span style="color: #000000" twffan="done">;    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">鐢熶駭鑰呭彿</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">    <br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> List</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">Product</span><span style="color: #000000" twffan="done">></span><span style="color: #000000" twffan="done"> pool </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">null</span><span style="color: #000000" twffan="done">;<br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> size </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> DEFALUT_SIZE;<br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> stepSize </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> DEFALUT_STEP_SIZE;<br />     <br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> String name </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">Producer_</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">(</span><span style="color: #000000" twffan="done">++</span><span style="color: #000000" twffan="done">PRODUCER_ID);    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">鐢熶駭鑰呭悕</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">    <br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">boolean</span><span style="color: #000000" twffan="done"> isRun </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">true</span><span style="color: #000000" twffan="done">;<br />     <br />     </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />      * 榛樿浜у搧姹犲ぇ灝?0, 榛樿浜у搧澧為暱姊樁澶у皬5<br />      </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> Producer(List</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">Product</span><span style="color: #000000" twffan="done">></span><span style="color: #000000" twffan="done"> pool) {<br />         </span><span style="color: #0000ff" twffan="done">this</span><span style="color: #000000" twffan="done">.pool </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> pool;<br />     }<br /> <br />     </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />      * </span><span style="color: #808080" twffan="done">@param</span><span style="color: #008000" twffan="done"> pool<br />      * </span><span style="color: #808080" twffan="done">@param</span><span style="color: #008000" twffan="done"> size 姹犲ぇ灝?br />      </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> Producer(List</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">Product</span><span style="color: #000000" twffan="done">></span><span style="color: #000000" twffan="done"> pool, </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> size) {<br />         </span><span style="color: #0000ff" twffan="done">this</span><span style="color: #000000" twffan="done">.pool </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> pool;<br />         </span><span style="color: #0000ff" twffan="done">this</span><span style="color: #000000" twffan="done">.size </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> size;<br />     }<br />     <br />     <br />     </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />      * </span><span style="color: #808080" twffan="done">@param</span><span style="color: #008000" twffan="done"> pool<br />      * </span><span style="color: #808080" twffan="done">@param</span><span style="color: #008000" twffan="done"> size 姹犲ぇ灝?br />      * </span><span style="color: #808080" twffan="done">@param</span><span style="color: #008000" twffan="done"> stepSize 涓嬈$敓浜у灝?br />      </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> Producer(List</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">Product</span><span style="color: #000000" twffan="done">></span><span style="color: #000000" twffan="done"> pool, </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> size, </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> stepSize) {<br />         </span><span style="color: #0000ff" twffan="done">this</span><span style="color: #000000" twffan="done">.pool </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> pool;<br />         </span><span style="color: #0000ff" twffan="done">this</span><span style="color: #000000" twffan="done">.size </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> size;<br />         </span><span style="color: #0000ff" twffan="done">this</span><span style="color: #000000" twffan="done">.stepSize </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> stepSize;<br />     }<br /> <br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">void</span><span style="color: #000000" twffan="done"> run() {<br />         </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done"> TODO 鐢熶駭鑰呯嚎紼?br />         </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">int pi = 0;</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">        </span><span style="color: #0000ff" twffan="done">while</span><span style="color: #000000" twffan="done">(isRun) {</span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">&& pi<10<br />             </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">pi++;</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">            </span><span style="color: #0000ff" twffan="done">synchronized</span><span style="color: #000000" twffan="done"> (pool) {    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">鍚屾浜у搧姹?/span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">                </span><span style="color: #0000ff" twffan="done">if</span><span style="color: #000000" twffan="done">(pool.size() </span><span style="color: #000000" twffan="done">>=</span><span style="color: #000000" twffan="done"> size) {<br />                     </span><span style="color: #0000ff" twffan="done">try</span><span style="color: #000000" twffan="done"> {<br />                         System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> 絳夊緟!</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />                         pool.wait();    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">鍚屾浠涔堝氨絳夊緟浠涔?鍚﹀垯鎶涘嚭java.lang.IllegalMonitorStateException</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">                    } </span><span style="color: #0000ff" twffan="done">catch</span><span style="color: #000000" twffan="done"> (InterruptedException e) {<br />                         isRun </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">false</span><span style="color: #000000" twffan="done">;<br />                         System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> thread interrupt!</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);                    <br />                     }<br />                 } </span><span style="color: #0000ff" twffan="done">else</span><span style="color: #000000" twffan="done"> {<br />                     <br />                     </span><span style="color: #0000ff" twffan="done">for</span><span style="color: #000000" twffan="done">(</span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> i</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">0</span><span style="color: #000000" twffan="done">; i</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">stepSize; i</span><span style="color: #000000" twffan="done">++</span><span style="color: #000000" twffan="done">) {    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">涓嬈$敓浜tepSize涓駭鍝?/span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">                        pool.add(product());    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">鐢熶駭浜у搧</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">                    }<br />                     System.out.println(</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">浜у搧姹犱腑鏈? </span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">pool.size());<br />                     pool.notifyAll();    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">閫氱煡絳夊緟鐨勭嚎紼?涓昏鐢ㄦ潵閫氱煡娑堣垂鑰? 浣嗙敓浜ц呯嚎紼嬩篃浼氶氱煡鍒?</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">                }<br />             }<br />             <br />             </span><span style="color: #0000ff" twffan="done">try</span><span style="color: #000000" twffan="done"> {<br />                 System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> 浼戞伅1縐?</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />                 Thread.sleep(</span><span style="color: #000000" twffan="done">1000</span><span style="color: #000000" twffan="done">);    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">璋冭瘯鐢?/span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">            } </span><span style="color: #0000ff" twffan="done">catch</span><span style="color: #000000" twffan="done"> (InterruptedException e) {<br />                 System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> sleep 1s thread interrupt</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />             }<br />         }<br />         System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> end! pool size: </span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">pool.size());<br />     }<br /> <br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">static</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> P_ID </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">0</span><span style="color: #000000" twffan="done">;<br />     </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />      * 鐢熶駭浜у搧<br />      * </span><span style="color: #808080" twffan="done">@return</span><span style="color: #008000" twffan="done"> 浜у搧<br />      </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> Product product() {<br />         String name </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">product_</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">(</span><span style="color: #000000" twffan="done">++</span><span style="color: #000000" twffan="done">P_ID);<br />         System.out.println(</span><span style="color: #0000ff" twffan="done">this</span><span style="color: #000000" twffan="done">.name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> 鐢熶駭浜? </span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">name);<br />         </span><span style="color: #0000ff" twffan="done">return</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Production(name);<br />     }<br />     <br /> }<br /> </span></div> <br /> <br /> 2.娑堣垂鑰咃細<br /> <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" twffan="done"><span style="color: #0000ff" twffan="done">package</span><span style="color: #000000" twffan="done"> net.blogjava.chenlb.multithreaded;<br /> <br /> </span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done"> java.util.List;<br /> <br /> </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />  * </span><span style="color: #808080" twffan="done">@author</span><span style="color: #008000" twffan="done"> chenlb<br />  * <br />  * 娑堣垂鑰?br />  </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br /> </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">class</span><span style="color: #000000" twffan="done"> Consumer </span><span style="color: #0000ff" twffan="done">implements</span><span style="color: #000000" twffan="done"> Runnable {<br /> <br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">static</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">int</span><span style="color: #000000" twffan="done"> C_ID </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">0</span><span style="color: #000000" twffan="done">;    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">娑堣垂鑰匢D</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">    <br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> List</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">Product</span><span style="color: #000000" twffan="done">></span><span style="color: #000000" twffan="done"> pool </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">null</span><span style="color: #000000" twffan="done">;<br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> String name </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">Consumer_</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">(</span><span style="color: #000000" twffan="done">++</span><span style="color: #000000" twffan="done">C_ID);<br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">boolean</span><span style="color: #000000" twffan="done"> isRun </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">true</span><span style="color: #000000" twffan="done">;<br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> Consumer(List</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">Product</span><span style="color: #000000" twffan="done">></span><span style="color: #000000" twffan="done"> pool) {<br />         </span><span style="color: #0000ff" twffan="done">this</span><span style="color: #000000" twffan="done">.pool </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> pool;<br />     }<br />     <br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">void</span><span style="color: #000000" twffan="done"> run() {<br />         </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done"> TODO 娑堣垂鑰呯嚎紼?br />         </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">int pi = 0;</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">        </span><span style="color: #0000ff" twffan="done">while</span><span style="color: #000000" twffan="done">(isRun) {</span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">&& pi<10<br />             </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">pi++;</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">            </span><span style="color: #0000ff" twffan="done">synchronized</span><span style="color: #000000" twffan="done"> (pool) {<br />                 </span><span style="color: #0000ff" twffan="done">if</span><span style="color: #000000" twffan="done">(pool.size() </span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done"> </span><span style="color: #000000" twffan="done">1</span><span style="color: #000000" twffan="done">) {<br />                     </span><span style="color: #0000ff" twffan="done">try</span><span style="color: #000000" twffan="done"> {<br />                         System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> 絳夊緟!</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />                         pool.notifyAll();    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">閫氱煡綰跨▼(涓昏鏄敓浜ц?浣嗕篃浼氶氱煡鍒扮敓浜ц呯嚎紼?</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">                        pool.wait();<br />                     } </span><span style="color: #0000ff" twffan="done">catch</span><span style="color: #000000" twffan="done"> (InterruptedException e) {<br />                         isRun </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">false</span><span style="color: #000000" twffan="done">;<br />                         System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> thread interrupt!</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />                     }<br />                 } </span><span style="color: #0000ff" twffan="done">else</span><span style="color: #000000" twffan="done"> {<br />                     Product p </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> pool.remove(</span><span style="color: #000000" twffan="done">0</span><span style="color: #000000" twffan="done">);    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">娑堣垂</span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">                    printProduct(p);<br />                     <br />                 }<br />             }<br />             </span><span style="color: #0000ff" twffan="done">try</span><span style="color: #000000" twffan="done"> {<br />                 Thread.sleep(</span><span style="color: #000000" twffan="done">1000</span><span style="color: #000000" twffan="done">);    </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">璋冭瘯鐢?/span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">            } </span><span style="color: #0000ff" twffan="done">catch</span><span style="color: #000000" twffan="done"> (InterruptedException e) {<br />                 <br />                 System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> sleep 1s thread interrupt</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">);<br />             }<br />         }<br />         System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> end! pool size: </span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">pool.size());<br />     }<br /> <br />     </span><span style="color: #0000ff" twffan="done">private</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">void</span><span style="color: #000000" twffan="done"> printProduct(Product p) {<br />         System.out.println(name</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done"> 娑堣垂浜? </span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">p.getName());<br />     }<br /> }<br /> </span></div> <br /> <br /> 3.Demo<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" twffan="done"><span style="color: #0000ff" twffan="done">package</span><span style="color: #000000" twffan="done"> net.blogjava.chenlb.multithreaded;<br /> <br /> </span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done"> java.util.LinkedList;<br /> </span><span style="color: #0000ff" twffan="done">import</span><span style="color: #000000" twffan="done"> java.util.List;<br /> <br /> </span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />  * </span><span style="color: #808080" twffan="done">@author</span><span style="color: #008000" twffan="done"> chenlb<br />  *<br />  </span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br /> </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">class</span><span style="color: #000000" twffan="done"> Sale {<br /> <br />     <br />     </span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">static</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">void</span><span style="color: #000000" twffan="done"> main(String[] args) {<br />         </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">閾捐〃浜у搧姹?/span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">        List</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">Product</span><span style="color: #000000" twffan="done">></span><span style="color: #000000" twffan="done"> pool </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> LinkedList</span><span style="color: #000000" twffan="done"><</span><span style="color: #000000" twffan="done">Product</span><span style="color: #000000" twffan="done">></span><span style="color: #000000" twffan="done">();<br />         </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">涓や釜鐢熶駭鑰?/span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">        Producer p1 </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Producer(pool);<br />         Producer p2 </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Producer(pool);<br />         <br />         Thread tp1 </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Thread(p1);<br />         Thread tp2 </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Thread(p2);<br />         <br />         tp1.start();<br />         tp2.start();<br />         <br />         </span><span style="color: #008000" twffan="done">//</span><span style="color: #008000" twffan="done">涓や釜娑堣垂鑰?/span><span style="color: #008000" twffan="done"><br /> </span><span style="color: #000000" twffan="done">        Consumer c1 </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Consumer(pool);<br />         Consumer c2 </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Consumer(pool);<br />         <br />         Thread tc1 </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Thread(c1);<br />         Thread tc2 </span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done"> </span><span style="color: #0000ff" twffan="done">new</span><span style="color: #000000" twffan="done"> Thread(c2);<br />         <br />         tc1.start();<br />         tc2.start();<br />         <br />         <br /> <br />     }<br /> <br /> }<br /> </span></div> <br /> 娉ㄦ剰錛氱瓑寰呮椂鍊欒鐢╬ool.wait()鍥犱負鍚屾鐨勬槸pool銆傚惁鍒欎細鎶涘嚭java.lang.IllegalMonitorStateException<br /> <br /> ^_^ <br /> <br /> <a href="http://m.tkk7.com/Files/chenlb/p-c-src.rar">浠g爜涓嬭澆</a> <img src ="http://m.tkk7.com/chenlb/aggbug/177452.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/chenlb/" target="_blank">嫻佹氮姹?/a> 2008-01-24 11:36 <a href="http://m.tkk7.com/chenlb/archive/2008/01/24/177452.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ant 緙栬瘧鐗瑰畾鍖呬笅闈㈢殑婧愭枃浠?/title><link>http://m.tkk7.com/chenlb/archive/2007/12/15/167926.html</link><dc:creator>嫻佹氮姹?/dc:creator><author>嫻佹氮姹?/author><pubDate>Sat, 15 Dec 2007 04:13:00 GMT</pubDate><guid>http://m.tkk7.com/chenlb/archive/2007/12/15/167926.html</guid><wfw:comment>http://m.tkk7.com/chenlb/comments/167926.html</wfw:comment><comments>http://m.tkk7.com/chenlb/archive/2007/12/15/167926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/chenlb/comments/commentRss/167926.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/chenlb/services/trackbacks/167926.html</trackback:ping><description><![CDATA[      欏圭洰涓湁applet錛岀幇鍦ㄦ兂鍙紪璇慳pplet鍖呬笅闈㈢殑鍐呭銆?br /> <br /> 閮ㄥ垎浠g爜錛?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" twffan="done"><span style="color: #000000" twffan="done">    </span><span style="color: #0000ff" twffan="done"><</span><span style="color: #800000" twffan="done">target </span><span style="color: #ff0000" twffan="done">name</span><span style="color: #0000ff" twffan="done">="compile.applet"</span><span style="color: #ff0000" twffan="done"> depends</span><span style="color: #0000ff" twffan="done">="compile.java"</span><span style="color: #0000ff" twffan="done">></span><span style="color: #000000" twffan="done"><br />         </span><span style="color: #0000ff" twffan="done"><</span><span style="color: #800000" twffan="done">mkdir </span><span style="color: #ff0000" twffan="done">dir</span><span style="color: #0000ff" twffan="done">="${deploy.applet.dir}"</span><span style="color: #ff0000" twffan="done"> </span><span style="color: #0000ff" twffan="done">/></span><span style="color: #000000" twffan="done"><br />         </span><span style="color: #0000ff" twffan="done"><</span><span style="color: #800000" twffan="done">javac </span><span style="color: #ff0000" twffan="done">destdir</span><span style="color: #0000ff" twffan="done">="${deploy.applet.dir}"</span><span style="color: #ff0000" twffan="done"> encoding</span><span style="color: #0000ff" twffan="done">="UTF-8"</span><span style="color: #ff0000" twffan="done"> source</span><span style="color: #0000ff" twffan="done">="1.4"</span><span style="color: #ff0000" twffan="done"><br />             srcdir</span><span style="color: #0000ff" twffan="done">="${src.java.dir}"</span><span style="color: #ff0000" twffan="done"> includes</span><span style="color: #0000ff" twffan="done">="**/applet/**/*.java"</span><span style="color: #0000ff" twffan="done">></span><span style="color: #000000" twffan="done"><br /> <br />             </span><span style="color: #0000ff" twffan="done"><</span><span style="color: #800000" twffan="done">classpath </span><span style="color: #ff0000" twffan="done">refid</span><span style="color: #0000ff" twffan="done">="project.classpath"</span><span style="color: #ff0000" twffan="done"> </span><span style="color: #0000ff" twffan="done">/></span><span style="color: #000000" twffan="done"><br />         </span><span style="color: #0000ff" twffan="done"></</span><span style="color: #800000" twffan="done">javac</span><span style="color: #0000ff" twffan="done">></span><span style="color: #000000" twffan="done"><br />     </span><span style="color: #0000ff" twffan="done"></</span><span style="color: #800000" twffan="done">target</span><span style="color: #0000ff" twffan="done">></span></div> <br /> 鍚屾椂涔熺浉澶嶅埗鐗瑰畾瀛愮洰褰曚笅鐨勬枃浠跺す錛?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" twffan="done"><span style="color: #000000" twffan="done">    </span><span style="color: #0000ff" twffan="done"><</span><span style="color: #800000" twffan="done">target </span><span style="color: #ff0000" twffan="done">name</span><span style="color: #0000ff" twffan="done">="deploy.applet"</span><span style="color: #ff0000" twffan="done"> depends</span><span style="color: #0000ff" twffan="done">="compile.java"</span><span style="color: #0000ff" twffan="done">></span><span style="color: #000000" twffan="done"><br />         </span><span style="color: #0000ff" twffan="done"><</span><span style="color: #800000" twffan="done">copy </span><span style="color: #ff0000" twffan="done">todir</span><span style="color: #0000ff" twffan="done">="${deploy.applet.dir}"</span><span style="color: #ff0000" twffan="done"> preservelastmodified</span><span style="color: #0000ff" twffan="done">="true"</span><span style="color: #0000ff" twffan="done">></span><span style="color: #000000" twffan="done"><br />             </span><span style="color: #0000ff" twffan="done"><</span><span style="color: #800000" twffan="done">fileset </span><span style="color: #ff0000" twffan="done">dir</span><span style="color: #0000ff" twffan="done">="${build.java.dir}"</span><span style="color: #0000ff" twffan="done">></span><span style="color: #000000" twffan="done"><br />                 </span><span style="color: #0000ff" twffan="done"><</span><span style="color: #800000" twffan="done">include </span><span style="color: #ff0000" twffan="done">name</span><span style="color: #0000ff" twffan="done">="**/applet/**/*.class"</span><span style="color: #0000ff" twffan="done">/></span><span style="color: #000000" twffan="done"><br />             </span><span style="color: #0000ff" twffan="done"></</span><span style="color: #800000" twffan="done">fileset</span><span style="color: #0000ff" twffan="done">></span><span style="color: #000000" twffan="done"><br />         </span><span style="color: #0000ff" twffan="done"></</span><span style="color: #800000" twffan="done">copy</span><span style="color: #0000ff" twffan="done">></span><span style="color: #000000" twffan="done"><br />     </span><span style="color: #0000ff" twffan="done"></</span><span style="color: #800000" twffan="done">target</span><span style="color: #0000ff" twffan="done">></span></div> <br /> <br /> 涓や釜閮界敤鍒癷nclue鏂逛究銆? <img src ="http://m.tkk7.com/chenlb/aggbug/167926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/chenlb/" target="_blank">嫻佹氮姹?/a> 2007-12-15 12:13 <a href="http://m.tkk7.com/chenlb/archive/2007/12/15/167926.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ant build 鍑虹幇 warning modified in the futurehttp://m.tkk7.com/chenlb/archive/2007/12/13/167619.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Thu, 13 Dec 2007 15:13:00 GMThttp://m.tkk7.com/chenlb/archive/2007/12/13/167619.htmlhttp://m.tkk7.com/chenlb/comments/167619.htmlhttp://m.tkk7.com/chenlb/archive/2007/12/13/167619.html#Feedback1http://m.tkk7.com/chenlb/comments/commentRss/167619.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/167619.html
^_^

]]>
org.apache.struts.action.InvalidCancelException 閿欒闂http://m.tkk7.com/chenlb/archive/2007/10/31/157228.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Wed, 31 Oct 2007 08:25:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/31/157228.htmlhttp://m.tkk7.com/chenlb/comments/157228.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/31/157228.html#Feedback1http://m.tkk7.com/chenlb/comments/commentRss/157228.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/157228.htmlfreiberg 鐨勫崥瀹€?br />
璇村埌鐢?br />
<set-property property="cancellable" value="true"/>

鍙互瑙e喅錛岄┈涓婂鍒跺幓璇曚笅錛岃鍠旓紝^_^銆?br />
---------------------------------寮曠敤--------------------------------------

Any existing applications that use the Cancel processing will need to modify their struts-config.xml to set the cancellable property for actions which require it.

In Struts 1.2.9 the <set-property> is used to set the cancellable property for an action....

    <action path="/fooAction"
input="/foo.jsp"
validate="true">
<set-property property="cancellable" value="true"/>
<forward name="success" path="/bar.jsp"/>
</action>

From Struts 1.3.x a new cancellable attribute can be used....

    <action path="/fooAction"
input="/foo.jsp"
validate="true"
cancellable="true">
<forward name="success" path="/bar.jsp"/>
</action>

In both Struts 1.2.9 and Struts 1.3.x an exception handler can be configured to handle the InvalidCancelException

    <action path="/fooAction"
input="/foo.jsp"
validate="true"
cancellable="true">
<forward name="success" path="/bar.jsp"/>
<exception key="errors.cancel"
type="org.apache.struts.action.InvalidCancelException"
path="/foo.jsp"/>
</action>

---------------------------------------end-----------------------------------------------------

鍒氬ソ鎴戠敤鐨勬槸struts鏄?.2.9鐨?br />
鍘熸枃錛?a href="http://m.tkk7.com/freiberg/archive/2007/10/20/154384.html">http://m.tkk7.com/freiberg/archive/2007/10/20/154384.html



]]>
jxl 璇?excelhttp://m.tkk7.com/chenlb/archive/2007/10/29/156614.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Mon, 29 Oct 2007 03:04:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/29/156614.htmlhttp://m.tkk7.com/chenlb/comments/156614.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/29/156614.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/156614.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/156614.html      涓庡啓瀵瑰簲鐨勬槸璇?

 

package net.blogjava.chenlb;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;


/**
 * jxl 鐨凟xcel闃呰鍣?
 * 
@author chenlb 2007-10-20 涓嬪崍01:36:01
 
*/
public class JxlExcelReader {
    
    
/**
     * 
@return 榪斿洖String[] 鐨勫垪琛?br />      */
    
public List readExcel(InputStream in) {
        List lt 
= new ArrayList();
        Workbook wb 
= null;
        
        
try {
            wb 
= Workbook.getWorkbook(in);
            Sheet[] sheets 
= wb.getSheets();    //鑾峰彇宸ヤ綔
            for(int i=0; i<sheets.length; i++) {
                Sheet sheet 
= sheets[i];
                
for(int j=0; j<sheet.getRows(); j++) {
                    Cell[] cells 
= sheet.getRow(j);    //璇誨彇涓琛?/span>
                    if(cells != null && cells.length > 0) {    //榪欎竴琛屾湁鍐呭鎵嶆坊鍔?/span>
                        String[] dataCells = new String[cells.length];
                        
for(int k=0; k<cells.length; k++) {
                            dataCells[k] 
= ""+cells[k].getContents(); //璇誨唴瀹?/span>
                        }//column
                        lt.add(dataCells);
                    }
                }
//one sheet
            }//xls file
        } catch (BiffException e) {
            e.printStackTrace();
        } 
catch (IOException e) {    
            e.printStackTrace();
        } 
finally {
            
if(wb != null) {
                wb.close();
            }
        }
        
        
return lt;
    }

}


]]>
jxl 鍐?excelhttp://m.tkk7.com/chenlb/archive/2007/10/29/156613.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Mon, 29 Oct 2007 02:52:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/29/156613.htmlhttp://m.tkk7.com/chenlb/comments/156613.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/29/156613.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/156613.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/156613.html
1.鍐檈xcel綾?br />
package net.blogjava.chenlb;

import java.io.IOException;
import java.io.OutputStream;
import java.util.List;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

/**
 * Jxl 鐨?nbsp;Excel鍐欐暟鎹櫒.
 * 
@author chenlb 2007-10-29 涓婂崍10:39:31
 
*/
public class JxlExcelWriter {
    
    
/**
     * 
@param datas 灝佽鐫Object[]鐨勫垪琛? 涓鑸槸String鍐呭.
     * 
@param title 姣忎釜sheet閲岀殑鏍囬.
     
*/
    
public void writeExcel(OutputStream out, List datas, String[] title) {
        
if(datas == null) {
            
throw new IllegalArgumentException("鍐檈xcel嫻侀渶瑕丩ist鍙傛暟!");
        }
        
try {
            WritableWorkbook workbook 
= Workbook.createWorkbook(out);
            WritableSheet ws 
= workbook.createSheet("sheet 1"0);
            
int rowNum = 0;    //瑕佸啓鐨勮
            if(title != null) {
                putRow(ws, 
0, title);//鍘嬪叆鏍囬
                rowNum = 1;
            }
            
for(int i=0; i<datas.size(); i++, rowNum++) {//鍐檚heet
                Object[] cells = (Object[]) datas.get(i);
                putRow(ws, rowNum, cells);    
//鍘嬩竴琛屽埌sheet
            }
            
            workbook.write();
            workbook.close();    
//涓瀹氳鍏抽棴, 鍚﹀垯娌℃湁淇濆瓨Excel
        } catch (RowsExceededException e) {
            System.out.println(
"jxl write RowsExceededException: "+e.getMessage());
        } 
catch (WriteException e) {
            System.out.println(
"jxl write WriteException: "+e.getMessage());
        } 
catch (IOException e) {
            System.out.println(
"jxl write file i/o exception!, cause by: "+e.getMessage());
        }
    }

    
private void putRow(WritableSheet ws, int rowNum, Object[] cells) throws RowsExceededException, WriteException {
        
for(int j=0; j<cells.length; j++) {//鍐欎竴琛?/span>
            Label cell = new Label(j, rowNum, ""+cells[j]);
            ws.addCell(cell);
        }
    }
}

2.浣跨敤
    public void testWriteExcel() {
        List datas 
= new ArrayList();
        String[] data 
= {"1""chenlb"};
        datas.add(data);
        
try {
            OutputStream out 
= new FileOutputStream(new File("doc/chenlb.blogjava.net.xls"));
            JxlExcelWriter jxlExcelWriter 
= new JxlExcelWriter();
            jxlExcelWriter.writeExcel(out, datas, 
new String[] {"Id""name"});
            out.close();
        } 
catch (FileNotFoundException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        } 
catch (IOException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }



]]>
jstl 1.0 formatDate yyyy-mm 涓嶈兘姝e父宸ヤ綔http://m.tkk7.com/chenlb/archive/2007/10/25/155971.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Thu, 25 Oct 2007 14:38:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/25/155971.htmlhttp://m.tkk7.com/chenlb/comments/155971.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/25/155971.html#Feedback1http://m.tkk7.com/chenlb/comments/commentRss/155971.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/155971.html

]]>
java 鍘嬬緝鐩綍涓?zip http://m.tkk7.com/chenlb/archive/2007/10/18/153866.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Thu, 18 Oct 2007 05:53:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/18/153866.htmlhttp://m.tkk7.com/chenlb/comments/153866.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/18/153866.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/153866.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/153866.html      鐢╦ava濂戒箙浜嗭紝榪樻病鏈夊啓涓帇緙╂枃浠剁殑紺轟緥錛屾槰鏅氬紕浜嗕笅錛屾妸鍐欎笅鏉ワ紝浠ュ悗鍙互鐪嬨?br />
鍏崇郴鍒?br /> java.util.zip.ZipEntry
java.util.zip.ZipOutputStream

濡傛灉瑕佽В鍐充腑鏂囨枃浠跺悕闂錛岀敤鍒癮nt.jar

榪欎袱涓被銆?/p> ZipOutputStream.putNextEntry(ZipEntry);灝卞彲浠ヤ簡錛岀劧鍚嶼ipOutputStream.wirte();灝卞緱浜嗐?br />
package net.blogjava.chenlb.zip;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
//import java.util.zip.ZipEntry;
//import java.util.zip.ZipOutputStream;
//鐢╝nt.jar鐨剒ip.*鍙互瑙e喅涓枃鏂囦歡鍚嶉棶棰?/span>
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;

/**
 * 鍘嬬緝鏂囦歡.
 * 2007-10-17 涓嬪崍11:19:50
 * 
@author chenlb
 
*/
public class RecursiveZip {

    
    
public static void main(String[] args) {

        RecursiveZip recursiveZip 
= new RecursiveZip();
        System.out.println(
"====寮濮?===");
        
try {
            OutputStream os 
= new FileOutputStream("e:/doc-recursive.zip");
            BufferedOutputStream bs 
= new BufferedOutputStream(os);
            ZipOutputStream zo 
= new ZipOutputStream(bs);
            
            
//recursiveZip.zip("e:/recursive-zip/涓枃鏂囦歡鍚?txt", new File("e:/recursive-zip"), zo, true, true);
            recursiveZip.zip("e:/recursive-zip"new File("e:/recursive-zip"), zo, truetrue);
            
            zo.closeEntry();
            zo.close();
        } 
catch (FileNotFoundException e) {
            e.printStackTrace();
        } 
catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(
"====瀹屾垚====");
    }

    
/**
     * 
@param path 瑕佸帇緙╃殑璺緞, 鍙互鏄洰褰? 涔熷彲浠ユ槸鏂囦歡.
     * 
@param basePath 濡傛灉path鏄洰褰?瀹冧竴鑸負new File(path), 浣滅敤鏄?浣胯緭鍑虹殑zip鏂囦歡浠ユ鐩綍涓烘牴鐩綍, 濡傛灉涓簄ull瀹冨彧鍘嬬緝鏂囦歡, 涓嶈В鍘嬬洰褰?
     * 
@param zo 鍘嬬緝杈撳嚭嫻?br />      * @param isRecursive 鏄惁閫掑綊
     * 
@param isOutBlankDir 鏄惁杈撳嚭絀虹洰褰? 瑕佷嬌杈撳嚭絀虹洰褰曚負true,鍚屾椂baseFile涓嶄負null.
     * 
@throws IOException
     
*/
    
public void zip(String path, File basePath, ZipOutputStream zo, boolean isRecursive, boolean isOutBlankDir) throws IOException {
        
        File inFile 
= new File(path);

        File[] files 
= new File[0];
        
if(inFile.isDirectory()) {    //鏄洰褰?/span>
            files = inFile.listFiles();
        } 
else if(inFile.isFile()) {    //鏄枃浠?/span>
            files = new File[1];
            files[
0= inFile;
        }
        
byte[] buf = new byte[1024];
        
int len;
        
//System.out.println("baseFile: "+baseFile.getPath());
        for(int i=0; i<files.length; i++) {
            String pathName 
= "";
            
if(basePath != null) {
                
if(basePath.isDirectory()) {
                    pathName 
= files[i].getPath().substring(basePath.getPath().length()+1);
                } 
else {//鏂囦歡
                    pathName = files[i].getPath().substring(basePath.getParent().length()+1);
                }
            } 
else {
                pathName 
= files[i].getName();
            }
            System.out.println(pathName);
            
if(files[i].isDirectory()) {
                
if(isOutBlankDir && basePath != null) {    
                    zo.putNextEntry(
new ZipEntry(pathName+"/"));    //鍙互浣跨┖鐩綍涔熸斁榪涘幓
                }
                
if(isRecursive) {    //閫掑綊
                    zip(files[i].getPath(), basePath, zo, isRecursive, isOutBlankDir);
                }
            } 
else {
                FileInputStream fin 
= new FileInputStream(files[i]);
                zo.putNextEntry(
new ZipEntry(pathName));
                
while((len=fin.read(buf))>0) {
                    zo.write(buf,
0,len);
                }
                fin.close();
            }
        }
    }
}




]]>
jsp 涓嬭澆鏂囦歡http://m.tkk7.com/chenlb/archive/2007/10/16/153408.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Tue, 16 Oct 2007 15:57:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/16/153408.htmlhttp://m.tkk7.com/chenlb/comments/153408.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/16/153408.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/153408.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/153408.html
download.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.io.*" %>
<%
try {
    FileInputStream fin 
= new FileInputStream(application.getRealPath("/")+"/readme.zip");
    response.addHeader(
"Content-Disposition","attachment;filename=read.zip"); 
    
byte[] buf = new byte[1024];
    
int readSize = fin.read(buf);
    OutputStream os 
= response.getOutputStream();
    
    
while(readSize != -1) {
        os.write(buf, 
0, readSize);
        readSize 
= fin.read(buf);
    }
    os.flush();
    os.close();
    os 
= null ;
    response.flushBuffer();
    out.clear();
    out  
=  pageContext.pushBody();
        
catch (IllegalStateException e) {

}
%>

webapps/test/readme.zip鏂囦歡鍙互琚笅杞斤紝鍙兘絎竴嬈′細杈撳嚭鏂囧瓧銆?

]]>
weblogic 8.1.4 hibernate3 寮傚父 org.hibernate.hql.ast.HqlTokenhttp://m.tkk7.com/chenlb/archive/2007/10/07/150849.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Sun, 07 Oct 2007 08:37:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/07/150849.htmlhttp://m.tkk7.com/chenlb/comments/150849.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/07/150849.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/150849.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/150849.html
澶氳阿 韞掕窔鑰岃鐨勫崥瀹?http://blog.chinajavaworld.com/entry.jspa?id=829

杞澆浠栫殑

ClassNotFoundException: org.hibernate.hql.ast.HqlToken 閿欒weblogic寮傚父閫鍑恒?
鍘熷洜:
Hibernate3.0 閲囩敤鏂扮殑鍩轟簬ANTLR鐨凥QL/SQL鏌ヨ緲昏瘧鍣紝鍦℉ibernate鐨勯厤緗枃浠朵腑錛宧ibernate.query.factory_class灞炴х敤鏉ラ夋嫨鏌ヨ緲昏瘧鍣ㄣ?
錛?錛夐夋嫨Hibernate3.0鐨勬煡璇㈢炕璇戝櫒錛?
hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory
錛?錛夐夋嫨Hibernate2.1鐨勬煡璇㈢炕璇戝櫒
hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory
涓轟簡浣跨敤3.0鐨勬壒閲忔洿鏂板拰鍒犻櫎鍔熻兘錛屽彧鑳介夋嫨錛?錛夊惁鍒欎笉鑳借В閲婃壒閲忔洿鏂扮殑璇彞錛屽綋浣跨敤鐨勬椂鍊欏嚭鐜頒簡涓嶆敮鎸佹潯浠惰緭鍏ヤ腑鏂囩殑鎯呭喌銆傞夋嫨錛?錛夊彲浠ユ敮鎸佽緭鍏ヤ腑鏂囷紝浣嗘病娉曡В閲婃壒閲忔洿鏂拌鍙ヤ簡
鍦╤ibernate3涓渶瑕佺敤鍒癮ntlr錛岀劧鑰岃繖涓寘鍦╳eblogic.jar涓凡緇忓寘鍚簡antrl綾誨簱錛屽氨浼氫駭鐢熶竴浜涚被鍔犺澆鐨勯敊璇紝鏃犳硶鎵懼埌鍦╳ar鎴栬卐ar涓殑hibernate3.jar銆?
鍑虹幇榪欎釜閿欒涔嬪悗錛宎ntlr浼氳皟鐢⊿ystem.exit()錛岃繖鏍穡eblogic灝變細涓鏈嶅姟銆?
瑙e喅鏂規硶:
1.鏄湪hibernate.properties鏂囦歡涓鍔犲睘鎬э細hibernate.query.factory_class錛屽睘鎬х殑鍊兼槸org.hibernate.hql.classic.ClassicQueryTranslatorFactory錛岃繖鏍峰氨鍙互瑙e喅闂浜嗐?
浣嗘槸閮ㄥ垎鍔熻兘浼氭湁闂錛岃濡?
浣嗘湰緋誨湪鎵歸噺鍒犻櫎鍜屾洿鏂頒細鏈夐棶棰?鏈郴緇熶笉閲囩敤
2.灝哸ntlr-2.7.5H3.jar鍒癢eblogic鐨刾re_Classpath :鐢╓inRar鎴朩inzip鎵撳紑C:\bea\weblogic81\server\lib\weblogic.jar 鍒犻櫎閲岄潰鐨刟ntlr鐩綍, 鐒跺悗鍐峚ntlr-2.7.5H3.jar鏀懼湪weblogic.jar鐨勫悓涓鐩綍(娉?鏇挎崲涔嬪悗娌″仛鍋氳繃涓ユ牸嫻嬭瘯,灝氫笉鐭ユ槸鍚︽湁鍚庨仐鐥?
3. 1銆佹嫹璐滺ibernate3閲屽甫鐨勫寘antlr-2.7.5H3.jar鍒?WL_HOME%\server\lib涓?
2銆佷慨鏀? mydomain% \ startWebLogic.cmd 錛?
鍦╯et CLASSPATH涔嬪墠鍔犱笂涓嬮潰涓鍙ワ細
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.5H3.jar;
鍦╯et CLASSPATH涔嬪悗鍔犱笂涓嬮潰涓鍙ワ細
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%
涓鍒嘜K錛?
鍏蜂綋鍘熷洜鍙弬鐓ф欏碉細http://dev2dev.bea.com/blog/pmalani/archive/2005/07/configuring_web.html

 

鎴戠敤antlr-2.7.6.jar鍙互錛屾垜鐢ㄧ殑hibernate3.2.3ga

]]>
weblogic8.1浣滀負windows鏈嶅姟榪愯http://m.tkk7.com/chenlb/archive/2007/10/06/150758.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Sat, 06 Oct 2007 15:02:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/06/150758.htmlhttp://m.tkk7.com/chenlb/comments/150758.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/06/150758.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/150758.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/150758.html        
D:\bea\user_projects\domains\mydomain鐩綍涓嬬殑installService.cmd鏂囦歡涓殑:runAdmin涓嬮潰鐨勫唴瀹?br /> 1.
set WLS_USER=weblogic
set WLS_PW
=
 
鏀逛負
set WLS_USER=weblogic
set WLS_PW
=weblogic

2.
set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"

鏀逛負

set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server"

鍙屽嚮installService.cmd,灝監K浜?br /> 娉ㄦ剰闃茬伀澧欒鍏佽7001绔彛

闈炲父鎰熻阿鍥浀涓嶅悶鏋?br /> 鐨勫崥瀹?http://blog.sina.com.cn/s/blog_3ec64d78010005wu.html

^_^



]]>
weblogic 8.1.4鏈嶅姟鍣ㄦ寕璧?鍑虹幇StuckThreadMaxTime閿欒 http://m.tkk7.com/chenlb/archive/2007/10/06/150739.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Sat, 06 Oct 2007 13:10:00 GMThttp://m.tkk7.com/chenlb/archive/2007/10/06/150739.htmlhttp://m.tkk7.com/chenlb/comments/150739.htmlhttp://m.tkk7.com/chenlb/archive/2007/10/06/150739.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/150739.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/150739.html鍓嶅嚑澶╃敤spring+hibernate+struts鍐欎簡涓/鍒?鏀?鏌ョ殑渚嬪瓙銆傝皟璇曟湡闂撮棶棰樺氨鏉ヤ簡錛屽綋鏌ヨ緇撴灉緲婚〉濂藉嚑嬈″氨娌涔呮病鏈夊搷搴斾簡銆傛渶鍚庢帶鍒舵姤閿欍傜綉涓婃煡浜嗭紝瀹冭鏁版嵁搴撹繛鎺ワ紙姹狅級闂銆?/font>

鍑虹幇閿欒濡備笅:

<2007-9-30 涓嬪崍12鏃?/span>03鍒?/span>03縐?/span> CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteThread: '13' for queue: 'weblogic.kernel.Default' has been busy for "901" seconds working on the request "Http Request: /admin/school.do", which is more than the configured time (StuckThreadMaxTime) of "600" seconds.>

鍏堣涓嬫垜閰嶇疆

1.鐜錛?/p>

spring 2.0.6錛宧ibernate 3.2.3錛宻truts 1.2.9錛宱racle 10.2錛寃eblogic 8.1.4

jdbc鏄痮jdbc14.jar

2.榪炴帴姹犵敤DBCP

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">   
    
<property name="driverClassName" value="${jdbc.driverClassName}"/>   
    
<property name="url" value="${jdbc.url}"/>   
    
<property name="username" value="${jdbc.username}"/>   
    
<property name="password" value="${jdbc.password}"/>   
bean>   

3.鍒嗛〉鏂規硶錛堝弬鑰僺pringside鐨勶級錛屾綾葷戶鎵縃ibernateDaoSupport
public Page listByPage(Class entityClass, int pageNo, int pageSize, List criterions, List orders) {    
    Criteria criteria 
= createCriteria(entityClass, criterions);    
    CriteriaImpl impl 
= (CriteriaImpl) criteria;    
   
    
// 鍏堟妸Projection鍜孫rderBy鏉′歡鍙栧嚭鏉?娓呯┖涓よ呮潵鎵цCount鎿嶄綔    
    Projection projection = impl.getProjection();    
    
//鑾峰彇鎬昏褰曟暟    
    int totalCount = ((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();    
   
        
    
if(totalCount < 1) {    
        
return new Page();    
    }    
        
    
//鍔犳帓搴?nbsp;   
    if(orders != null) {    
        
for(int i=0; i 
            criteria.addOrder((Order) orders.get(i));    
        }    
    }    
    
//鍘熸潵鐨勬姇褰?nbsp;   
    criteria.setProjection(projection);    
    
int startIndex = Page.getStartOfPage(pageNo, pageSize);    
    
//鍙栧緱緇撴灉    
    List list = criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();    
        
    
return new Page(startIndex, totalCount, pageSize, list);    
}    
   
public Criteria createCriteria(Class entityClass, List criterions) {    
    Criteria criteria 
= getSession().createCriteria(entityClass);    
    
if(criterions != null) {    
        
for(int i=0; i 
            criteria.add((Criterion) criterions.get(i));    
        }    
    }    
        
    
return criteria;    
}   

鍙﹀錛屾病鏈夌敤OpenSessionInViewFilter錛宻truts涓巗pring鐨勬暣鍚堬細DelegatingRequestProcessor銆乤ction path涓巄ean name鍚屽悕銆?/font>

 

緲婚〉涓嶈繃10嬈★紝鏈嶅姟鍣ㄥ氨娌″搷搴斾簡錛屾渶鍚庡嚭鐜頒笂闈㈢殑閿欒鐨勪簡銆?/font>

鍒氱敤weblogic錛屼篃鍒氱敤ssh濂楅銆傞儊闂楓?br />
鍓嶅ぉ瑙e喅浜嗐?br />

闂瑙e喅錛岄棶棰樼殑鍘熷洜鏄暟鎹簱榪炴帴鑰楀敖錛屾垜鐢℉iberanteDaoSupport鐨刧etSession()鏂規硶鍙栧緱Session鍚庢病鏈夐噴鏀維ession銆?/p>

鍑洪棶棰樼殑浠g爜澶勶紙綰㈣壊閮ㄥ垎錛夛細

public Criteria createCriteria(Class entityClass, List criterions) {        
    Criteria criteria 
= getSession().createCriteria(entityClass);        
    
if(criterions != null) {        
        
for(int i=0; i     
            criteria.add((Criterion) criterions.get(i));        
        }        
    }        
            
    
return criteria;        
}   

鐢ㄥ畬Session閲婃斁鍚庡氨娌′簨浜嗭紝璋冪敤HiberanteDaoSupport鐨?font face="Arial">releaseSession(session);鏂規硶鍚庡嵆鍙В鍐熾?/font>


鐜板湪姝g‘鐨勪唬鐮侊細


public Page listByPage(Class entityClass, int pageNo, int pageSize, List criterions, List orders) {    
    Session session 
= getSession();    
    
//鍒涘緩criteria    
    Criteria criteria = session.createCriteria(entityClass);    
    
//涓篶riteria娣誨姞criterions    
    createCriteria(entityClass, criteria, criterions);    
    CriteriaImpl impl 
= (CriteriaImpl) criteria;    
   
    
// 鍏堟妸Projection鍜孫rderBy鏉′歡鍙栧嚭鏉?娓呯┖涓よ呮潵鎵цCount鎿嶄綔    
    Projection projection = impl.getProjection();    
    
//鑾峰彇鎬昏褰曟暟    
    int totalCount = ((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();    
   
        
    
if(totalCount < 1) {    
        
return new Page();    
    }    
        
    
//鍔犳帓搴?nbsp;   
    if(orders != null) {    
        
for(int i=0; i 
            criteria.addOrder((Order) orders.get(i));    
        }    
    }    
    
//鍘熸潵鐨勬姇褰?nbsp;   
    criteria.setProjection(projection);    
    
int startIndex = Page.getStartOfPage(pageNo, pageSize);    
    
//鍙栧緱緇撴灉    
    List list = criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();    
    
//閲婃斁hiberante璧勬簮,涓瀹氳閲婃斁,瑕佷笉鐒跺氨鏁版嵁搴撹繛鎺ヨ楀敖.    
    releaseSession(session);    
    
return new Page(startIndex, totalCount, pageSize, list);    
}    
   
public Criteria createCriteria(Class entityClass, Criteria criteria, List criterions) {    
    
if(criterions != null) {    
        
for(int i=0; i 
            criteria.add((Criterion) criterions.get(i));    
        }    
    }    
        
    
return criteria;    
}   


^_^


]]>
Weblogic 涓儴緗?Web 搴旂敤紼嬪簭http://m.tkk7.com/chenlb/archive/2007/09/22/147449.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Sat, 22 Sep 2007 10:48:00 GMThttp://m.tkk7.com/chenlb/archive/2007/09/22/147449.htmlhttp://m.tkk7.com/chenlb/comments/147449.htmlhttp://m.tkk7.com/chenlb/archive/2007/09/22/147449.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/147449.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/147449.html 1銆佸畨瑁呭ソweblogic8.1
2銆佸埄鐢–onfiguration Wizard閰嶇疆Domain鍜宻erver錛屾寜鐓х己鐪佸嵆鍙?br />
濡傦細
絎簩閮ㄥ悗錛屾垜鏈轟笂緇撴灉錛氭湁浜咲:\bea\user_projects\domains\mydomain鐩綍鍏朵腑mydomain鏄悜瀵間腑鑷繁鍐欑殑銆傜劧鍚庢妸web搴旂敤紼嬪簭鏀懼埌D:\bea\user_projects\domains\mydomain\applications鐩綍涓紝applications鐩稿綋浜嶵omcat涓殑webapps鐩綍銆?br />
WEB-INF鐩綍涓嬪彲浠ヤ笉鐢╳eblogic.xml鏂囦歡錛屾枃浠跺唴瀹瑰涓嬶細
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
    
<context-root>/WebModule1</context-root>
</weblogic-web-app>

濡傛灉鏈?lt;context-root>/WebModule1</context-root>錛學ebModule1鎵嶆槸web搴旂敤鐨勬牴鍦板潃錛岃闂湴鍧灝辨垚浜嗚繖鏍鳳細http://localhost:7001/WebModule1/index.jsp

濡傛灉娌℃湁<context-root>/WebModule1</context-root>鎴栨病鏈墂eblogic.xml鏂囦歡錛岃闂湴鍧涓猴細http://localhost:7001/blank/index.jsp
鍏朵腑blank鏄痑pplications涓嬬殑Web搴旂敤紼嬪簭鐨勬牴鐩綍銆?

]]>
jsp 鎻愪氦琛ㄥ崟涓枃闂瑙e喅http://m.tkk7.com/chenlb/archive/2007/09/09/143726.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Sun, 09 Sep 2007 01:47:00 GMThttp://m.tkk7.com/chenlb/archive/2007/09/09/143726.htmlhttp://m.tkk7.com/chenlb/comments/143726.htmlhttp://m.tkk7.com/chenlb/archive/2007/09/09/143726.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/143726.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/143726.htmlhttp://m.tkk7.com/chenlb/archive/2007/07/17/130922.html

1.鐢╰omcat閲岄潰鐨勪緥瀛?鍦╳ebapps\servlets-examples\WEB-INF\classes\閲屾妸filters鐩綍鏀懼埌浣犵殑classer\涓?鍏跺疄鍙SetCharacterEncodingFilter灝卞彲浠ヤ簡,鍦╳eb.xml閲屽姞

<filter>     
  
<filter-name>Set Character Encoding</filter-name>     
  
<filter-class>filters.SetCharacterEncodingFilter</filter-class>     
  
<init-param>     
    
<param-name>encoding</param-name>     
    
<param-value>utf8</param-value>     
  
</init-param>     
</filter>     
 
<filter-mapping>     
    
<filter-name>Set Character Encoding</filter-name>     
    
<url-pattern>/*</url-pattern>     
 
</filter-mapping>


2.濡傛灉鐢╯pring錛岀敤spring鎻愪緵鐨勮繃铏戝櫒錛屽悓鏍峰湪web.xml閲屽姞
<filter>  
  
<filter-name>Set Character Encoding</filter-name>  
  
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  
<init-param>  
    
<param-name>encoding</param-name>  
    
<param-value>utf8</param-value>  
  
</init-param>  
</filter>  
 
<filter-mapping>  
    
<filter-name>Set Character Encoding</filter-name>  
    
<url-pattern>/*</url-pattern>  
 
</filter-mapping>




]]>
[杞澆]jsp 瀹炵幇 word, excelhttp://m.tkk7.com/chenlb/archive/2007/08/22/138588.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Wed, 22 Aug 2007 05:15:00 GMThttp://m.tkk7.com/chenlb/archive/2007/08/22/138588.htmlhttp://m.tkk7.com/chenlb/comments/138588.htmlhttp://m.tkk7.com/chenlb/archive/2007/08/22/138588.html#Feedback0http://m.tkk7.com/chenlb/comments/commentRss/138588.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/138588.html榪欓噷浣跨敤涓涓皬鎶宸э紝灝辨槸鍏堝皢鍏惰漿鎹負鍙紪杈戠殑JSP鏂囦歡錛岀劧鍚庡啀鍍忔搷浣滃叾瀹冪殑JSP欏甸潰涓鏍鋒搷浣滐紝灝辮繖涔堢畝鍗曘?/p>

鍥犱負ms word鍜宔xcel鐨勬枃妗i兘鏀寔html鏂囨湰鏍煎紡錛屽洜姝ゅ彲浠ュ厛鐢╳ord鎴杄xcel鍋氬ソ妯$増錛屽彟瀛樹負web欏碉紝鐒跺悗灝嗚html鏀規垚jsp錛屽皢鏁版嵁閮ㄥ垎鍔ㄦ佸~鍏ュ嵆鍙紝涓嶇敤寰堣緵鑻︾殑璋冩暣鏍煎紡 銆?/p>

word欏甸潰鍙鍦╦sp澶磋緗涓嬫寚浠わ細
<%@page contentType="application/msword;charset=gb2312" %>

excel濡備笅錛?
<%@page contentType="application/vnd.ms-excel;charset=gb2312" %>

  浣跨敤榪欑鏂瑰紡錛屽氨涓嶇敤浣跨敤鍏跺畠鐨勫鏉傛妧鏈紝騫朵笖鍙互杈懼埌寰堝ソ鐨勬晥鏋滐紝鎵璋撹蛋璺蛋鎹峰緞錛屽懙鍛碉紝渚嬪瓙灝變笉緇欎簡銆?br>
http://blog.csdn.net/fenglibing/archive/2007/06/27/1668809.aspx

]]>
itest鐢熸垚pdf涓枃涓虹┖鐧?/title><link>http://m.tkk7.com/chenlb/archive/2007/03/21/105355.html</link><dc:creator>嫻佹氮姹?/dc:creator><author>嫻佹氮姹?/author><pubDate>Wed, 21 Mar 2007 11:52:00 GMT</pubDate><guid>http://m.tkk7.com/chenlb/archive/2007/03/21/105355.html</guid><wfw:comment>http://m.tkk7.com/chenlb/comments/105355.html</wfw:comment><comments>http://m.tkk7.com/chenlb/archive/2007/03/21/105355.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/chenlb/comments/commentRss/105355.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/chenlb/services/trackbacks/105355.html</trackback:ping><description><![CDATA[ <p>瑕佷笅杞絠TextAsian.jar<br /><br />鍦板潃: <a >http://<span id="blrnrtl" class="a" twffan="done"><font color="#008000" size="2">prdownloads.sourceforge.net/<wbr>itext/<b>iTextAsian</b>.jar?download</wbr></font></span></a><br /><br />import com.lowagie.text.Font;<br />import com.lowagie.text.pdf.BaseFont;<br /><br /><br />BaseFont聽bfChinese聽=聽BaseFont.createFont("STSong-Light",聽聽"UniGB-UCS2-H",聽BaseFont.NOT_EMBEDDED);<br />Font聽FontChinese聽=聽new聽Font(bfChinese,聽12,聽Font.NORMAL);<br /><br />鍔犲叆document錛?br /><br />Paragraph聽chunk聽=聽new聽Paragraph("涓枃",聽FontChinese);<br />document.add(chunk);<br /></p> <img src ="http://m.tkk7.com/chenlb/aggbug/105355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/chenlb/" target="_blank">嫻佹氮姹?/a> 2007-03-21 19:52 <a href="http://m.tkk7.com/chenlb/archive/2007/03/21/105355.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>poi浼氫腑鏂囦貢鐮?Jexcelapi涓嶄細http://m.tkk7.com/chenlb/archive/2007/03/21/105346.html嫻佹氮姹?/dc:creator>嫻佹氮姹?/author>Wed, 21 Mar 2007 11:06:00 GMThttp://m.tkk7.com/chenlb/archive/2007/03/21/105346.htmlhttp://m.tkk7.com/chenlb/comments/105346.htmlhttp://m.tkk7.com/chenlb/archive/2007/03/21/105346.html#Feedback4http://m.tkk7.com/chenlb/comments/commentRss/105346.htmlhttp://m.tkk7.com/chenlb/services/trackbacks/105346.html鐩墠姣旇緝嫻佽鐨勭敓鎴怑xcel鏂囦歡鐨勬湁poi鍜孞excelapi

poi鍔犱腑鏂囨湁闂

蹇呴渶瀵規瘡涓涓狢ell璁?

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

鎵嶄笉浼氫腑鏂囦貢鐮?娌℃湁鎵懼埌鏇村ソ鐨勬柟娉曚竴嬈℃ц緗墍鏈塁ell鐨勫瓧絎﹀睘鎬?br />

鐢↗excelapi璇曚笅鍙戠幇涓嶄細鍑虹幇涓枃闂,鏄洜涓哄畠鏄煩鍥戒漢鍐欑殑鍚?浠ュ瀛楄妭瀛楃涓烘牴鐐?br />
榪樻槸鍠滄鐢↗excelapi

涓嬭澆: http://sourceforge.net/project/showfiles.php?group_id=79926

:)

]]>
主站蜘蛛池模板: 国产精品日本亚洲777| 青青青亚洲精品国产| 久久久久久久99精品免费| 久久影视国产亚洲| ssswww日本免费网站片| 亚洲综合色成在线播放| 久久毛片免费看一区二区三区| 久久亚洲中文字幕精品一区| 中文无码日韩欧免费视频| 亚洲AV无码专区亚洲AV伊甸园| 久久国产免费观看精品| 亚洲色图.com| 成全视频免费高清 | 一级毛片试看60分钟免费播放| 亚洲AⅤ永久无码精品AA| 亚洲精品偷拍视频免费观看| 国产亚洲老熟女视频| 999久久久免费精品播放| 亚洲电影免费观看| 全免费一级毛片在线播放| 全部一级一级毛片免费看| 亚洲人成网77777色在线播放| 久久久久久毛片免费播放| 亚洲av无码片在线观看| 永久免费bbbbbb视频| 国产精品免费大片一区二区| 亚洲国产精品无码av| 久久久久久久91精品免费观看| 国产成人亚洲综合无| 久久亚洲国产成人亚| 午夜一级毛片免费视频| 免费中文字幕在线观看| 两个人www免费高清视频| 国产色爽免费视频| 亚洲国产模特在线播放| 免费网站看v片在线香蕉| 一级成人a免费视频| 亚洲精品美女在线观看| 免费一级做a爰片久久毛片潮喷| 国产成人AV免费观看| 中文日韩亚洲欧美制服|