﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-我不是张嘎－小兵</title><link>http://www.blogjava.net/grantbb/</link><description>期待交流</description><language>zh-cn</language><lastBuildDate>Sat, 02 May 2026 10:27:38 GMT</lastBuildDate><pubDate>Sat, 02 May 2026 10:27:38 GMT</pubDate><ttl>60</ttl><item><title>BooleanQuery$TooManyClauses的问题</title><link>http://www.blogjava.net/grantbb/archive/2007/05/21/118939.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Mon, 21 May 2007 09:21:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/05/21/118939.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/118939.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/05/21/118939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/118939.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/118939.html</trackback:ping><description><![CDATA[org.apache.lucene.search.BooleanQuery$TooManyClauses: maxClauseCount is set to 1024<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.BooleanQuery.add(BooleanQuery.java:165)<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.BooleanQuery.add(BooleanQuery.java:156)<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.PrefixQuery.rewrite(PrefixQuery.java:53)<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:408)<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:138)<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.Query.weight(Query.java:94)<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.Hits.&lt;init&gt;(Hits.java:42)<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.Searcher.search(Searcher.java:45)<br>
&nbsp;&nbsp;&nbsp; at org.apache.lucene.search.Searcher.search(Searcher.java:37)<br>
&nbsp;&nbsp;&nbsp; at com.toodou.searcher.search.PodcasterSearcher.searchPodcaster(PodcasterSearcher.java:238)<br>
&nbsp;&nbsp;&nbsp; at com.toodou.searcher.search.PodcasterSearcher.doPodcasterSearch(PodcasterSearcher.java:66)<br>
&nbsp;&nbsp;&nbsp; at test.com.toodou.searcher.search.PodcasterSearcherTest.testdoPodcasterSearch(PodcasterSearcherTest.java:57)<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Method.java:585)<br>
&nbsp;&nbsp;&nbsp; at junit.framework.TestCase.runTest(TestCase.java:154)<br>
&nbsp;&nbsp;&nbsp; at junit.framework.TestCase.runBare(TestCase.java:127)<br>
&nbsp;&nbsp;&nbsp; at junit.framework.TestResult$1.protect(TestResult.java:106)<br>
&nbsp;&nbsp;&nbsp; at junit.framework.TestResult.runProtected(TestResult.java:124)<br>
&nbsp;&nbsp;&nbsp; at junit.framework.TestResult.run(TestResult.java:109)<br>
&nbsp;&nbsp;&nbsp; at junit.framework.TestCase.run(TestCase.java:118)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)<br>
<br>
可以通过设置：<br>
BooleanQuery.setMaxClauseCount(10000);<br>
来解决问题，但是这样带来的问题是会使得内存开销加大。容易出现OutOfMemory的异常<br>
所以需要非常谨慎处理。<img src ="http://www.blogjava.net/grantbb/aggbug/118939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-05-21 17:21 <a href="http://www.blogjava.net/grantbb/archive/2007/05/21/118939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>异常："java.sql.SQLException: Server shutdown in progress"</title><link>http://www.blogjava.net/grantbb/archive/2007/05/15/117641.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Tue, 15 May 2007 08:20:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/05/15/117641.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/117641.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/05/15/117641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/117641.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/117641.html</trackback:ping><description><![CDATA[查询MySQL会出现："java.sql.SQLException: Server shutdown in progress"的异常<br><br>问题原因：数据有自动脚本，会将执行时间超过30秒的进程杀掉。<br>这样的话，Java的应用就会抛出这样的异常。<br><br><img src ="http://www.blogjava.net/grantbb/aggbug/117641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-05-15 16:20 <a href="http://www.blogjava.net/grantbb/archive/2007/05/15/117641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CAS最近的更新</title><link>http://www.blogjava.net/grantbb/archive/2007/04/23/112907.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Mon, 23 Apr 2007 03:19:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/04/23/112907.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/112907.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/04/23/112907.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/112907.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/112907.html</trackback:ping><description><![CDATA[<h2 id="ann1">CAS Server 3.1 M2 Released</h2>
<h2 id="ann7">CAS Server and Client 3.1 Milestone 1 Released</h2>
<h2 id="ann8">phpCAS 0.5.0 RC5 Release</h2>
<h2 id="ann2">CAS 3.0.7 Final Release</h2>
Inclusion of Abstract Ticket Registry<br><br>
<h2 id="ann10">CAS 3.0.6 Final</h2>
这里面有几个更新很重要：<br>1.Upgrade to Spring 2.0.1, Spring Web Flow 1.0 and Spring LDAP 1.1.1<br><br>2.Introduction of JBossCacheTicketRegistry<br>&nbsp;&nbsp;&nbsp; 支持后JBossCacheTicketRegistry就可以方便大并发量的网站的水平扩展问题。<br><br> <img src ="http://www.blogjava.net/grantbb/aggbug/112907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-04-23 11:19 <a href="http://www.blogjava.net/grantbb/archive/2007/04/23/112907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何保证一个软件的质量</title><link>http://www.blogjava.net/grantbb/archive/2007/04/18/111729.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Wed, 18 Apr 2007 12:04:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/04/18/111729.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/111729.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/04/18/111729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/111729.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/111729.html</trackback:ping><description><![CDATA[<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">软件过程方面<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>我们team采用的软件开发过程是借鉴了UP的迭代开发过程。坚持迭代的渐进式开发，每次迭代都是小步进行的，一般都是保持2周一次迭代。在开发过程中重视需求，要写清楚UseCase描述，而不是仅仅画出UseCase图。测试也是我们非常重视的，包括了单元测试和集成测试。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">软件开发方法<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>我们采用的是OO的设计和实现方法。通过一些开源框架的使用，提高效率和代码的质量。在设计的时候会用一些经典的设计模式来优化设计，为以后更好地满足需求变动做好准备。单元测试是我们非常重视的，要求必须写单元测试，而且要能够覆盖尽可能多的分支和边界。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>我们团队还会采用一些XP的开发实践例如：TDD、重构、CodeReview、结对编程、持续构建，通过这些实践却是能够极大提高代码的质量，进一步提高软件产品的质量。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">软件开发工具<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>我们也非常重视工具的使用，使用工具来帮助我们更好的提高质量，首先一定要有版本控制系统，可以使用CVS或者SVN。通过checkstyle这样的工具可以帮助我们检查代码是否规范。通过findbugs这样的工具帮助我们发现一些bug。使用一些自动化的测试工具，提高测试的效率和回归测试的质量。使用测试覆盖率工具检查单元测试的覆盖率。我还会使用一些性能测试工具测试系统的性能，发现一些性能问题。<o:p></o:p></span></p><img src ="http://www.blogjava.net/grantbb/aggbug/111729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-04-18 20:04 <a href="http://www.blogjava.net/grantbb/archive/2007/04/18/111729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从项目管理的九大知识领域来说明如何完成项目</title><link>http://www.blogjava.net/grantbb/archive/2007/04/18/111728.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Wed, 18 Apr 2007 12:03:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/04/18/111728.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/111728.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/04/18/111728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/111728.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/111728.html</trackback:ping><description><![CDATA[<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">我主要结合项目管理的九大知识领域来说明，需要说明的是在我接触的项目中，九个领域的内容有一些没有接触过的我就略过。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">范围管理：<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>首先会有产品经理提出我们要开发一个什么样的软件，有那些功能，基本上就是一些FeatureList，然后给出vision
and scope文档。软件开发的项目经理会根据这份文档，通过沟通，来写出SRS。其中主要包括了UseCase和非功能性需求以及一些约束条件。有了这些内容后，会开一个需求确认会，来确认已经明确的需求，会议上可以对不明确的需求进行讨论和完善。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">时间管理：<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>项目经理在接到软件项目开发任务后，就要制定出一个大致的项目计划，然后有了软件的需求文档之后，可以进一步细化项目的计划。在做项目计划的时候同时会牵扯到任务的分工。在项目进行的过程中严格按照项目计划进行。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">采购管理<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>项目的前期，项目经理需要明确软件安装需要多少服务器，服务器的配置是什么样的。什么时候必须到货，预算的经费是多少等。如果项目的人手不够，同时要考虑进行软件外包。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">人力资源管理<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>主要是提高团队的士气和凝聚力，让每一位团队成员都有清晰一致的目标，从生活等各个方面关心开发人员，帮助他们解决一些实实在在的问题。如果有软件外包，还要统一得管理好外包的软件开发人员。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">沟通管理<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>经常开项目小组会议，保持信息畅通，通过wiki等工具保持信息共享。每天都有晨会，周报发给小组的所有成员。通过聚餐、喝茶等方式增进交流。针对不同的员工可能需要采用不同的方式，例如：有的人喜欢面对面的沟通，有的喜欢email沟通，有得喜欢msn等等。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">风险管理<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>我认为比较重要的是抓住开发过程的几个环节，例如：需求分析、界面的设计、接口的设计、数据库的设计等。每天项目经理都要确认项目的进度是否正常，检查项目的质量，尽可能早的发现一些问题。经常得跟产品经理交流，确保开发的软件产品符合需求。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">成本管理<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>对于我接触的项目，牵扯到成本管理的主要就是开发人员的成本，分配好任务，把握住进度，提高开发团队的效率就能够为公司节省开支，从而达到控制成本的目的。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9pt; font-family: 宋体;">质量管理<o:p></o:p></span></p>
<span style="font-size: 9pt; font-family: 宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>我认为质量管理应该贯穿于整个的软件开发过程中。比较典型的有，首先就是要保证SRS的质量，只有需求的质量控制住了，整个项目才有保障。软件的编码要规范，有详细清楚的注释，要求写单元测试，定期的进行代码review会议，要有集成测试和系统测试。对于我们的互联网产品，由于产品环境比较复杂，所以一定要有相应的系统测试，也可以称为线上测试。</span><img src ="http://www.blogjava.net/grantbb/aggbug/111728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-04-18 20:03 <a href="http://www.blogjava.net/grantbb/archive/2007/04/18/111728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>developerworks上关于泛型的文章</title><link>http://www.blogjava.net/grantbb/archive/2007/04/18/111727.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Wed, 18 Apr 2007 11:57:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/04/18/111727.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/111727.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/04/18/111727.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/111727.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/111727.html</trackback:ping><description><![CDATA[<strong><a  href="http://www.ibm.com/developerworks/cn/java/j-djc02113/">诊断 Java 代码: 轻松掌握 Java 泛型</a></strong><br><br><strong><a  href="http://www.ibm.com/developerworks/cn/java/j-djc03113/">诊断 Java 代码: 轻松掌握 Java 泛型类型，第 2 部分</a></strong>
<br><br><strong><a  href="http://www.ibm.com/developerworks/cn/java/j-djc04093/">诊断 Java 代码: 轻松掌握 Java 泛型，第 3 部分</a></strong>
<br><br><strong><a  href="http://www.ibm.com/developerworks/cn/java/j-djc05133/">诊断 Java 代码: 轻松掌握 Java 泛型，第 4 部分</a></strong>
<br><br><strong><a  href="http://www.ibm.com/developerworks/cn/java/j-jtp01255.html">Java 理论和实践: 了解泛型</a></strong>
<br><br><strong><a  href="http://www.ibm.com/developerworks/cn/java/j-lo-gj/index.html">多角度看 Java 中的泛型</a></strong>
<br><br><strong><a  href="http://www.ibm.com/developerworks/cn/opensource/os-ecljgs/">Eclipse V3.1 中的 Java 泛型支持</a></strong>
<br><br><strong><a  href="http://www.ibm.com/developerworks/cn/views/java/tutorials.jsp?cv_doc_id=85169">介绍 JDK 5.0 中的泛型</a></strong>
<br><br><strong><a  href="http://www.ibm.com/developerworks/cn/java/j-genjava/">编译时使用 Generic Java 捕获更多的错误</a></strong>
<br><img src ="http://www.blogjava.net/grantbb/aggbug/111727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-04-18 19:57 <a href="http://www.blogjava.net/grantbb/archive/2007/04/18/111727.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Lucene2.1的新变化</title><link>http://www.blogjava.net/grantbb/archive/2007/03/22/105669.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Thu, 22 Mar 2007 14:46:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/03/22/105669.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/105669.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/03/22/105669.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/105669.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/105669.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal">
				<span lang="EN-US">1.9</span>
				<span style="font-family: 宋体;">到</span>
				<span lang="EN-US">2.0</span>
				<span style="font-family: 宋体;">的改动不是很多，主要是废弃了一些</span>
				<span lang="EN-US">API</span>
				<span style="font-family: 宋体;">，</span>
				<span lang="EN-US">2.0</span>
				<span style="font-family: 宋体;">起了一个过渡的作用。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">2.1</span>
				<span style="font-family: 宋体;">是在</span>
				<span lang="EN-US">2.0</span>
				<span style="font-family: 宋体;">基础上做了很多的改进，提升了性能，修复了一些</span>
				<span lang="EN-US">Bug</span>
				<span style="font-family: 宋体;">等。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">Lucene2.1</span>
				<span style="font-family: 宋体;">在索引的格式上做了一些改进，所以旧版本的</span>
				<span lang="EN-US">Lucene</span>
				<span style="font-family: 宋体;">是无法访问</span>
				<span lang="EN-US">2.1</span>
				<span style="font-family: 宋体;">版的索引文件。但是</span>
				<span lang="EN-US">2.1</span>
				<span style="font-family: 宋体;">版本的可以读写旧版本的索引文件。保持向下的兼容性。这点需要我们在使用时注意。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">下面简单的列出一些新的特性：</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">1.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span lang="EN-US">'s'</span>
				<span style="font-family: 宋体;">和</span>
				<span lang="EN-US">'t'</span>
				<span style="font-family: 宋体;">从默认的</span>
				<span lang="EN-US">stopwords</span>
				<span style="font-family: 宋体;">中移掉了。但是依然还有</span>
				<span lang="EN-US">'a'</span>
				<span style="font-family: 宋体;">也可以会有同样的问题，所以分词需要针对自己的应用进行自定义。</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">2.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">更新了</span>
				<span lang="EN-US">StandardAnalyzer</span>
				<span style="font-family: 宋体;">中的针对</span>
				<span lang="EN-US">CJK</span>
				<span style="font-family: 宋体;">的</span>
				<span lang="EN-US">Unicode</span>
				<span style="font-family: 宋体;">代码范围。用处不大，因为我们中文需要自己开发分词。</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">3.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">允许在</span>
				<span lang="EN-US">QueryParser</span>
				<span style="font-family: 宋体;">的最前面使用通配符</span>
				<span lang="EN-US">(*, ?)</span>
				<span style="font-family: 宋体;">，之前是不允许的。这个比较有意义，可以实现一些模糊搜索。</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">4.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span lang="EN-US">QueryParser</span>
				<span style="font-family: 宋体;">默认使用</span>
				<span lang="EN-US">ConstantScoreRangeQuery</span>
				<span style="font-family: 宋体;">执行范围查询。增加了</span>
				<span lang="EN-US">useOldRangeQuery</span>
				<span style="font-family: 宋体;">属性允许在需要的情况下使用旧的</span>
				<span lang="EN-US">RangeQuery</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">5.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">对于</span>
				<span lang="EN-US">WildcardQuery</span>
				<span style="font-family: 宋体;">，如果一个</span>
				<span lang="EN-US">term</span>
				<span style="font-family: 宋体;">不包含任何的</span>
				<span lang="EN-US">?</span>
				<span style="font-family: 宋体;">或者</span>
				<span lang="EN-US">*</span>
				<span style="font-family: 宋体;">，之前会抛出异常，现在会执行一个</span>
				<span lang="EN-US">TermQuery</span>
				<span style="font-family: 宋体;">。</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">6.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">去掉了</span>
				<span lang="EN-US">deprecated</span>
				<span style="font-family: 宋体;">的</span>
				<span lang="EN-US">doc.fields()</span>
				<span style="font-family: 宋体;">方法和</span>
				<span lang="EN-US">Enumeration</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">7.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span lang="EN-US">write lock</span>
				<span style="font-family: 宋体;">现在默认的位置是索引的目录，简单命名为</span>
				<span lang="EN-US">write.lock</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">8.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">新的</span>
				<span lang="EN-US">FieldSelector API</span>
				<span style="font-family: 宋体;">，相关的</span>
				<span lang="EN-US">IndexReader</span>
				<span style="font-family: 宋体;">和实现都发生了变化。新的</span>
				<span lang="EN-US">Fieldable</span>
				<span style="font-family: 宋体;">接口被用作字段的延迟加载上。</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">9.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">使用</span>
				<span lang="EN-US">MultiFieldQueryParser</span>
				<span style="font-family: 宋体;">的时候可以为不同的</span>
				<span lang="EN-US">field</span>
				<span style="font-family: 宋体;">指定不同的</span>
				<span lang="EN-US">boosts</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">10.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">  
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">新的方法</span>
				<span lang="EN-US"> IndexWriter.addIndexesNoOptimize()</span>
				<span style="font-family: 宋体;">在新添加一个新的</span>
				<span lang="EN-US">segments</span>
				<span style="font-family: 宋体;">的时候，只进行合并，不进行优化。</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">11.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">  
