<?xml version="1.0" encoding="UTF-8"?>







<rss version="2.0">
<channel>
  <title>搜斧SearchFull - Java技术 category</title>
  <link>http://www.searchfull.net:80/blog/</link>
  <description>专注于Java技术、开源项目、项目管理</description>
  <language>zh</language>
  <copyright>liupinghua</copyright>
  <lastBuildDate>Wed, 07 Jan 2009 06:09:22 GMT</lastBuildDate>
  <generator>Pebble</generator>
  <docs>http://backend.userland.com/rss</docs>
  <image>
    <url>http://www.searchfull.net/images/logo.gif</url>
    <title>搜斧SearchFull (Java技术 category)</title>
    <link>http://www.searchfull.net:80/blog/</link>
  </image>
  
  <item>
    <title>我收藏的链接(33)</title>
    <link>http://www.searchfull.net:80/blog/2009/01/07/1231308562058.html</link>
    
      
      
        <description>
          &lt;dt&gt;&lt;a last_visit=&#034;1231163448&#034; add_date=&#034;1231163448&#034; tags=&#034;hibernate&#034; href=&#034;http://www.javaeye.com/topic/29514&#034;&gt;关于hibernate的分表查询问题 - Hibernate - Java - JavaEye论坛&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;查询多库，历史库 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1231144063&#034; add_date=&#034;1231144063&#034; tags=&#034;cheatsheet&#034; href=&#034;http://www.webappers.com/2008/11/05/best-cheat-sheets-for-web-developers/&#034;&gt;The Best Cheat Sheets for Web Developers | Web Resources | WebAppers&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;Web开发检查表 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1231142052&#034; add_date=&#034;1231142052&#034; tags=&#034;css,print&#034; href=&#034;http://www.blueprintcss.org/&#034;&gt;Blueprint: A CSS Framework | Spend your time innovating, not replicating&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;网页打印，css打印 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1231041069&#034; add_date=&#034;1231041069&#034; tags=&#034;tapestry5,tapestry&#034; href=&#034;http://www.chenillekit.org/index.html&#034;&gt;Chenille Kit - Home&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1230954002&#034; add_date=&#034;1230954002&#034; tags=&#034;j2me,ebook&#034; href=&#034;http://tequilacat.org/dev/br/index-en.html&#034;&gt;Free Book Reader for Java Mobile Phones&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;Java电子书阅读器 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1230952740&#034; add_date=&#034;1230952740&#034; tags=&#034;ebook&#034; href=&#034;http://www.deep-shadows.com/hax/ReadManiac/index.htm&#034;&gt;ReadManiac - Bookreader for mobile phones&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;JavaME电子书 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1230906257&#034; add_date=&#034;1230906257&#034; tags=&#034;tapestry&#034; href=&#034;http://www.chenillekit.org/&#034;&gt;Chenille Kit - Home&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1230906216&#034; add_date=&#034;1230906216&#034; tags=&#034;tapestry,tapestry5&#034; href=&#034;http://code.google.com/p/chenillekit/&#034;&gt;chenillekit - Google Code&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1230522394&#034; add_date=&#034;1230522394&#034; tags=&#034;hibernate&#034; href=&#034;http://maybe723.javaeye.com/blog/260072&#034;&gt;HibernateUtil - maybe723 - JavaEye技术网站&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1230259135&#034; add_date=&#034;1230259135&#034; tags=&#034;shards,hibernate&#034; href=&#034;http://www.hibernate.org/hib_docs/shards/reference/en/html/&#034;&gt;Hibernate Shards&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;hibernate shard 配置，hibernate分片查询多个数据库数据 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1230259126&#034; add_date=&#034;1230259126&#034; tags=&#034;hibernate,shards&#034; href=&#034;http://www.hibernate.org/hib_docs/shards/reference/en/html/shards-configuration.html&#034;&gt;Chapter&amp;nbsp;2.&amp;nbsp;Configuration&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;hibernate shard 配置，hibernate分片查询多个数据库数据 &lt;/dd&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2009/01/07/1231308562058.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>网摘文章</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2009/01/07/1231308562058.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2009/01/07/1231308562058.html</guid>
    <pubDate>Wed, 07 Jan 2009 06:09:22 GMT</pubDate>
  </item>
  
  <item>
    <title>使用Hibernate Shards来访问多个水平分区数据库</title>
    <link>http://www.searchfull.net:80/blog/2008/12/26/1230269148216.html</link>
    
      
      
        <description>
          &lt;p&gt;Hibernate &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;Shards&lt;/span&gt; is a framework that is designed to encapsulate and minimize this complexity by adding support for &lt;a href=&#034;http://en.wikipedia.org/w/index.php?title=Partition_%28database%29&amp;amp;oldid=99996308&#034;&gt;horizontal partitioning&lt;/a&gt; to Hibernate Core.&lt;/p&gt;
&lt;p&gt;即，Shards可以帮助程序透明地访问网络上多个水平划分数据库（分片）。下面主要介绍&lt;font face=&#034;Arial&#034;&gt;&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/26/1230269148216.html&#034;&gt;使用Hibernate Shards来访问多个水平分区数据库&lt;/a&gt;&lt;/font&gt;的配置。Shards的功能：&lt;/p&gt;
&lt;h2&gt;Hibernate &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;Shards&lt;/span&gt; key features:&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Standard Hibernate programming model&lt;/strong&gt; - Hibernate &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;Shards&lt;/span&gt; allows you to continue using the Hibernate APIs you know and love: SessionFactory, Session, Criteria, Query. If you already know how to use Hibernate, you already know how to use Hibernate &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;Shards&lt;/span&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Flexible sharding strategies&lt;/strong&gt; - Distribute data across your &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;shards&lt;/span&gt; any way you want. Use one of the default strategies we provide or plug in your own application-specific logic. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Support for virtual &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;shards&lt;/span&gt;&lt;/strong&gt; - Think your sharding strategy is never going to change? Think again. Adding new &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;shards&lt;/span&gt; and redistributing your data is one of the toughest operational challenges you will face once you&#039;ve deployed your shard-aware application. Hibernate Sharding supports virtual &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;shards&lt;/span&gt;, a feature designed to simplify the process of resharding your data. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Free/open source&lt;/strong&gt; - Hibernate &lt;span style=&#034;COLOR: rgb(204,0,0)&#034;&gt;Shards&lt;/span&gt; is licensed under the LGPL (Lesser GNU Public License) &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/12/26/1230269148216.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>数据库</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/26/1230269148216.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/26/1230269148216.html</guid>
    <pubDate>Fri, 26 Dec 2008 05:25:48 GMT</pubDate>
  </item>
  
  <item>
    <title>如何用Java识别中文和国际音标</title>
    <link>http://www.searchfull.net:80/blog/2008/12/24/1230105414693.html</link>
    
      
        <description>
          &lt;p&gt;&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/24/1230105414693.html&#034;&gt;How to &lt;font face=&#034;Arial&#034;&gt;identify Chinese and IPA&amp;nbsp;using java?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Java Code：&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;public class UnicodeTest {&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&amp;nbsp;/**&lt;br /&gt;
&amp;nbsp; * @param args&lt;br /&gt;
&amp;nbsp; */&lt;br /&gt;
&amp;nbsp;public static void main(String[] args) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;// TODO Auto-generated method stub&lt;br /&gt;
&amp;nbsp;&amp;nbsp;String sentence = &amp;quot;国际ɳʅ&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for (int i = 0; i &amp;lt; sentence.length(); i++) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;char c = sentence.charAt(i);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if ((c &amp;gt;= 0x4e00) &amp;amp;&amp;amp; (c &amp;lt;= 0x9fbb)) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;This is Chinese&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if (java.lang.Character.UnicodeBlock.of(c).equals(java.lang.Character.UnicodeBlock.IPA_EXTENSIONS)) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;This is IPA&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&amp;nbsp;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;}&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir=&#034;ltr&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Resource:&lt;/font&gt;&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p dir=&#034;ltr&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;a href=&#034;http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Character.UnicodeBlock.html&#034;&gt;UnicodeBlock&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font face=&#034;Arial&#034;&gt;
&lt;h4&gt;&lt;a class=&#034;taggedlink&#034; rel=&#034;nofollow&#034; href=&#034;http://www.unicode.org/charts/&#034;&gt;Code Charts - Scripts&lt;/a&gt;&lt;/h4&gt;
&lt;/font&gt;&lt;/blockquote&gt;
        </description>
      
      
    
    
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/24/1230105414693.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/24/1230105414693.html</guid>
    <pubDate>Wed, 24 Dec 2008 07:56:54 GMT</pubDate>
  </item>
  
  <item>
    <title>Derby Performance</title>
    <link>http://www.searchfull.net:80/blog/2008/12/22/1229915214912.html</link>
    
      
      
        <description>
          &lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;a href=&#034;http://db.apache.org/derby&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Derby&lt;/font&gt;&lt;/a&gt;/&lt;a href=&#034;http://developers.sun.com/javadb&#034;&gt;Java DB&lt;/a&gt;性能测试评估，最近想选择一个轻量、可伸缩、高性能的嵌入式数据库，所以&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/22/1229915214912.html&#034;&gt;对&lt;font face=&#034;Arial&#034;&gt;&lt;/font&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Derby&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;纯Java数据库进行了测试评估&lt;/a&gt;。从结果看来&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Derby&lt;/font&gt;&lt;/font&gt;还是挺不错的，和&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;db4o,Perst,&lt;font face=&#034;Arial&#034;&gt;Berkeley DB是一个级别的，每秒能插入10000个对象，10000次对象查询能在1秒内完成，删除10000个对象也大约能在1-2秒内完成&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;版本：&lt;/font&gt;&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Apache Derby 10.4&lt;/font&gt;（1.0）：&lt;font face=&#034;Arial&#034;&gt;derby.jar&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;结果：&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Elapsed time for inserting 100000 records: 10563 milliseconds&lt;br /&gt;
Elapsed time for update 100000 records: 10422 milliseconds&lt;br /&gt;
Elapsed time for select 100000 records: 6250 milliseconds&lt;br /&gt;
Elapsed time for deleteing 100000 records: 9046 milliseconds&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir=&#034;ltr&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=&#034;ltr&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;/font&gt;&lt;/p&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/12/22/1229915214912.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>数据库</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/22/1229915214912.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/22/1229915214912.html</guid>
    <pubDate>Mon, 22 Dec 2008 03:06:54 GMT</pubDate>
  </item>
  
  <item>
    <title>Jisp Java Database Performance</title>
    <link>http://www.searchfull.net:80/blog/2008/12/10/1228898730020.html</link>
    
      
      
        <description>
          &lt;p&gt;&lt;a href=&#034;http://www.coyotegulch.com/products/jisp&#034;&gt;Jisp&lt;/a&gt;,A small, embedded database engine written in Pure Java.&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/10/1228898730020.html&#034;&gt;Jisp Performance&lt;/a&gt; is slower than Perst,db4o,jdbm,&lt;font face=&#034;Arial&#034;&gt;Berkeley DB Java Database.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;The TestIndex benchmark measures the performance of such basic operations as storing/fetching objects and locating objects using an index. This test contains three steps:&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Create a specified number of records with random long integers and string keys and include them in long integer and string indices. After inserting of all records, a commit is performed. &lt;/li&gt;
    &lt;li&gt;Search for each record using a long integer and string key. &lt;/li&gt;
    &lt;li&gt;Search for and remove each record from the indices and deallocate it from storage. &lt;/li&gt;
&lt;/ol&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/12/10/1228898730020.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>数据库</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/10/1228898730020.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/10/1228898730020.html</guid>
    <pubDate>Wed, 10 Dec 2008 08:45:30 GMT</pubDate>
  </item>
  
  <item>
    <title>JDBM纯Java数据库性能测试评估</title>
    <link>http://www.searchfull.net:80/blog/2008/12/05/1228470235234.html</link>
    
      
      
        <description>
          &lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;a href=&#034;http://jdbm.sourceforge.net&#034;&gt;JDBM&lt;/a&gt;性能测试评估，最近想选择一个轻量、可伸缩、高性能的嵌入式数据库，所以&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/05/1228470235234.html&#034;&gt;对JDBM 纯Java数据库进行了测试评估&lt;/a&gt;。从结果看来&lt;font face=&#034;Arial&#034;&gt;JDBM还是挺不错的，和&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;db4o,Perst,&lt;font face=&#034;Arial&#034;&gt;Berkeley DB是一个级别的，每秒能插入10000个对象，10000次对象查询能在1秒内完成，删除10000个对象也大约能在1-2秒内完成&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;。看来表现最差的JISP，insert、search、delete差不多都需要30秒。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;版本：&lt;/font&gt;&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;jdbm-unspecified.jar（1.0）&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;结果：&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Elapsed time for inserting 100000 records: 12282 milliseconds&lt;br /&gt;
Elapsed time for performing 100000 index searches: 7125 milliseconds&lt;br /&gt;
Elapsed time for deleting 100000 records: 16203 milliseconds&lt;br /&gt;
&lt;/font&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/12/05/1228470235234.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>数据库</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/05/1228470235234.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/05/1228470235234.html</guid>
    <pubDate>Fri, 05 Dec 2008 09:43:55 GMT</pubDate>
  </item>
  
  <item>
    <title>How to read all the data from an Lucene index?</title>
    <link>http://www.searchfull.net:80/blog/2008/12/05/1228466233973.html</link>
    
      
        <description>
          &lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/05/1228466233973.html&#034;&gt;How to read all the data from a Lucene index?&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;Document numbers start at 0. You will never get a document marked &amp;quot;deleted&amp;quot; from either IndexReader or IndexSearcher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IndexReader reader = IndexReader.open(....);&lt;br /&gt;