</span></span>
				</span>
				<!--[endif]-->
				<span lang="EN-US">QueryParser</span>
				<span style="font-family: 宋体;">允许在引号和短语中使用反斜线</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">12.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">  
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">增加了方法</span>
				<span lang="EN-US">RAMDirectory.sizeInBytes(), IndexWriter.ramSizeInBytes()</span>
				<span style="font-family: 宋体;">和</span>
				<span lang="EN-US">IndexWriter.flushRamSegments()</span>
				<span style="font-family: 宋体;">，允许应用程序控制索引时缓存文档对内存的使用，这些蛮有用的，可以用于监控索引的过程。</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">13.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">  
</span></span>
				</span>
				<!--[endif]-->
				<span lang="EN-US">QueryParser</span>
				<span style="font-family: 宋体;">解析</span>
				<span lang="EN-US">*:*</span>
				<span style="font-family: 宋体;">为匹配所有的内容</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">14.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">  
</span></span>
				</span>
				<!--[endif]-->
				<span style="font-family: 宋体;">可以通过命令行在已经存在的索引文件中修改和删除</span>
				<span lang="EN-US">field</span>
		</p>
		<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;">
				<!--[if !supportLists]-->
				<span style="" lang="EN-US">
						<span style="">15.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">  
</span></span>
				</span>
				<!--[endif]-->
				<span lang="EN-US">IndexWriter</span>
				<span style="font-family: 宋体;">增加了方法来高效得更新</span>
				<span lang="EN-US">documents</span>
				<span style="font-family: 宋体;">。增加</span>
				<span lang="EN-US">IndexWriter.flush()</span>
				<span style="font-family: 宋体;">方法将内存的内容刷新到文件系统。</span>
		</p>

                                            小兵 2007-3-22<br /><img src ="http://www.blogjava.net/grantbb/aggbug/105669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-03-22 22:46 <a href="http://www.blogjava.net/grantbb/archive/2007/03/22/105669.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySpace的成功经验</title><link>http://www.blogjava.net/grantbb/archive/2007/03/20/104917.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Tue, 20 Mar 2007 04:16:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/03/20/104917.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/104917.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/03/20/104917.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/104917.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/104917.html</trackback:ping><description><![CDATA[
		<ul>
				<li>数字