&lt;br /&gt;
for (int i = 0; i &amp;lt; reader.maxDoc(); i++) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (reader.isDeleted(i)) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;continue;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Document doc = reader.document(i);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;Hint: if you have an unoptimized index with deleted documents, and you want to retrieve also the content of these deleted documents, call first IndexReader.undeleteAll().&lt;/p&gt;
&lt;div class=&#034;section&#034;&gt;
&lt;p&gt;Apache &lt;a href=&#034;http://lucene.apache.org&#034;&gt;Lucene&lt;/a&gt; is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform. &lt;/p&gt;
&lt;p&gt;Apache Lucene is an open source project available for &lt;a href=&#034;http://www.apache.org/dyn/closer.cgi/lucene/java/&#034;&gt;free download&lt;/a&gt;. Please use the links on the left to access Lucene. &lt;/p&gt;
&lt;/div&gt;
        </description>
      
      
    
    
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/05/1228466233973.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/05/1228466233973.html</guid>
    <pubDate>Fri, 05 Dec 2008 08:37:13 GMT</pubDate>
  </item>
  
  <item>
    <title>Perst Java版性能测试评估</title>
    <link>http://www.searchfull.net:80/blog/2008/12/04/1228357637382.html</link>
    
      
      
        <description>
          &lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;a href=&#034;http://www.mcobject.com/perst&#034;&gt;Perst&lt;/a&gt;性能测试评估，最近想选择一个轻量、可伸缩、高性能的嵌入式数据库，所以&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/03/1228276426786.html&#034;&gt;对Perst&lt;font face=&#034;Arial&#034;&gt;&amp;nbsp;Java版&lt;/font&gt;数据库进行了测试评估&lt;/a&gt;。从结果看来&lt;font face=&#034;Arial&#034;&gt;Perst&amp;nbsp;Java版还是值得试一试，Perst的性能是db4o,Perst,Jisp,&lt;font face=&#034;Arial&#034;&gt;Berkeley DB,JDBM中最出众的&lt;/font&gt;&lt;/font&gt;。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;版本：&lt;/font&gt;&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;perst15-271.jar&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;结果：&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Elapsed time for inserting 100000 records: 3359 milliseconds&lt;br /&gt;
Elapsed time for performing 200000 index searches: 1578 milliseconds&lt;br /&gt;
Elapsed time for deleting 100000 records: 2094 milliseconds&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir=&#034;ltr&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p dir=&#034;ltr&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/p&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/12/04/1228357637382.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>数据库</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/04/1228357637382.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/04/1228357637382.html</guid>
    <pubDate>Thu, 04 Dec 2008 02:27:17 GMT</pubDate>
  </item>
  
  <item>
    <title>db4o Java版性能测试评估</title>
    <link>http://www.searchfull.net:80/blog/2008/12/03/1228305585901.html</link>
    
      
      
        <description>
          &lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;a href=&#034;http://www.db4o.com&#034;&gt;db4o&lt;/a&gt;性能测试评估，最近想选择一个轻量、可伸缩、高性能的嵌入式数据库，所以&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/03/1228275737245.html&#034;&gt;对db4o&lt;font face=&#034;Arial&#034;&gt;&amp;nbsp;Java版&lt;/font&gt;数据库进行了测试评估&lt;/a&gt;。从结果看来&lt;font face=&#034;Arial&#034;&gt;db4o&amp;nbsp;Java版还是值得试一试，插入和删除记录性能和&lt;font face=&#034;Arial&#034;&gt;Berkeley DB Java版差不多，但是查询性能似乎差一些&lt;/font&gt;&lt;/font&gt;。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;版本：&lt;/font&gt;&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;db4o-6.4.54.11278-java5.jar&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;结果：&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;Elapsed time for inserting 100000 records: 8063 milliseconds&lt;br /&gt;
Elapsed time for performing 200000 index searches: 28312 milliseconds&lt;br /&gt;
Elapsed time for deleting 100000 records: 11265 milliseconds&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir=&#034;ltr&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;/font&gt;&lt;/p&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/12/03/1228305585901.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>数据库</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/03/1228305585901.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/03/1228305585901.html</guid>
    <pubDate>Wed, 03 Dec 2008 11:59:45 GMT</pubDate>
  </item>
  
  <item>
    <title>Berkeley DB Java版性能测试评估</title>
    <link>http://www.searchfull.net:80/blog/2008/12/03/1228274869897.html</link>
    
      
      
        <description>
          &lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;a href=&#034;http://www.oracle.com/technology/products/berkeley-db/index.html&#034;&gt;Berkeley DB&lt;/a&gt; 性能测试评估，最近想选择一个轻量、可伸缩、高性能的嵌入式数据库，所以&lt;a href=&#034;http://www.searchfull.net/blog/2008/12/03/1228274869897.html&#034;&gt;对&lt;font face=&#034;Arial&#034;&gt;Berkeley DB&amp;nbsp;Java版&lt;/font&gt;数据库进行了测试评估&lt;/a&gt;。从结果看来&lt;font face=&#034;Arial&#034;&gt;Berkeley DB&amp;nbsp;Java版还是值得试一试&lt;/font&gt;。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;版本：&lt;/font&gt;&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;je-3.3.75.zip&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;结果：&lt;/p&gt;