<ul><li>MySpace月访问量400亿

</li><li>比喻：粉刷金门大桥，工作完成之时，就是重新来过之日

</li><li>新闻集团2005年5.8亿收购MySpace，现在至少值60亿

</li></ul></li>
				<li>数据缓存
<ul><li>同步问题？

</li></ul></li>
				<li>50万账户
<ul><li>数据库采用主从结构，主负责update，从负责read

</li></ul></li>
				<li>1-2百万账户
<ul><li>I/O并发容量问题

</li><li>不同的数据库服务器服务于不同的服务
<ul><li>博客

</li><li>认证

</li><li>个性信息拆分

</li></ul></li><li>新功能使用新数据库

</li><li>从存储设备与数据库服务器直接交换切换到SAN(Storage Area Network)

</li><li>用高带宽、专门设计的网络将大量磁盘存储设备连接在一起(SAN)

</li></ul></li>
				<li>3百万账户
<ul><li>高度独立，有些信息必须共享
<ul><li>每个数据库必须有各自的用户表副本

</li></ul></li><li>向上和向外扩展的问题
<ul><li>向上：多CPU，大内存
<ul><li>昂贵

</li></ul></li><li>只要增长趋势存在，无论如何都要走向外扩展的道路

</li></ul></li><li>将整个站点作为一个应用看待