&lt;blockquote dir=&#034;ltr&#034; style=&#034;MARGIN-RIGHT: 0px&#034;&gt;
&lt;p&gt;&lt;font face=&#034;Arial&#034;&gt;Elapsed time for inserting 100000 records: 12672 milliseconds&lt;br /&gt;
Elapsed time for performing 200000 index searches: 10844 milliseconds&lt;br /&gt;
Elapsed time for iterating through 200000 records: 5297 milliseconds&lt;br /&gt;
Elapsed time for deleting 100000 records: 15859 milliseconds&lt;br /&gt;
Elapsed time for database close 1593 milliseconds&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir=&#034;ltr&#034;&gt;&lt;font face=&#034;Arial&#034;&gt;&lt;/font&gt;&lt;/p&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/12/03/1228274869897.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>数据库</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/12/03/1228274869897.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/12/03/1228274869897.html</guid>
    <pubDate>Wed, 03 Dec 2008 03:27:49 GMT</pubDate>
  </item>
  
  <item>
    <title>我收藏的链接（30）</title>
    <link>http://www.searchfull.net:80/blog/2008/11/17/1226894401267.html</link>
    
      
        <description>
          &lt;dt&gt;&lt;a last_visit=&#034;1226838496&#034; add_date=&#034;1226838496&#034; tags=&#034;xp&#034; href=&#034;http://scrumxp.blogspot.com/&#034;&gt;敏捷软件开发随笔-----敏捷精灵二三事&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226838182&#034; add_date=&#034;1226838182&#034; tags=&#034;xp&#034; href=&#034;http://c2.com/cgi/wiki?KentBeck&#034;&gt;Kent Beck&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;Kent Beck is an American software engineer and the creator of Extreme Programming &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226825571&#034; add_date=&#034;1226825571&#034; tags=&#034;xp&#034; href=&#034;http://www.martinfowler.com/&#034;&gt;Martin Fowler&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;XP 敏捷大师 Martin Fowler &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226718357&#034; add_date=&#034;1226718357&#034; tags=&#034;framework,RIA&#034; href=&#034;http://puremvc.org/component/option,com_frontpage/Itemid,1/&#034;&gt;PureMVC - Home&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;一个MVC的RIA框架 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226717636&#034; add_date=&#034;1226717636&#034; tags=&#034;xp&#034; href=&#034;http://www.infoq.com/cn/news/2008/11/agile-infrastructure-made-easy&#034;&gt;InfoQ: 将敏捷团队从基础工具环境搭建中解脱出来&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;敏捷项目管理工具环境搭建 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226654160&#034; add_date=&#034;1226654160&#034; tags=&#034;jdbc,java&#034; href=&#034;http://www.ibm.com/developerworks/cn/java/j-lo-jdbcproxy/index.html?ca=drs-cn-1114&#034;&gt;使用 JdbcProxy 测试 Java 应用程序&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226654074&#034; add_date=&#034;1226654074&#034; tags=&#034;css,html&#034; href=&#034;http://www.ncdesign.org/html/s030col.htm&#034;&gt;NCDesign Style Sheet Guide - COLOR &amp;amp; BACKGROUND&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226563999&#034; add_date=&#034;1226563999&#034; tags=&#034;wap&#034; href=&#034;http://www.ibm.com/developerworks/cn/xml/x-wbmp/index.html&#034;&gt;产生跨平台的 WBMP&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;wml1.1中使用wbmp图片格式 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226563838&#034; add_date=&#034;1226563838&#034; tags=&#034;wap&#034; href=&#034;http://haka.sharera.com/blog/BlogTopic/17629.htm&#034;&gt;无所事事|XHTML针对WAP页面的设计&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226470670&#034; add_date=&#034;1226470670&#034; tags=&#034;search,lucene&#034; href=&#034;http://wiki.apache.org/jakarta-lucene/PoweredBy&#034;&gt;PoweredBy - Lucene-java Wiki&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;用Lucene开发的软件产品 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226470626&#034; add_date=&#034;1226470626&#034; tags=&#034;wap,google&#034; href=&#034;http://code.google.com/android/download.html&#034;&gt;Download the Android SDK - Android&lt;/a&gt; &lt;/dt&gt;&lt;dd&gt;Google手机GPhone操作系统Android模拟器下载 &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226461573&#034; add_date=&#034;1226461573&#034; tags=&#034;java&#034; href=&#034;http://jphotoalbum.jpkware.com/&#034;&gt;JPhotoAlbum - a free open source Java Photo Album organizer/editor/publisher&lt;/a&gt; &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226455998&#034; add_date=&#034;1226455998&#034; tags=&#034;life&#034; href=&#034;http://card.gz.gov.cn/vfs/web/card.htm&#034;&gt;广州市公众信息服务网 - 广州社会保障卡&lt;/a&gt; &lt;/dt&gt;
        </description>
      
      
    
    
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/11/17/1226894401267.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/11/17/1226894401267.html</guid>
    <pubDate>Mon, 17 Nov 2008 04:00:01 GMT</pubDate>
  </item>
  
  <item>
    <title>如何提高Java EE程序调试的效率</title>
    <link>http://www.searchfull.net:80/blog/2008/11/17/1226883101364.html</link>
    
      
        <description>
          &lt;p&gt;&lt;a href=&#034;http://www.searchfull.net/blog/2008/11/17/1226883101364.html&#034;&gt;如何提高Java EE程序调试的效率？&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如何进行Java EE程序调试，国内普遍的做法好像是，修改代码&amp;mdash;&amp;mdash;&amp;gt;编译&amp;mdash;&amp;mdash;&amp;gt;部署&amp;mdash;&amp;mdash;&amp;gt;重启应用服务器&amp;mdash;&amp;mdash;&amp;gt;手工访问程序验证结果。&lt;br /&gt;
但是我总结一下其实有好几种办法提高和改善程序调试的效率：&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;基于&lt;a href=&#034;http://www.junit.org&#034;&gt;单元测试&lt;/a&gt;开发，单元测试可以脱离应用服务器环境来运行 &lt;/li&gt;
    &lt;li&gt;基于&lt;a href=&#034;http://java.sun.com/javase/technologies/core/toolsapis/jpda&#034;&gt;JPDA&lt;/a&gt;使用Eclipse等IDE的Debug功能进行远程调试 &lt;/li&gt;
    &lt;li&gt;使用支持热部署的应用开发框架，如Tapestry5等；或者使用&lt;a href=&#034;http://www.zeroturnaround.com/javarebel&#034;&gt;JavaRebel &lt;/a&gt;JVM插件技术来实时刷新代码修改&lt;/li&gt;
    &lt;li&gt;学习开发技术和&lt;a href=&#034;http://java.sun.com/j2se/1.5.0/docs/api/&#034;&gt;API&lt;/a&gt;的基础知识，尽量减少调试次数。 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我个人觉得终结的解决方法还是测试驱动开发。&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/11/17/1226883101364.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/11/17/1226883101364.html</guid>
    <pubDate>Mon, 17 Nov 2008 00:51:41 GMT</pubDate>
  </item>
  
  <item>
    <title>我收藏的链接（29）</title>
    <link>http://www.searchfull.net:80/blog/2008/11/08/1226122313004.html</link>
    
      
        <description>
          &lt;dl&gt;&lt;dt&gt;&lt;a last_visit=&#034;1226064946&#034; add_date=&#034;1226064946&#034; tags=&#034;lucene&#034; href=&#034;http://www.ibm.com/developerworks/cn/opensource/os-cn-lucene-pl/index.html?ca=drs-cn-1106&#034;&gt;Lucene Payload  的研究与应用&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225719523&#034; add_date=&#034;1225719523&#034; tags=&#034;ejb3&#034; href=&#034;http://www.javaworld.com/javaworld/jw-10-2008/jw-10-ejb3.html&#034;&gt;EJB 3: From legacy  technology to secret weapon - JavaWorld&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225694530&#034; add_date=&#034;1225694530&#034; tags=&#034;seam&#034; href=&#034;http://www.jboss.org/feeds/post/using_a_seam_gen_project_in_jboss_tools&#034;&gt;Using a seam-gen  project in JBoss Tools&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;Using a seam-gen project in JBoss Tools  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225694231&#034; add_date=&#034;1225694231&#034; tags=&#034;ajax&#034; href=&#034;http://aptana.com/&#034;&gt;Aptana&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;基于Eclipse的开发工具，支持Ajax，RIA  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225684716&#034; add_date=&#034;1225684716&#034; tags=&#034;java,concurrent&#034; href=&#034;http://www.ibm.com/developerworks/cn/java/j-tiger06164/&#034;&gt;驯服 Tiger:  并发集合&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225607532&#034; add_date=&#034;1225607532&#034; tags=&#034;ajax&#034; href=&#034;http://code.google.com/p/jqgrid/&#034;&gt;jqgrid - Google Code&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;jqgrid - jquery grid  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225604215&#034; add_date=&#034;1225604215&#034; tags=&#034;java,collection&#034; href=&#034;http://kongjian.baidu.com/manmoon/blog/item/cdf48f540887761c3a29358c.html&#034;&gt;java.util.concurrent系列文章--(1)JDK1.5 并发集合_生活，奋斗，快乐！&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225603974&#034; add_date=&#034;1225603974&#034; tags=&#034;spider&#034; href=&#034;http://news.csdn.net/n/20081031/120440.html&#034;&gt;Web爬行工具HBase-Writer 0.18.1发布 ,  hbase,heritrix2,writer,hadoop,工具,hdfs,发布,爬行,表,存储, , - CSDN 新闻&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225603861&#034; add_date=&#034;1225603861&#034; tags=&#034;java,collection&#034; href=&#034;http://code.google.com/p/google-collections/&#034;&gt;google-collections - Google Code&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225438720&#034; add_date=&#034;1225438720&#034; tags=&#034;spring,hibernate&#034; href=&#034;http://code.google.com/p/j2eedevtools/source/browse/trunk/devtools/src/com/sunwayworld/common/hibernate/HibernateTemplateSpring.java?r=178&#034;&gt;j2eedevtools - Google Code - HibernateTemplate&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;实现saveOrUpdate方法将为空Null的字段不做Update，避免误将非空的字段更新Update为Null.  通过SessionFactory.getClassMetadata方法获得ClassMetadata ，取Entity的主键标识属性 &lt;/dd&gt;&lt;/dl&gt;
        </description>
      
      
    
    
    
    <category>网摘文章</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/11/08/1226122313004.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/11/08/1226122313004.html</guid>
    <pubDate>Sat, 08 Nov 2008 05:31:53 GMT</pubDate>
  </item>
  
  <item>
    <title>我收藏的链接（28）</title>
    <link>http://www.searchfull.net:80/blog/2008/10/30/1225354103469.html</link>
    
      
        <description>
          &lt;dl&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225350194&#034; add_date=&#034;1225350194&#034; tags=&#034;wml,wap&#034; href=&#034;http://wapjz.yo2.cn/wap%E6%8A%80%E6%9C%AF/wap%E5%BB%BA%E7%AB%99%E4%B8%8D%E5%AE%B9%E6%98%93%EF%BC%81wapwml%E5%BC%80%E5%8F%91faq.html&#034;&gt;WAP建站不容易！WAP(wml)开发FAQ | wap建站服务网&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225349724&#034; add_date=&#034;1225349724&#034; tags=&#034;wml,wap&#034; href=&#034;http://www.developershome.com/wap/wml/wmlSendingData.asp&#034;&gt;WML Tutorial: Learn  How to Submit Form Data to the Server in WML&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;一个WML文档例子  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225349707&#034; add_date=&#034;1225349707&#034; tags=&#034;wml,wap&#034; href=&#034;http://www.w3schools.com/wap/wml_reference.asp&#034;&gt;WML Reference&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;WML参考文档  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225344214&#034; add_date=&#034;1225344214&#034; tags=&#034;java&#034; href=&#034;http://www.mail-archive.com/jvm-languages@googlegroups.com/msg01073.html&#034;&gt;[jvm-l] Calling  non-Java languages from JavaScript&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;通过web页面上的 JavaScript调用页面上任何的applets  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225336140&#034; add_date=&#034;1225336140&#034; tags=&#034;javascript&#034; href=&#034;http://blog.csdn.net/heiheben/archive/2008/06/24/2582009.aspx&#034;&gt;脚本调试工具 Microsoft  Script Debugger - 河之堤 - CSDNBlog&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1225242184&#034; add_date=&#034;1225242184&#034; tags=&#034;awt&#034; href=&#034;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6358034&#034;&gt;Bug ID: 6358034 NPE in  Win32GraphicsEnvironment.displayChanged when switching display mode&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;awt-eventqueue-0 win32graphicsenvironment  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1224924080&#034; add_date=&#034;1224924080&#034; tags=&#034;architecture&#034; href=&#034;http://www.jroller.com/seam/entry/seam_tutorial_overview&#034;&gt;Seam  Tutorial/Tips : Weblog&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1224924073&#034; add_date=&#034;1224924073&#034; tags=&#034;architecture&#034; href=&#034;http://raibledesigns.com/rd/entry/restful_web_applications_with_subbu&#034;&gt;Raible Designs  | RESTful Web Applications with Subbu Allamaraju&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1224646487&#034; add_date=&#034;1224646487&#034; tags=&#034;CTI&#034; href=&#034;http://www.ccmw.net/articles/show/70&#034;&gt;剖析CTI软件产品（下） - 客户世界 - 呼叫中心 | 客户管理  | 数据营销 | 服务外包 - [http://www.ccmw.net]&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1224646464&#034; add_date=&#034;1224646464&#034; tags=&#034;CTI&#034; href=&#034;http://www.ccmw.net/articles/show/69&#034;&gt;剖析CTI软件产品（上） - 客户世界 - 呼叫中心 | 客户管理  | 数据营销 | 服务外包 - [http://www.ccmw.net]&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1224646453&#034; add_date=&#034;1224646453&#034; tags=&#034;tutorials,java&#034; href=&#034;http://developers.sun.com.cn/javapassion/&#034;&gt;JavaPassion 中文站 - 激情无限&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1224406502&#034; add_date=&#034;1224406502&#034; tags=&#034;programming&#034; href=&#034;http://news.csdn.net/n/20081017/120020.html&#034;&gt;国际：什么是程序员的优秀品质？ ,  开发者,程序员,实践,代码,测试者,技术,编程,方法,知识,语言, , - CSDN 新闻&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1224383404&#034; add_date=&#034;1224383404&#034; tags=&#034;google&#034; href=&#034;http://www.baidutong.com/show-article-26566.html&#034;&gt;探秘Google数据中心：运行服务器远超20万台 -  百度通站长资讯网 通天下站长&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1224252542&#034; add_date=&#034;1224252542&#034; tags=&#034;ant&#034; href=&#034;http://www.infoq.com/cn/news/2008/02/maven-debate&#034;&gt;InfoQ: 辩论：Maven是正确的构建工具吗？&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223993289&#034; add_date=&#034;1223993289&#034; tags=&#034;java&#034; href=&#034;http://enjoyjavaeye.javaeye.com/blog/252851&#034;&gt;整理了一天的JAVA面试题（先保存下） - admin -  JavaEye技术网站&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223964322&#034; add_date=&#034;1223964322&#034; tags=&#034;ajax&#034; href=&#034;http://webplicity.net/flexigrid/&#034;&gt;Flexigrid for jQuery : Web 2.0 Javascript Data Grid&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223955578&#034; add_date=&#034;1223955578&#034; tags=&#034;corba&#034; href=&#034;http://doc.javanb.com/javasdk-docs-1-4-1/guide/idl/INStutorial.html&#034;&gt;Java IDL:  Interoperable Naming Service (INS) Example - JDK 5 Documentation v1.4.1, Java 2  SDK 英文文档 - 在线文档 - JAVA 编程资料牛鼻站&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223955311&#034; add_date=&#034;1223955311&#034; tags=&#034;corba&#034; href=&#034;http://oofrank.bokee.com/1907617.html&#034;&gt;基于JAVA实现CORBA应用--oofrank的博客 oo  java .Net&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223954162&#034; add_date=&#034;1223954162&#034; tags=&#034;corba&#034; href=&#034;http://www.javaeye.com/topic/136723&#034;&gt;Eclipse中corba环境的建立 - 企业应用 - Java -  JavaEye论坛&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223869150&#034; add_date=&#034;1223869150&#034; tags=&#034;GDA,IEC,CIM&#034; href=&#034;http://dlrj.tede.cn/2007/11/119605692246219.html&#034;&gt;应用CIM模型进行系统集成 -  输配电设备网&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223716628&#034; add_date=&#034;1223716628&#034; tags=&#034;java&#034; href=&#034;http://www.zeali.net/entry/395&#034;&gt;ConcurrentModificationException | Zeal Blog -  泽欧里的网络日志&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;java.util.ConcurrentModificationException异常  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223716608&#034; add_date=&#034;1223716608&#034; tags=&#034;java&#034; href=&#034;http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/ConcurrentModificationException.html&#034;&gt;ConcurrentModificationException (Java 2 Platform SE  5.0)&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;java.util.ConcurrentModificationException异常  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223691129&#034; add_date=&#034;1223691129&#034; tags=&#034;develope&#034; href=&#034;http://www.infoq.com/cn/news/2008/10/measure-programmers-productivity&#034;&gt;InfoQ:  讨论：衡量程序员的工作效率&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223689757&#034; add_date=&#034;1223689757&#034; tags=&#034;j2me,sms&#034; href=&#034;http://www.cnjm.net/tech/article2857.html&#034;&gt;用J2ME收发短信 -- Wireless Messaging  API - 中国JAVA手机网&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223618439&#034; add_date=&#034;1223618439&#034; tags=&#034;jboss,jetty&#034; href=&#034;http://docs.codehaus.org/display/JETTY/JBoss&#034;&gt;JBoss - Jetty - Codehaus&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;Jetty JBoss Integration.  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223610504&#034; add_date=&#034;1223610504&#034; tags=&#034;cache&#034; href=&#034;http://www.infoq.com/cn/articles/memcached-java&#034;&gt;InfoQ:  缓存系统MemCached的Java客户端优化历程&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223563270&#034; add_date=&#034;1223563270&#034; tags=&#034;software&#034; href=&#034;http://www.jinghua8.com/?p=1718&#034;&gt;50个Windows软件的免费替代品 |  精华之家|HIGHTHOUSE&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223562602&#034; add_date=&#034;1223562602&#034; tags=&#034;software&#034; href=&#034;http://www.cnblogs.com/sharewind/archive/2008/04/06/1139263.html&#034;&gt;Windows系统必备的30个免费开源软件 (转载) - Free Programming - 博客园&lt;/a&gt; &lt;/dt&gt;&lt;/dl&gt;
        </description>
      
      
    
    
    
    <category>网摘文章</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/10/30/1225354103469.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/10/30/1225354103469.html</guid>
    <pubDate>Thu, 30 Oct 2008 08:08:23 GMT</pubDate>
  </item>
  
  <item>
    <title>关于ConcurrentModificationException异常</title>
    <link>http://www.searchfull.net:80/blog/2008/10/11/1223719472958.html</link>
    
      
        <description>
          关于&lt;strong&gt;ConcurrentModificationException&lt;/strong&gt;异常&lt;br /&gt;