</li><li>将用户按百万一组分割
<ul><li>各组的全部数据存放到一个DB实例

</li><li>每台两个DB实例，容纳200万用户

</li></ul></li><li>还有一个特殊的数据库保存用户名和密码
<ul><li>登录、认证

</li><li>功能单一

</li></ul></li></ul></li>
				<li>9百万到1千7百万账户
<ul><li>1千万：存储瓶颈、I/O极限

</li><li>某些数据量会非常大（热门、突发）

</li><li>3PAR:均匀数据访问负荷（负载均衡）

</li><li>数据缓存层
<ul><li>被频繁请求的数据对象的副本

</li><li>不是所有的数据都要放到数据库

</li></ul></li></ul></li>
				<li>2千6百万账户
<ul><li>升级到64位
<ul><li>DB：32G内存

</li><li>升级：64G

</li></ul></li></ul></li>
				<li>可靠性
<ul><li>备用的系统

</li><li>物理隔开

</li></ul></li>
				<li>名言：我们犯过大量的错误，但到头来，我们作对的还是比做错的多

</li>
		</ul>
<img src ="http://www.blogjava.net/grantbb/aggbug/104917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-03-20 12:16 <a href="http://www.blogjava.net/grantbb/archive/2007/03/20/104917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 专业人士必备的书籍和网站列表</title><link>http://www.blogjava.net/grantbb/archive/2007/03/20/104886.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Tue, 20 Mar 2007 02:11:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2007/03/20/104886.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/104886.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2007/03/20/104886.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/104886.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/104886.html</trackback:ping><description><![CDATA[
		<blockquote>对于 Java™
语言开发人员来说，信息过量是一个真正的问题。每个新入行的程序员都要面临一个令人畏缩的挑战：要进入的行业是一个具有海量知识的行业。要了解的东西简直
太多了。对于有经验的老手来说，情况只有些微好转。知识量总在增大，仅仅跟上进度就是一个挑战。如果有一份专业人士必备的书籍和网站列表该有多好！本文就
是这个列表。它包含了每个专业的 Java 语言程序员在书架或浏览器书签中必备的最重要的书籍和网站。</blockquote>
		<!--START RESERVED FOR FUTURE USE INCLUDE FILES-->
		<!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters -->
		<!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
		<p>这些都是您书架上必备的书和应该经
常使用的 Web 链接。时间是一项重要的资源，本文帮您回避那些分心的事情，把时间专注于最有益于您作为Java
语言程序员职业生涯的信息源。尽管有多少程序员就有多少他们最喜欢的参考资料，但本文收集的这些都是优中选优，来源于我书架上的私家珍藏和许多
Java 专家的推荐。</p>
		<p>我考虑了两种组织这份参考资料列表的方法。我本可以通过主题领域来组织，这也许很有帮助，但主题列表很快就会变得不实用。相反，我选择了另一种方法：通过类型来组织，即书籍和 Web 站点。</p>
		<p>总的来讲，有经验的老手们用 Web 站点来跟踪行业的走势。书籍、文章和论文有助于跟上潮流，但它们总体上更适合于基础学习。极富创造性的书籍偶尔会撼动一两个基础性的东西。这样的书也在本列表之列。</p>
		<p>需
要提出的一点警告是，专注于 Java 语言的书籍和 Web
站点数量巨大。您钟爱的未必在这份列表里。那并不意味着它们不好。它们只是不在这份列表里而已。可能是因为我还不知道它们。也可能是因为我不认为它们能够
算得上是重要资源。不包含一些参考资料是一个评判问题，但如果不这样的话，您也许就要花几小时来拖动滚动条，还要花上成千上万美元来买书。如果您作为一个
专业的 Java 程序员，有一些常用的优秀参考资料，一定要让我知道这些资料。这份列表一直都在更新中，您提出的那些也许就会被收录进去。</p>
		<p>
				<a name="N1005A">
						<span class="atitle">书籍</span>
				</a>
		</p>
		<p>每个程序员都会有一些由于经常被当作专业资料参阅而磨坏的书。下列书籍应该是 Java 语言程序员的书架上必备的。书很贵，所以我有意将这份列表弄得很短，仅限于重要书籍。</p>
		<p>
				<a name="N10064">
						<span class="smalltitle">Thinking in Java (Bruce Eckel)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0131002872" target="_blank">
						<i>Thinking in Java, 3rd edition</i>
				</a> （Bruce Eckel; Prentice Hall PTR，2002 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=24614" target="_blank"><i>Java 编程思想：第3版</i></a> （陈昊鹏 等译; 机械工业出版社，2005 年）<br />