&lt;br /&gt;
在Java API里已经解释了这个&lt;a href=&#034;http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/ConcurrentModificationException.html&#034;&gt;&lt;strong&gt;ConcurrentModificationException&lt;/strong&gt;&lt;/a&gt;异常的来历：&lt;br /&gt;
&lt;blockquote&gt;
&lt;p&gt; 当方法检测到对象的并发修改，但不允许这种修改时，抛出此异常。  &lt;/p&gt;
&lt;p&gt; 例如，某个线程在 Collection 上进行迭代时，通常不允许另一个线程修改该 Collection。通常在这些情况下，迭代的结果是不明确的。如果检测到这种行为，一些迭代器实现（包括 JRE 提供的所有通用 collection 实现）可能选择抛出此异常。执行该操作的迭代器称为&lt;em&gt;快速失败&lt;/em&gt; 迭代器，因为迭代器很快就完全失败，而不会冒着在将来某个时间任意发生不确定行为的风险。  &lt;/p&gt;
&lt;p&gt; 注意，此异常不会始终指出对象已经由&lt;em&gt;不同&lt;/em&gt; 线程并发修改。如果单线程发出违反对象协定的方法调用序列，则该对象可能抛出此异常。例如，如果线程使用快速失败迭代器在 collection 上迭代时直接修改该 collection，则迭代器将抛出此异常。  &lt;/p&gt;
&lt;p&gt;注意，迭代器的fail-fast快速失败行为无法得到保证，因为一般来说，不可能对是否出现不同步并发修改做出任何硬性保证。快速失败操作会尽最大努力抛出 &lt;tt&gt;ConcurrentModificationException&lt;/tt&gt;。因此，为提高此类操作的正确性而编写一个依赖于此异常的程序是错误的做法，正确做法是：&lt;em&gt;&lt;tt&gt;ConcurrentModificationException&lt;/tt&gt; 应该仅用于检测 bug。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div id=&#034;entry_introduce&#034;&gt;
&lt;div class=&#034;entry_introduce&#034;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 当使用 fail-fast iterator 对 Collection 或 Map 进行迭代操作过程中尝试直接修改 Collection / Map 的内容时，即使是在单线程下运行， &amp;nbsp;java.util.ConcurrentModificationException 异常也将被抛出。&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;　 　Iterator 是工作在一个独立的线程中，并且拥有一个 mutex 锁。 Iterator 被创建之后会建立一个指向原来对象的单链索引表，当原来的对象数量发生变化时，这个索引表的内容不会同步改变，所以当索引指针往后移动的时候就找不到要迭 代的对象，所以按照 fail-fast 原则 Iterator 会马上抛出 java.util.ConcurrentModificationException 异常。&lt;/p&gt;
&lt;p&gt;　　所以 Iterator 在工作的时候是不允许被迭代的对象被改变的。但你可以使用 Iterator 本身的方法 remove() 来删除对象， Iterator.remove() 方法会在删除当前迭代对象的同时维护索引的一致性。&lt;/p&gt;
&lt;p&gt;　　有意思的是如果你的 Collection / Map 对象实际只有一个元素的时候， ConcurrentModificationException 异常并不会被抛出。这也就是为什么&lt;a href=&#034;http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/ConcurrentModificationException.html&#034; target=&#034;_blank&#034;&gt;在 javadoc 里面指出&lt;/a&gt;： it would be wrong to write a program that depended on this exception for its correctness: &lt;em&gt;&lt;tt&gt;ConcurrentModificationException&lt;/tt&gt; should be used only to detect bugs.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;下面的代码没有问题：&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol class=&#034;dp-j&#034; start=&#034;1&#034;&gt;
    &lt;li&gt;&lt;span&gt;&lt;span class=&#034;keyword&#034;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;java.util.*;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&lt;span class=&#034;keyword&#034;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;keyword&#034;&gt;class&lt;/span&gt;&lt;span&gt;&amp;nbsp;TryIteratorRemove&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&#034;keyword&#034;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;keyword&#034;&gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&#034;keyword&#034;&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;main(String&amp;nbsp;[]&amp;nbsp;args){&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Collection&amp;lt;String&amp;gt;&amp;nbsp;myCollection&amp;nbsp;=&amp;nbsp;&lt;span class=&#034;keyword&#034;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ArrayList&amp;lt;String&amp;gt;(&lt;/span&gt;&lt;span class=&#034;number&#034;&gt;10&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myCollection.add(&lt;span class=&#034;string&#034;&gt;&amp;quot;123&amp;quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myCollection.add(&lt;span class=&#034;string&#034;&gt;&amp;quot;456&amp;quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myCollection.add(&lt;span class=&#034;string&#034;&gt;&amp;quot;789&amp;quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&#034;keyword&#034;&gt;int&lt;/span&gt;&lt;span&gt;&amp;nbsp;i=&lt;/span&gt;&lt;span class=&#034;number&#034;&gt;0&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&#034;keyword&#034;&gt;for&lt;/span&gt;&lt;span&gt;(Iterator&amp;nbsp;it&amp;nbsp;=&amp;nbsp;myCollection.iterator();it.hasNext();)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;myObject&amp;nbsp;=&amp;nbsp;(String)it.next();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(myObject);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i++;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&#034;keyword&#034;&gt;if&lt;/span&gt;&lt;span&gt;(i==&lt;/span&gt;&lt;span class=&#034;number&#034;&gt;1&lt;/span&gt;&lt;span&gt;){&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&#034;comment&#034;&gt;//myCollection.remove(myObject);&lt;/span&gt;&lt;span&gt;&amp;nbsp; //这行代码有问题，会抛出&lt;/span&gt;&lt;/span&gt;&lt;em&gt;&lt;tt&gt;ConcurrentModificationException&lt;/tt&gt; &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;it.remove();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&lt;span class=&#034;string&#034;&gt;&amp;quot;After&amp;nbsp;remove,the&amp;nbsp;size&amp;nbsp;of&amp;nbsp;myCollection&amp;nbsp;is:&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myCollection.size()+&lt;span class=&#034;string&#034;&gt;&amp;quot;&amp;nbsp;\n&amp;nbsp;and&amp;nbsp;its&amp;nbsp;content&amp;nbsp;is:&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&#034;keyword&#034;&gt;for&lt;/span&gt;&lt;span&gt;(String&amp;nbsp;s&amp;nbsp;:&amp;nbsp;myCollection){&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(s);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;}&amp;nbsp; &lt;br /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;br /&gt;