Eckel 的书对于学习如何在 Java 语言环境中使用好面向对象技术极其实用。书中大量的代码样例解释了他所介绍的概念。文字出自一个并不认为
Java 技术总是正确答案的人，所以相当地实用。Eckel
具有多种语言的大量经验，还有用面向对象方式进行思考的扎实技能。本书将这些技能放到实用的 Java 语言环境中。他还在写一本新书，名为 <i>Thinking in Enterprise Java</i>。</p>
		<p>
				<a name="N10080">
						<span class="smalltitle">Effective Java (Joshua Bloch)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0201310058" target="_blank">
						<i>Effective Java: Programming Language Guide</i>
				</a> （Joshua Bloch; Addison-Wesley，2001 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=8645" target="_blank"><i>Effective Java 中文版</i></a> （潘爱民 译; 机械工业出版社，2003 年）<br />				
本书是理解优秀 Java 程序设计原则的最佳书籍。大多数材料从其他的 “学习 Java ” 的书中根本找不到。例如，Bloch 书中关于覆盖 <code>equals()</code> 这一章是我读过的最好的参考资料之一。他也在书中包括了很实用的建议：用接口替代抽象类和灵活使用异常。Bloch 是 Sun 公司 Java 平台库的架构师，所以他透彻地了解这门语言。事实上，他编写了该语言中大量有用的库。本书必读！</p>
		<p>
				<a name="N1009F">
						<span class="smalltitle">The Java Programming Language (Ken Arnold, James Gosling, David Holmes)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0201704331" target="_blank">
						<i>The Java Programming Language</i>
				</a>（Ken Arnold，James Gosling，David Holmes; Addison-Wesley，2000 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=15495" target="_blank"><i>Java 编程语言（第 3 版）</i></a> （虞万荣 等译，中国电力出版社，2003 年）<br />		
这也许是能弄到的最好的 Java 入门读物。它并不是一个标准规范，而是一本介绍每门语言特性的可读书籍。这本书在严谨性和教育性方面权衡得很好，能够让懂编程的人迅速被 Java 语言（和其丰富的类库）所吸引。</p>
		<p>
				<a name="N100BA">
						<span class="smalltitle">Concurrent Programming in Java: Design Principles and Patterns (Doug Lea)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0201310090" target="_blank">
						<i>Concurrent Programming in Java: Design Principles and Patterns, 2nd edition</i>
				</a>（Doug Lea; Addison-Wesley，1999 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=16303" target="_blank"><i>Java 并发编程—设计原则与模式（第二版）</i></a> （赵涌 等译，中国电力出版社，2004 年）<br />
不是每个开发人员都需要如此细致地了解并发性，也不是每个工程师都能达到本书的水准，但却没有比本书更好的关于并发性编程的概述了。如果您对此感兴趣，请
从这里开始。Lea 是 SUNY 的一名专业程序员，他的和并发性有关的作品和想法都包含在了 JDK 5.0 规范（引自
JSR166）中，所以您大可放心，他所说的关于有效使用 Java 语言的建议是值得一听的。他是一个很善于沟通的人。</p>
		<p>
				<a name="N100D5">
						<span class="smalltitle">Expert One-On-One J2EE Design and Development (Rod Johnson)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0764543857" target="_blank">
						<i>Expert One-On-One J2EE Design and Development</i>
				</a>（Rod Johnson）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=14126" target="_blank"><i>WROX: J2EE 设计开发编程指南</i></a> （魏海萍 译，电子工业出版社，2003 年）<br />	
对于刚接触 J2EE 的人来说，这是唯一的一本如实反映这项技术的书。本书收录了多年的成功经验和失败经验，不同于其他许多作者，Johnson 乐于将失败的经验公诸于众。J2EE 常常都被过度使用。Johnson 的书能帮您避免这一点。
</p>
		<p>
				<a name="N100F0">
						<span class="smalltitle">Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0201485672" target="_blank">
						<i>Refactoring: Improving the Design of Existing Code</i>
				</a>（Martin Fowler，Kent Beck，John Brant，William Opdyke，Don Roberts; Addison-Wesley，1999 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=12901" target="_blank"><i>重构：改善既有代码的设计（中文版）</i></a> （侯捷 等译，中国电力出版社 ，2003 年）<br />
				
Fowler 写了几本现已出版的最流行的编程书，包括 <i>Analysis Patterns</i>。他的关于<i>重构</i>
的书是这一主题的基本书籍。重构代码是被程序员忽略的训练，但却是程序员最直观的想法。重构是在不改变代码结果的前提下改进现有代码的设计。这是保持代码
整洁的最佳方式，用这种方法设计的代码总是很容易修改。什么时候进行重构呢？当代码“散发出味道”时。Fowler 的书里满是 Java
语言代码的例子。许多 Java 语言集成开发环境（IDE）（包括了 IBM 的 Eclipse）都将 Fowler
的重构包含了进去，每一个都使用他的重构名命名，所以熟悉如<i>extract method</i> 等重构方法还是很值得的。</p>
		<p>
				<a name="N10114">
						<span class="smalltitle">Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0201633612" target="_blank">
						<i>Design Patterns: Elements of Reusable Object Oriented Software</i>
				</a>（Erich Gamma，Richard Helm，Ralph Johnson，John Vlissides; Addison-Wesley，1997 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=684" target="_blank"><i>设计模式：可复用面向对象软件的基础</i></a> （李英军 等译，机械工业出版社  ，2005 年）<br />
				
这是一本在专业程序员圈子里更为有名的书，基于作者共同的绰号，这本书被认为是 “四人帮（GOF）之书”。模式是思考和解决普通编程问题时可以重用的方式。学习模式是一门学科。使用好模式（或知道什么时候<i>不</i>
使用模式）是一项技能。忽略模式则是错误的。书中所有的例子都以 C++ 表示，但 Java 语言是从那里诞生的，让 Java
语言程序员由此联系到如何在 Java
语言中实现这些模式相对简单一些。熟悉模式并了解如何使用好模式使编程更加简单。这使得和其他程序员交流也更简单，因为在针对通用问题的通用解决方案中，
模式是描述解决方案中彼此协作的大量相关编程概念的快捷方式。一些更为通用的方式，如<i>工厂方法</i> 则是普便存在的，甚至存在于 Java 语言本身。关于明智使用模式的这个主题，也可以阅读 Joshua Kerievsky 的 <i>Refactoring to Patterns</i>，该书称可以让代码来告诉您何时实现模式。</p>
		<p>
				<a name="N10138">
						<span class="smalltitle">Patterns of Enterprise Application Architecture (Martin Fowler)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0321127420" target="_blank">
						<i>Patterns of Enterprise Application Architecture</i>
				</a> （Martin Fowler; Addison-Wesley，2002 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=19923" target="_blank"><i>企业应用架构模式</i></a> （王怀民 等译，机械工业出版社  ，2004 年）<br />
				