&lt;/em&gt; &lt;/p&gt;
&lt;strong&gt;&lt;/strong&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
        </description>
      
      
    
    
    
    <category>Java技术</category>
    
    <category>随笔</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/10/11/1223719472958.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/10/11/1223719472958.html</guid>
    <pubDate>Sat, 11 Oct 2008 10:04:32 GMT</pubDate>
  </item>
  
  <item>
    <title>我收藏的链接（27）</title>
    <link>http://www.searchfull.net:80/blog/2008/10/09/1223560255750.html</link>
    
      
        <description>
          &lt;dl&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223537751&#034; add_date=&#034;1223537751&#034; tags=&#034;java&#034; href=&#034;http://www.infoq.com/cn/news/2007/05/grails-gathers-steam&#034;&gt;InfoQ: Grails做足功夫  全力迈向1.0版&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223520153&#034; add_date=&#034;1223520153&#034; tags=&#034;GTD&#034; href=&#034;http://live.haliluya.org/weblog/2008/04/10/thunderbird-gmail-gtd/&#034;&gt;让Thunderbird成为GTD工具 at  live@haliluya&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223520145&#034; add_date=&#034;1223520145&#034; tags=&#034;GTD&#034; href=&#034;http://internet.solidot.org/article.pl?sid=06/08/31/0050251&amp;amp;from=rss&#034;&gt;Solidot |  用Gmail做GTD管理&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223517509&#034; add_date=&#034;1223517509&#034; tags=&#034;ebooks&#034; href=&#034;http://www.m10.ir/books.html&#034;&gt;100_Linux_Tips_And_Tricks&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;开发技术以及IT书籍  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223430414&#034; add_date=&#034;1223430414&#034; tags=&#034;javascript&#034; href=&#034;http://www.greywyvern.com/code/js/keyboard.html&#034;&gt;Javascript Graphical / Virtual  Keyboard Interface&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223430408&#034; add_date=&#034;1223430408&#034; tags=&#034;javascript&#034; href=&#034;http://sites.google.com/a/daffodildb.com/study/java-script/java-script-super-advance&#034;&gt;JavaScript  Virtual Keyboard (Study)&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223369602&#034; add_date=&#034;1223369602&#034; tags=&#034;quartz&#034; href=&#034;http://java-x.blogspot.com/2006/12/using-quartz-scheduler-in-cluster.html&#034;&gt;Abhi On Java: Using  Quartz Scheduler in a cluster&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223362973&#034; add_date=&#034;1223362973&#034; tags=&#034;gtd&#034; href=&#034;http://gtd.jeffsandquist.com/Default.aspx?Page=GTDTools&amp;amp;AspxAutoDetectCookieSupport=1&#034;&gt;Tools for Getting  Things Done - Getting Things Done Wiki&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;Tools for GTD (Getting Things Done)  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223197519&#034; add_date=&#034;1223197519&#034; tags=&#034;blog&#034; href=&#034;http://www.bbon.cn/2008/02/%E4%B8%83%E5%A4%A7%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E7%9A%84%E5%8D%9A%E5%AE%A2%E6%8F%90%E4%BA%A4%E5%85%A5%E5%8F%A3%E5%88%97%E8%A1%A8.html/&#034;&gt;七大搜索引擎博客搜索的博客提交入口网址 -  菠菜博&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223177510&#034; add_date=&#034;1223177510&#034; tags=&#034;web&#034; href=&#034;http://news.csdn.net/n/20081004/119597.html&#034;&gt;Web 领域25个最有影响力的人(上) ,  huffington,bezos,创办,创业,领域,baker,ballmer,投资,ceo,微软, , - CSDN 新闻&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223124866&#034; add_date=&#034;1223124866&#034; tags=&#034;testing&#034; href=&#034;http://www.infoq.com/cn/news/2008/10/qualities_good_test&#034;&gt;InfoQ:  好的测试应该具备哪些特质？&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223106069&#034; add_date=&#034;1223106069&#034; tags=&#034;CRM&#034; href=&#034;http://www.hipergate.org/&#034;&gt;hipergate :. Free Open Source CRM Groupware and Intranet  Software&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1223023723&#034; add_date=&#034;1223023723&#034; tags=&#034;Scrum&#034; href=&#034;http://www-128.ibm.com/developerworks/cn/rational/rationaledge/content/apr05/krebs/&#034;&gt;RUP与Scrum的对话&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1222933951&#034; add_date=&#034;1222933951&#034; tags=&#034;database,b-tree&#034; href=&#034;http://www.bluerwhite.org/btree/&#034;&gt;B-Trees&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1222917652&#034; add_date=&#034;1222917652&#034; tags=&#034;search&#034; href=&#034;http://blog.csdn.net/gdsean/archive/2003/11/13/6338.aspx&#034;&gt;jdbm开源文件数据库在全文检索中的使用  - gdsean的专栏 - CSDNBlog&lt;/a&gt;  &lt;/dt&gt;&lt;dt&gt;&lt;a last_visit=&#034;1222911049&#034; add_date=&#034;1222911049&#034; tags=&#034;yui&#034; href=&#034;http://developer.yahoo.com/yui/docs/YAHOO.widget.TextNode.html&#034;&gt;API: treeview  YAHOO.widget.TextNode (YUI Library)&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;yui tree组件 API  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1222673892&#034; add_date=&#034;1222673892&#034; tags=&#034;brand&#034; href=&#034;http://brand.icxo.com/summit/2008world500/top500_1.htm&#034;&gt;2008年(第五届)《世界品牌500强》排行榜&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;2008年《世界品牌500强》排行榜 名单  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1222416484&#034; add_date=&#034;1222416484&#034; tags=&#034;jquery&#034; href=&#034;http://www.kollermedia.at/archive/2007/11/21/the-ultimate-jquery-plugin-list/&#034;&gt;The ultimate jQuery  Plugin List | Kollermedia.at&lt;/a&gt;  &lt;/dt&gt;&lt;dd&gt;jquery插件  &lt;/dd&gt;&lt;dt&gt;&lt;a last_visit=&#034;1222415515&#034; add_date=&#034;1222415515&#034; tags=&#034;ajax,eclipse&#034; href=&#034;http://www.aptana.com/studio&#034;&gt;Aptana Studio | Aptana&lt;/a&gt; &lt;/dt&gt;&lt;/dl&gt;
        </description>
      
      
    
    
    
    <category>网摘文章</category>
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/10/09/1223560255750.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/10/09/1223560255750.html</guid>
    <pubDate>Thu, 09 Oct 2008 13:50:55 GMT</pubDate>
  </item>
  
  <item>
    <title>在Spring中使用Quartz任务调度支持集群</title>
    <link>http://www.searchfull.net:80/blog/2008/10/07/1223367791992.html</link>
    
      
      
        <description>
          &lt;p&gt;虽然在&lt;a href=&#034;http://www.opensymphony.com/quartz/&#034;&gt;Quartz&lt;/a&gt;上有&lt;a title=&#034;0.41849995&#034; href=&#034;http://www.searchfull.net/blog/2008/03/08/1204966617410.html&#034;&gt;配置Quartz集群Clustering&lt;/a&gt; ，但是在Spring中使用Q&lt;font face=&#034;Arial&#034;&gt;uartz任务调度并支持集群系统却有些问题，下面介绍解决办法：&lt;/font&gt;&lt;/p&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/10/07/1223367791992.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>Java技术</category>
    
    <category>随笔</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/10/07/1223367791992.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/10/07/1223367791992.html</guid>
    <pubDate>Tue, 07 Oct 2008 08:23:11 GMT</pubDate>
  </item>
  
  <item>
    <title>一个解析日期时间格式的Java类源代码</title>
    <link>http://www.searchfull.net:80/blog/2008/09/28/1222565801018.html</link>
    
      
      
        <description>
          一个解析日期时间格式的Java类源代码
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/09/28/1222565801018.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/09/28/1222565801018.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/09/28/1222565801018.html</guid>
    <pubDate>Sun, 28 Sep 2008 01:36:41 GMT</pubDate>
  </item>
  
  <item>
    <title>使用nekohtml完全控制并修整html</title>
    <link>http://www.searchfull.net:80/blog/2008/07/24/1216869277428.html</link>
    
      
      
        <description>
          除了&lt;a href=&#034;http://tidy.sourceforge.net&#034;&gt;Tidy&lt;/a&gt;和&lt;a href=&#034;http://htmlcleaner.sourceforge.net/ &#034;&gt;HtmlCleaner&lt;/a&gt;，还可以使用&lt;a href=&#034;http://sourceforge.net/projects/nekohtml&#034;&gt;nekohtml&lt;/a&gt;完全解析、控制并修整html标签内容。&lt;br /&gt;
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/07/24/1216869277428.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/07/24/1216869277428.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/07/24/1216869277428.html</guid>
    <pubDate>Thu, 24 Jul 2008 03:14:37 GMT</pubDate>
  </item>
  
  <item>
    <title>Ubuntu安装memcached的“C compiler cannot create executables”问题</title>
    <link>http://www.searchfull.net:80/blog/2008/07/24/1216867477617.html</link>
    
      
      
        <description>
          On &lt;strong&gt;debian&lt;/strong&gt;:&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
apt-get install libc6-dev&lt;br /&gt;
&lt;br /&gt;
$ apt-get install libc6-dev g++ gcc
&lt;br /&gt;
On &lt;strong&gt;Fedora&lt;/strong&gt;:&lt;br /&gt;
&lt;br /&gt;
$ locate crt1.o &lt;br /&gt;
/usr/lib/crt1.o
          &lt;p&gt;&lt;a href="http://www.searchfull.net:80/blog/2008/07/24/1216867477617.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>Java技术</category>
    
    <comments>http://www.searchfull.net:80/blog/2008/07/24/1216867477617.html#comments</comments>
    <guid isPermaLink="true">http://www.searchfull.net:80/blog/2008/07/24/1216867477617.html</guid>
    <pubDate>Thu, 24 Jul 2008 02:44:37 GMT</pubDate>
  </item>
  
  </channel>
</rss>