比起小型、一次性项目来说，企业开发当然代表了更大的挑战。那并不意味着企业开发带来的所有挑战都是新挑战。事实上有些时候，这项开发<i>已经</i>
是以前完成过的了。Fowler 做了很多个这样的项目。他的书提到了一些通用解决方案，并提供了关于使用、折中和可选方案的指导。Fowler
在书中包含了一些熟悉的模式，如模型视图控制器（MVC），他也提供了一些您也许不了解的模式，如处理 Web 站点上特定页面请求或行为请求的
Page Controller 模式。正如您对待大多数模式一样，一旦您读过许多模式，您就会认为 “我已经知道那个模式了”
。也许是这样，但有一个用来引用模式的通用表达方式还是很有帮助的。在有多个组件（由不同人开发）的大型项目中，该类引用是一项很好的帮助。</p>
		<p>
				<a name="N10156">
						<span class="smalltitle">UML Distilled (Martin Fowler)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0321193687" target="_blank">
						<i>UML Distilled: A Brief Guide to the Standard Object Modeling Language</i>
				</a>（Martin Fowler; Addison-Wesley 2003 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=25547" target="_blank"><i>UML精粹：标准对象语言简明指南（第3版）</i></a> （徐家福 译，清华大学出版社 ，2005 年）<br />
对于专业的程序员来说，UML 是一门很重要的通用可视化沟通语言，但是它被过度使用和草率地滥用了。您无需对使用 UML
沟通了解太多。Martin 对 UML 的提炼为您提供了最核心的东西。事实上，前后的封页提供了常规基础上可能使用到的所有东西。该书中 UML
例子的代码都是 Java 代码。</p>
		<p>
				<a name="N10171">
						<span class="smalltitle">Test-Driven Development: By Example (Kent Beck)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0321146530" target="_blank">
						<i>Test-Driven Development: By Example</i>
				</a>（Kent Beck; Addison-Wesley 2002 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=14701" target="_blank"><i>测试驱动开发（中文版）</i></a> （崔凯 译，中国电力出版社 ，2004 年）<br />
测试优先编程将使编程发生革命性变化，能助您成为更好的程序员。在写代码之前编写测试开始很难，但却是一项威力强大的技能。通过优先编写测试，可使代码更
加简单，并确保从一开始它就能工作（Beck 实践着他提倡的测试优先，与人合写了 JUnit，这是 Java 语言最流行的测试框架）。Beck
的书是权威的参考资料，扩展了的 Money 例子也用 Java 语言写成。Beck 详述了如何用测试优先进行 <b>思考</b>（这也许是许多程序员首先遇到的障碍）。</p>
		<p>
				<a name="N1018F">
						<span class="smalltitle">The Pragmatic Programmer: From Journeyman to Master (Andy Hunt and Dave Thomas)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/020161622X" target="_blank">
						<i>The Pragmatic Programmer: From Journeyman to Master</i>
				</a>（Andrew Hunt 和 David Thomas; Addison-Wesley 1999 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=18020" target="_blank"><i>程序员修炼之道——从小工到专家 </i></a> （马维达 译，电子工业出版社  ，2004 年）<br />
做一个纯粹的面向对象开发人员有其优势所在。在当今复杂的社会中，作为 Java 语言开发人员，为完成任务常要妥协。Hunt 和 Thomas
探讨了如何不将真正重要的东西妥协掉而完成任务。这不是一本关于 Java 语言的书，而是 Java
语言开发人员重要的思想读物。例如，我认为没从“要解决问题，而不是推卸责任”这句忠言中受益的程序员，不能像个自豪的艺术家一样在他的杰作上签上大名。</p>
		<p>
				<a name="N101AA">
						<span class="smalltitle">Peopleware: Productive Projects and Teams (Tom DeMarco and Timothy Lister)</span>
				</a>
		</p>
		<p>
				<a href="http://www.amazon.com/exec/obidos/ASIN/0932633439/qid=1112295380/sr=2-2/ref=pd_ka_b_2_2/102-0023248-0497724" target="_blank">
						<i>Peopleware: Productive Projects and Teams</i>
				</a>（Tom DeMarco，Timothy Lister; Dorset House，1999 年）<br /><a href="http://www.china-pub.com/computers/common/info.asp?id=9624" target="_blank"><i>人件（第2版）  </i></a> （UMLChina 翻译组 译，清华大学出版社 ，2003 年）<br />
				
这份列表中的其他所有书籍都至少和技术有些相关。这本书却不是。在所有技术行话和首字母缩略词的海洋中，有时软件开发人员和经理们会忘记：是<i>人</i>
制造了软件。DeMarco 和 Lister
向我们提醒了这一事实，也向我们提醒了形成这一区别的原因。这不是一本关于一门特定编程语言的书籍，但却是每个 Java
语言程序员都应该读的书。关于 “累死程序员如何让经理们适得其反” 还有许多其他的好书，但这是最好的一本。</p>
		<br />
		<table border="0" cellpadding="0" cellspacing="0" width="100%">
				<tbody>
						<tr>
								<td>
										<img src="http://www.ibm.com/i/v14/rules/blue_rule.gif" alt="" height="1" width="100%" />
										<br />
										<img alt="" src="http://www.ibm.com/i/c.gif" border="0" height="6" width="8" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" align="right" cellpadding="0" cellspacing="0">
				<tbody>
						<tr align="right">
								<td>
										<img src="http://www.ibm.com/i/c.gif" alt="" height="4" width="100%" />
										<br />
										<table border="0" cellpadding="0" cellspacing="0">
												<tbody>
														<tr>
																<td valign="middle">
																		<img src="http://www.ibm.com/i/v14/icons/u_bold.gif" alt="" border="0" height="16" width="16" />
																		<br />
																</td>
																<td align="right" valign="top">
																		<a href="http://www.ibm.com/developerworks/cn/java/j-javares.html#main" class="fbox">
																				<b>回页首</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N101C8">
						<span class="atitle">Web 站点</span>
				</a>
		</p>
		<p>Web 站点的数目浩如烟海，如果您想要消化其中的内容，穷毕生之力也难以全部访问。包含 Java 语言某方面内容的详尽的网站列表会大得离谱。下列站点都是可靠、真实的。</p>
		<p>
				<a name="N101D2">
						<span class="smalltitle">Sun 的 Java 技术站点</span>
				</a>
		</p>
		<p>
				<a href="http://java.sun.com/" target="_blank">Sun 的 Java 语言站点</a>
				<br />
这是 Sun 的 Java 语言主站。作为 Java 语言开发人员，您会发现自己频繁地访问此站点。下列链接特别重要，特别是对新入行的 Java 语言开发人员：
</p>
		<ul>
				<li>
						<b>New to Java Center</b>
						<br />
						<a href="http://java.sun.com/learning/new2java/index.html" target="_blank">New to Java Center</a>
						<br />
New to Java Center 存放了许多循序渐进的 Java 技术资源链接。如果您刚接触这门语言，这是一个好的起点。</li>
				<li>
						<b>教程和代码库</b>
						<br />
						<a href="http://java.sun.com/docs/books/tutorial/index.html" target="_blank">Java Tutorial</a>
						<br />
这里有大名鼎鼎的 Java Tutorial，以及关于 Java 语言各个方面（例如 Collection）的其他教程。
</li>
		</ul>
		<p>
				<a name="N10203">
						<span class="smalltitle">IBM developerWorks</span>
				</a>
		</p>
		<p>
				<a href="http://www.ibm.com/developerworks/cn/">IBM 的 developerWorks</a>
				<br />
推销自己也许有些厚脸皮，但 developerWorks 是一项巨大的资源，收录了大量 Java 语言工具和技术的教程和文章。其内容从初学者指南到学习这门语言到高级并发性技术。可以根据主题搜索内容，然后根据类型浏览。</p>
		<p>
				<a name="N10212">
						<span class="smalltitle">Apache Software Foundation </span>
				</a>
		</p>
		<p>
				<a href="http://www.apache.org/" target="_blank">Apache Software Foundation</a>
				<br />
Apache 站点是许多可重用库（通用领域）和工具的主页，这些库和工具帮助 Java
开发人员进行开发。这里的内容全都是开放源码，所以尽管下载想要的吧！许多极其流行的 Java 语言库和工具（如 Struts、Ant 和
Tomcat）都始于 Apache 项目。Jakarta 专区汇聚了大多数新兴的 Java 语言材料。</p>
		<p>
				<a name="N10222">
						<span class="smalltitle">Eclipse.org</span>
				</a>
		</p>
		<p>
				<a href="http://www.eclipse.org/" target="_blank">Eclipse</a>
				<br />
有几个好的 Java 语言集成开发环境（IDE）。Eclipse（来自 IBM）是最新的 IDE 之一，它很快成为 Java 语言开发的首要
IDE。它完全是开源的，这意味着它是免费的。该站包含了学习如何有效使用 Eclipse 的各种参考资料。这里还有关于 Standard
Widget Toolkit（SWT）的信息，SWT 是相对于 Swing 来说更加轻量级的选择。</p>
		<p>
				<a name="N10232">
						<span class="smalltitle">Eclipse 插件中心和 Eclipse 插件</span>
				</a>
		</p>
		<p>
				<a href="http://www.eclipseplugincentral.com/" target="_blank">Eclipse 插件中心</a> 和 <a href="http://eclipse-plugins.2y.net/">Eclipse 插件</a><br />
Eclipse 基于插件架构。事实上，插件是 Eclipse 的 Java 语言开发组件。但有差不多上千个插件，从 Web 开发的插件到在
Eclipse 环境中玩游戏的插件。这两个站点分类列出了大多数插件，可以进行搜索。它们是很棒的资源。如果您想在 Eclipse
开发环境中弄点新东西，幸运的话有某个插件可能已经实现，从这两个站点能找到想要的插件。这两个站点都允许评论插件，这样您就可以知道哪些插件好，哪些值
得一试。</p>
		<p>
				<a name="N10246">
						<span class="smalltitle">JUnit.org</span>
				</a>
		</p>
		<p>
				<a href="http://www.junit.org/" target="_blank">JUnit.org</a>
				<br />
Junit 是 Java 语言中一个基本的单元测试框架。该站点包含了 Junit 最新最棒的版本，外加大量有关测试（Java
语言或者其他语言的）各个层面上（针对桌面应用程序、Web 应用程序、J2EE 应用程序等）的其他资源。如果您想找测试资源，这里就是最佳起点。
</p>
		<p>
				<a name="N10256">
						<span class="smalltitle">TheServerSide.com</span>
				</a>
		</p>
		<p>
				<a href="http://www.theserverside.com/" target="_blank">TheServerSide.com</a>
				<br />如
果您要(或将要)从事服务器端 Java 语言的开发，此站点是一处举足轻重的资源。您可以到这里找到有关
JBoss、J2EE、LDAP、Struts 和大量其他主题的文章，并且都是完全可检索的。这些文章不仅仅是简单描述 Java
语言的特征或者支持的库。它们更进一步地描述了库的新奇用法（如使用 Jakarta Velocity
作为规则引擎，而不是模板引擎）。它们也提供了有关 Java 语言现状的连续评论（当前的一篇文章是由 Tim Bray 所写的 <i>Java is boring</i> ）。该站点更好的通用功能之一是对 Java 语言工具和产品（应用服务器等）的矩阵式比较。
</p>
		<p>
				<a name="N10269">
						<span class="smalltitle">Bruce Eckel's MindView, Inc.</span>
				</a>
		</p>
		<p>
				<a href="http://www.bruceeckel.com/" target="_blank">Bruce Eckel's MindView, Inc.</a>
				<br />
Eckel 写了几本 “用 …… 进行思考” 的书，内容关于 Java 语言、Python 和 C++ ，当我学习 Java 语言时，他的 <i>Thinking in Java</i>
对我尤其有帮助。它很实用并切中要害，在“在 Java
语言环境中如何面向对象思考”方面具有卓识。您可以从此站点免费下载他所有书籍的电子版。他也写了许多好文章，并且他把这些文章的链接都放到了这里（包括
关于 Jython、Java 和 .NET 比较等内容的文章）。</p>
		<p>
				<a name="N1027C">
						<span class="smalltitle">ONJava.com</span>
				</a>
		</p>
		<p>
				<a href="http://www.onjava.com/" target="_blank">ONJava.com</a>
				<br />
O'Reilley 历年来出版了一些有关编程语言和工具的优秀书籍。他们的专注于 Java 语言的网站也不错。它有些有关各种 Java
语言工具（如 JDOM 和 Hibernate）、Java 平台（如 J2SE 和
J2EE）不同领域不同部分的文章。全部都可以被检索到。他们有优秀的文章和教程。该站点按主题排列。例如有 Java 和 XML、Java
Security、Wireless Java 和 Java SysAdmin。该站点也有到 O'Reilley Learning Lab
的链接，在那里您能获得在线参考资料（Java
语言相关和其他的）。那些不是免费的，但是许多都面向大学认证。因此您可以以一种很方便的方式来学习技能，并得到一些认证。
</p>
		<p>
				<a name="N1028C">
						<span class="smalltitle">java.net</span>
				</a>
		</p>
		<p>
				<a href="http://community.java.net/" target="_blank">java.net 社区</a>
				<br />java.net
社区有多个“社区”，有特定于主题的论坛和文章。例如 Java Desktop 社区有各类与 Java 语言桌面开发相关的资料。Java
Patterns 社区作为一个门户，也许对提供 Java 语言的模式资源相当感兴趣。还有一个 Java User Groups (JUG)
社区，在那里能找到有关创建、加入和管理一个 JUG 的信息。
</p>
		<br />
		<table border="0" cellpadding="0" cellspacing="0" width="100%">
				<tbody>
						<tr>
								<td>
										<img src="http://www.ibm.com/i/v14/rules/blue_rule.gif" alt="" height="1" width="100%" />
										<br />
										<img alt="" src="http://www.ibm.com/i/c.gif" border="0" height="6" width="8" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" align="right" cellpadding="0" cellspacing="0">
				<tbody>
						<tr align="right">
								<td>
										<img src="http://www.ibm.com/i/c.gif" alt="" height="4" width="100%" />
										<br />
										<table border="0" cellpadding="0" cellspacing="0">
												<tbody>
														<tr>
																<td valign="middle">
																		<img src="http://www.ibm.com/i/v14/icons/u_bold.gif" alt="" border="0" height="16" width="16" />
																		<br />
																</td>
																<td align="right" valign="top">
																		<a href="http://www.ibm.com/developerworks/cn/java/j-javares.html#main" class="fbox">
																				<b>回页首</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N1029C">
						<span class="atitle">结束语</span>
				</a>
		</p>
		<p>任
何 “好的”、“关键性的” 或者 “重要的” 参考资料列表都注定是不完整的，本文的列表也未能例外。 Java
语言的书籍数目众多，当然，万维网也很庞大。除本文所列的参考资料之外，还有很多用于学习 Java
语言的参考资料。但如果您拥有了这里所提到的所有书籍、网站、文章或者教程，您应当已经拥有了一个使您良好开端并助您登堂入室的实用宝库。</p>
		<p>最
后，要成为一个能力日增和高效的 Java
语言开发人员，方法就是用它工作，动手来尝试。如果有一个教程详细介绍了所需创建的软件的每一部分，您很可能并没得到多少好处。有时，您可能得走自己的
路。在成功地尝试了一些新的东西之后，您可能想要写一篇文章、教程或者一本书来分享您所学到的。</p>
<img src ="http://www.blogjava.net/grantbb/aggbug/104886.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2007-03-20 10:11 <a href="http://www.blogjava.net/grantbb/archive/2007/03/20/104886.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring整合C3P0的配置</title><link>http://www.blogjava.net/grantbb/archive/2006/12/18/88601.html</link><dc:creator>我不是张嘎－小兵</dc:creator><author>我不是张嘎－小兵</author><pubDate>Mon, 18 Dec 2006 10:24:00 GMT</pubDate><guid>http://www.blogjava.net/grantbb/archive/2006/12/18/88601.html</guid><wfw:comment>http://www.blogjava.net/grantbb/comments/88601.html</wfw:comment><comments>http://www.blogjava.net/grantbb/archive/2006/12/18/88601.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/grantbb/comments/commentRss/88601.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/grantbb/services/trackbacks/88601.html</trackback:ping><description><![CDATA[网上没有找到比较合适的，自己看了看，然后放到项目中实验的一下。<br />很多人都认为比DBCP优秀。<br /><br />&lt;bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"&gt;<br />      &lt;property name="driverClass"&gt;<br />        &lt;value&gt;${jdbc.driverClassName}&lt;/value&gt;<br />      &lt;/property&gt;<br />      &lt;property name="jdbcUrl"&gt;<br />        &lt;value&gt;${jdbc.url}&lt;/value&gt;<br />      &lt;/property&gt;<br />      &lt;property name="user"&gt;<br />       &lt;value&gt;${jdbc.username}&lt;/value&gt;<br />      &lt;/property&gt;<br />      &lt;property name="password"&gt;<br />       &lt;value&gt;${jdbc.password}&lt;/value&gt;<br />      &lt;/property&gt;<br />      &lt;property name="initialPoolSize"&gt;&lt;value&gt;10&lt;/value&gt;&lt;/property&gt;<br />      &lt;property name="minPoolSize"&gt;&lt;value&gt;5&lt;/value&gt;&lt;/property&gt;<br />      &lt;property name="maxPoolSize"&gt;&lt;value&gt;30&lt;/value&gt;&lt;/property&gt;<br />      &lt;property name="acquireIncrement"&gt;&lt;value&gt;5&lt;/value&gt;&lt;/property&gt;<br />      &lt;property name="maxIdleTime"&gt;&lt;value&gt;10&lt;/value&gt;&lt;/property&gt;<br />      &lt;property name="maxStatements"&gt;&lt;value&gt;0&lt;/value&gt;&lt;/property&gt;<br />    &lt;/bean&gt;<br /><br />以下几个参数是使用的基本配置参数：<br />initialPoolSize： <br />Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize<br />连接池初始化时获取的链接数，介于minPoolSize和maxPoolSize之间<br /><br />minPoolSize：<br />Minimum number of Connections a pool will maintain at any given time.<br />最小链接数<br /><br />maxPoolSize：<br />Maximum number of Connections a pool will maintain at any given time.<br />最大连接数<br /><br />acquireIncrement：<br />Determines how many connections at a time c3p0 will try to acquire when the pool is exhausted.<br />在当前连接数耗尽的时候，一次获取的新的连接数<br /><br />maxIdleTime：<br />Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire.<br />最大空闲的时间，单位是秒，无用的链接再过时后会被回收<br /><img src ="http://www.blogjava.net/grantbb/aggbug/88601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/grantbb/" target="_blank">我不是张嘎－小兵</a> 2006-12-18 18:24 <a href="http://www.blogjava.net/grantbb/archive/2006/12/18/88601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>