﻿<?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/killme2008/category/19802.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 14 May 2008 17:15:44 GMT</lastBuildDate><pubDate>Wed, 14 May 2008 17:15:44 GMT</pubDate><ttl>60</ttl><item><title>转发一则QQ消息</title><link>http://www.blogjava.net/killme2008/archive/2008/05/14/200503.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Wed, 14 May 2008 14:13:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/05/14/200503.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/200503.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/05/14/200503.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/200503.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/200503.html</trackback:ping><description><![CDATA[群里收到的消息，过去从来不转发这样的消息，可这条消息我必须得占用大家一点时间，也许能帮上忙。<br />
<br />
有人求救(代转)<br />
<br />
为什么现在电视上不播报江油地震受损失的情况，我老婆现在7个月的身孕，没有食物和水，，今天上午联系了一次，已经饿的不行了。。。<br />
&nbsp;&nbsp;&nbsp; 急需求救。。。现在也没有救援队伍去江油，，电视上一次江油的灾情也没有报，，<br />
&nbsp;&nbsp;&nbsp; 我也是军人，我们部队现在待命准备去四川汶川救灾，我愿意贡献自己全部的力量去救灾区的老乡。。。<br />
&nbsp;&nbsp;&nbsp; 可是我老婆确没有人救。。。。我马上就要出发了，也许很难联系她，，，，虽然无论怎样我会尽全力去抢汶川救灾区老乡，，，可是希望在江油的老乡也能跟她带点吃的，哪怕一瓶矿泉水也行，，，求求老乡了，，，她现在在马路湾中国电信的门口公路上的一辆货车上。。。叫王琢，，是老师，，求各位老乡帮忙，，，<br />
一个去汶川救灾的军人的恳求<br />
知道江油肯定没有人能见到这个帖子，希望在外的人们能联系上江油的同胞们帮<br />
帮忙发下，谢谢了就1分钟 <br /><img src ="http://www.blogjava.net/killme2008/aggbug/200503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-05-14 22:13 <a href="http://www.blogjava.net/killme2008/archive/2008/05/14/200503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《lua 5.0的实现》一文已经有完整翻译</title><link>http://www.blogjava.net/killme2008/archive/2008/05/09/199619.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Fri, 09 May 2008 15:44:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/05/09/199619.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/199619.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/05/09/199619.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/199619.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/199619.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 在云风的blog上看到，已经有人做了完整的翻译。在<a href="http://www.codingnow.com/2000/download/The%20Implementation%20of%20Lua5.0.pdf">这里</a>下载。那天arbow还在问我，最后两部分怎么不翻了，今天晚上看见这blog才又想起这么回事，看了下过去的翻译，原来也翻到第7部分虚拟机咯，不过既然已经有了不错的中文版了，就不献丑了。我的兴趣转移的太快，前两周还在读cindy、mina源码，研究nio，现在又对AOP产生了兴趣，特意学了caesarj语言，这东西对习惯了Ruby的我，实在是有点郁闷；在目前的jvm指令架构里，折腾open class、mixin，还是不那么自然，不过作为AspectJ的扩展，还是有学习的价值的。自己有过想法，每年学一门新语言，caesarj算不上，那么python如何？其实我在学在用咯。不过python没有带来更大的惊喜，python中规中矩，感觉类似动态语言中的java，没有像刚接触scheme带来的眼前一亮，而我是需要新鲜感的人，也许传说中的很难理解的haskell是我的下一个学习对象。<br /><img src ="http://www.blogjava.net/killme2008/aggbug/199619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-05-09 23:44 <a href="http://www.blogjava.net/killme2008/archive/2008/05/09/199619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一段妙文</title><link>http://www.blogjava.net/killme2008/archive/2008/04/28/196883.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Mon, 28 Apr 2008 09:33:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/04/28/196883.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/196883.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/04/28/196883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/196883.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/196883.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 山僧昔在双径归堂，未及一月，忽于睡中疑著万法归一，一归河处？自此疑情顿发，废寝忘食，东西不辨，昼夜不开，开单展钵，屙屎放尿，至于一动一静，一语一
默，总只是个一归何处，更无丝毫异念，了不可得。正如钉钉胶粘，摇撼不动，虽在稠人广众之中，如无一人相似。从朝至暮，从暮至朝，澄澄湛湛，卓卓巍巍，纯
清绝点，一会万年，境寂人忘，如痴如兀，不觉至第六日，随众在三塔讽经次，抬头看见五祖演和尚真，蓦然触发日前仰山老和尚问拖死尸句子，直得虚空粉碎，大
地平沈，物我两忘，如镜照境，百丈野狐，狗子佛性，青州布衫，女子出定语，从头密举验之，无不了了。般若妙用，信不诬矣。（见《古尊宿语录》）<br />
<br />
&nbsp;&nbsp;&nbsp; 想来王阳明龙场悟道的感觉也不过如此。王阳明的心学归结就是&#8220;致良知&#8221;三个字，不说&#8220;致&#8221;，仅&#8220;良知&#8221;二字就是何等宝贵？看看安徽阜阳儿童们的命运，这个接二连三发生诡异事件的地方，当地的公仆们可有&#8220;良知&#8221;在心中？我们保留了文化传统，却抛弃了传统文化。<br /><img src ="http://www.blogjava.net/killme2008/aggbug/196883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-04-28 17:33 <a href="http://www.blogjava.net/killme2008/archive/2008/04/28/196883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>热烈庆祝偶的blog广告位售出</title><link>http://www.blogjava.net/killme2008/archive/2008/04/23/194940.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Wed, 23 Apr 2008 01:38:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/04/23/194940.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/194940.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/04/23/194940.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/194940.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/194940.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 在blogjava和javaeye上的两个blog的顶部广告都售出了，热烈庆祝：）<img src="/CuteSoft_Client/CuteEditor/images/emsmiled.gif" alt="" align="absmiddle" border="0" /><img src="/CuteSoft_Client/CuteEditor/images/emsmiled.gif" alt="" align="absmiddle" border="0" /> 准备啥时候去绑定个支付宝，把我的一块五毛钱取出来，刚好够买两个包子<img src="/CuteSoft_Client/CuteEditor/images/emsmiled.gif" alt="" align="absmiddle" border="0" /> 。还是阿里妈妈好，来的实在，google广告的1.2美元这辈子看来是指望不上了，人民币还在持续升值中......<img src ="http://www.blogjava.net/killme2008/aggbug/194940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-04-23 09:38 <a href="http://www.blogjava.net/killme2008/archive/2008/04/23/194940.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小引阳明这只鞋（转）</title><link>http://www.blogjava.net/killme2008/archive/2008/04/14/192756.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Mon, 14 Apr 2008 06:00:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/04/14/192756.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/192756.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/04/14/192756.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/192756.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/192756.html</trackback:ping><description><![CDATA[《王阳明大传》序，作者：周月亮<br />
<br />
<p>一生极重践履的阳明，本身就象只鞋。这只鞋上插着高贵的权力意志的权杖。形成心学的倒T字型结构——不是十字架，也不是钻不出地平线的大众的正T字型。他的&#8220;致良知&#8221;工夫就是要你站在地平线上。然后脚不离地的无限的向上升华，把人拉成顶天立地的大写的人。</p>
<p>拔着头发离地球的是阿Q，当缩头乌龟的是假洋鬼子，只是鞋而无权杖的是读书没有悟道的士子。只耍权杖而不愿当鞋的是政治流氓——那个意志不是高贵的权力意志，只是反人道的独裁欲望。</p>
<p>阳明的心学是这样一种生活方式：既生活在这里，又生活在别处！</p>
<p>《明
史》阳明本传只附了一个学生，既因为别的成了气候的学生都有传，还因为这个学生最能体现阳明学的&#8220;鞋&#8221;精神，他叫冀元亨，他因去过宁王府而被当成阳明通宁
王的证据给抓起来，在锦衣卫的监狱里受百般折磨，但他对人依然象春风一样，感动得狱吏和狱友一个劲的哭，他把坐大狱当成了上学堂。所有的司法人员都以为
奇，问他夫人：&#8220;你丈夫秉持什么学术？&#8221;她说：&#8220;我丈夫的学问不出阃帏之间&#8221;。闻者皆惊愕不已。</p>
<p>但是，人皆在阃帏之间，谁有这种境界、风范？只生活在这里，反而得不到这里；单生活在别处，自然更得不到这里。</p>
<p>先作只鞋，再插上权杖，也不是阳明学的精神。那就是把鞋的大地性当成了手段，断断成不了圣雄，只能成为枭雄。</p>
<p>再高贵的鞋，也是踩在脚下；但路也正在脚下。不能生活在别处的人的所谓脚下之路，只是不得不走的路；有生活在别处之权力意志的人才能&#8220;践履&#8221;在希望的道路上。</p>
<p>在比做什么事成什么人更哲学的语义上说：穿什么鞋走什么路。</p>
<p>阳明这只鞋，至少有亲在性、超越性、诗性、葆真性、有应必变的践履性．．．．．许多人最大的痛苦就是找不到一只合脚的鞋。阳明这只鞋可以叫真、善、忍；可以叫真、智、乐，叫六通四辟．．．</p>
<p>致良知，就是要你找到可以上路的合脚的鞋。致者，找也。能否找到呢？就看你肯不肯去找——因为，它就在你自身「心即理」。阳明这样解释孔子说的上智下愚不移——不是不能移，只是不肯移。</p>
<p>说无路可走的人，是没有握住自家的权杖，把生命的舵送给了别人——那人哪怕是上帝也会变成魔鬼——上帝的真诚包含着上帝的欺骗。</p>
<p>心学或曰阳明学并不给世人提供任何现成或统一的鞋，如果有那种鞋就是枷锁和桎铐了，心学只是告诉人们：每个人都能找到自己的那双合脚的上天堂的鞋——找这双鞋的工夫与上天堂的工夫是同一个工夫。</p>
<p>路在脚下，鞋在心中。你的任务是找与走，走着找，找着走，边找边走．．．</p>
<p>这样边找边走，就凸现出权杖的&#8220;权道&#8221;来——已发生语义转换，这个权道的&#8220;权&#8221;是秤砣、以及因此衍生的权衡、权宜的那个权。对于人心来说，权，就是&#8220;感应之几&#8221;，&#8220;几&#8221;就是微妙的恰好，象秤砣一样随被秤之物的轻重而变动，找到那个应该的恰好。所谓道，
就是&#8220;体乎物之中以生天下之用者也&#8221;「王夫之《周易外传》卷一」。权道就是追求&#8220;时中&#8221;即永远恰当的人间至道。约略等于具体问题具体分析这个马克思主义的活的灵魂。</p>
<p>没有这个权道，权杖只是个摆设，有了这个权道，权杖才能变成如意金箍棒，草鞋才能变成船，驶向理想的港湾。通权达变，是孔子认可的最高境界。不能通权达变就只能刻舟求剑、守株待兔．．．儒学在近代陷入困境就因为秉政的儒臣们失去了权道。</p>
<p>这个权道就是在践履精神上加上权变智慧——绝对不是无标准的变色龙、流氓。一讲权变就滑向流氓，为杜绝流氓就割断权道，都是找不到权道、反权道的表现。权，这个衡量万物的标准，用阳明的话说就是良知。良知在你心中，不用到别处去找。</p>
所以，阳明这只鞋还带着秤砣，是风铃也是驼铃。<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/192756.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-04-14 14:00 <a href="http://www.blogjava.net/killme2008/archive/2008/04/14/192756.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一生伏首拜阳明</title><link>http://www.blogjava.net/killme2008/archive/2008/04/03/190680.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Thu, 03 Apr 2008 10:37:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/04/03/190680.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/190680.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/04/03/190680.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/190680.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/190680.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无善无恶心之体， <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有善有恶意之动。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 知善知恶是良知，<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为善去恶是格物。<br />
<br />
这就是心学四诀。王阳明这样的人物， 还是当年明月评价的妙：<br />
王守仁是一个高尚的人，一个纯粹的人，一个有道德的人，一个脱离了低级趣味的人，一个有益于人民的人。他是真正的圣贤，当之无愧<br />
<br />
读《明朝那些事儿》到此，慢慢了解这么多不一般的人：铁铉、于谦、李贤、王守仁......，甚至可叹可笑可气的正德帝，在当年明月的笔下栩栩如生、有声有色。历史不仅仅充斥了阴谋诡计、权利倾轧，原来也有传奇的朱祁镇与钱皇后的感人爱情，有王守仁的龙场悟道，有俗套到不能俗套地不断上演火烧连环船，有正德帝这样的快乐皇帝，有李景隆这样难得一见的&#8220;人才&#8221;......不一样的读史，不一般的推荐。<img src ="http://www.blogjava.net/killme2008/aggbug/190680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-04-03 18:37 <a href="http://www.blogjava.net/killme2008/archive/2008/04/03/190680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>读《代码大全2》</title><link>http://www.blogjava.net/killme2008/archive/2008/03/31/189844.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Mon, 31 Mar 2008 10:27:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/03/31/189844.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/189844.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/03/31/189844.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/189844.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/189844.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 《代码大全2》刚出来的时候，铺天盖地的宣传，好像《程序员》上也做了整整一期的专题。不能免俗，我也是很早就买了。刚买来没有放进自己的读书计划，因为我的待读书单已经很长了。翻读过前面几章，对使用隐喻去理解软件开发一章印象深刻，还特意写了blog。然后这本书就被我放在了老家，直到春节后被我带到广州，读到昨天晚上，终于算是读完了。<br />
&nbsp;&nbsp;&nbsp; 这本书正如作者所说，是一本关于软件构建的百科全书，小到一条注释语句的编写，大到高层设计和架构，从项目的需求分析到验收测试，从方法论到实践细节，从数据到案例，作者提供了全景式的软件构建视角，并且对每一个主题都做到能有价值地探讨。更可贵的是书中还提供了一张一张的核对表，让你能心中有数地去实践。<br />
&nbsp;&nbsp;&nbsp; 感觉自己的语言是越来越贫乏了，呵呵，除了说好，好像不知道该怎么说了。看看过去在榕树下的写的<a href="http://www.rongshuxia.com/rss/artofuser.rs?UID=1854889">那些&#8220;文章&#8221;</a>，真不知道怎么就没有了过去的那种感觉了？难道做技术工作就真的变的越来越枯燥？工作倒没啥，一个游戏搞定了，马上又一个立项，开始慢慢轻车熟路，只是与我来广州的初衷相去甚远咯，俺还是暂时成了Ruby程序员了。<br />
&nbsp;&nbsp;&nbsp; 补充一个关于西藏的资料链接 https://docs.google.com/View?docid=dggh5mp6_73fvdxt4c9，各方观点，精彩纷呈。屁股决定脑袋，至理名言呐。<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/189844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-03-31 18:27 <a href="http://www.blogjava.net/killme2008/archive/2008/03/31/189844.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>养金鱼的基本方法</title><link>http://www.blogjava.net/killme2008/archive/2008/03/26/188761.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Wed, 26 Mar 2008 07:18:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/03/26/188761.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/188761.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/03/26/188761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/188761.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/188761.html</trackback:ping><description><![CDATA[为了我家小白和小红，特意查了下，原来养金鱼也是要讲究的：<br />
<br />
1、注意放养方法<br />
<br />
刚买回来的金鱼，切忌连鱼带水一起倒入鱼缸。因为刚买回来的鱼，在塑料袋中的水温与家中鱼缸中的水温不等，往往会使鱼&#8220;感冒&#8221;患病。有时买回来的鱼和水带有病菌，一旦倒入鱼缸中，反而连累其他鱼。所以，刚买回来的鱼应该先连同塑料袋一起在空缸水中放置20分钟，让袋内外水温达到一致时，再把鱼轻轻倒入空面盆中，适当加入少许等温新水，静止半小时，把鱼捞入盛有新水的空鱼缸中饲养。过一周后，未发现鱼儿有病，并已恢复正常活动时，再把鱼捞入饲养缸中合并饲养。<br />
<br />
2、注意鱼缸消毒<br />
<br />
鱼缸的消毒可用高锰酸钾溶液，以淡紫色高锰酸钾溶液浸泡一段时间即可。消毒以后再用清水清洗两遍。如果是用黏合剂黏结的玻璃鱼缸，最好放置一段时间后再用，因为化学黏结剂对金鱼有损伤。 <br />
<br />
3、注意光照<br />
<br />
金鱼应在光亮、黑暗交替环境下生存。光照既可以增氧，又可以刺激鱼体表色素细胞，有利于加快变色和出现鲜艳光泽。 <br />
<br />
4、注意投喂方法<br />
<br />
金鱼是观赏鱼，养鱼的目的不是要它很快长大，所以也要控制投食量，尤其是新买来以后，投食量过多往往把金鱼撑死。刚买回来的金鱼一时不适应新环境的改变，故开始的1～2天内不要给食，第三天才可给以少量食物，给食量只能逐渐增加，投食量不超过鱼体质量的1%。以后按此比例两天投食一次即可，切不要喂食量过多过勤。喂多了反到以下坏处：一是鱼吃饱了，代谢水平提高，耗氧量增加，容易引起缺氧窒息而死亡；二是饵料剩下，容易腐败发酵，使水质变坏，也会造成缺氧。其实金鱼是比较耐饿的，一两周不喂，也不会发生问题。<br />
<br />
5、注意换水量及换水方法；<br />
<br />
金鱼属冷血动物，能在0～39℃之间正常生存，最适宜温度是20～28℃。换水时温差不宜超过2℃，温差超过7℃时易得病，甚至死亡。另外，金鱼尤其是幼鱼比较娇嫩，不宜彻底换水。①夏季１～２天部分换水一次，10～15天全部换水一次，冬季一般不换水。②换水宜少不宜多（换水量为总量的1/4～1/3）。在换水时，一定要使用新(优)水，水温差不宜过大，若用自来水，使用前必须凉晒1～2天再用，或每立方米水体中加入2～3克大苏打，以中和水体中的氯离子。若用井水，用浅井水养金鱼效果更好，但使用前也须1～2天再使用。若用江、河、湖水，一定是未污染的，可直接用来养金鱼，但水中腐殖质及寄生虫容易危害金鱼，因而经过滤后使用较安全。<br />
<br />
换水的方法：宜在傍晚四、五点钟进行，用乳胶吸管轻轻吸去缸底的粪便和剩余的饲料等污物和部分老水，兑入等温新水，在注入新水时，应按量慢慢地沿缸壁注入，切忌猛倒、猛冲，更不要冲及鱼体，否则容易使金鱼着凉内伤，引发烂鳞病和毛细血管充血等疾病。等鱼适应环境后，再转入正常饲养管理。 <br /><img src ="http://www.blogjava.net/killme2008/aggbug/188761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-03-26 15:18 <a href="http://www.blogjava.net/killme2008/archive/2008/03/26/188761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>国际米兰100周年</title><link>http://www.blogjava.net/killme2008/archive/2008/03/10/185169.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Mon, 10 Mar 2008 10:38:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/03/10/185169.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/185169.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/03/10/185169.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/185169.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/185169.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; <img src="http://www.blogjava.net/images/blogjava_net/killme2008/b_D555CC059C8D19B615F6F312356D75C2.jpg" alt="" border="0" /><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
1908年的3月9日，四十多名&#8220;叛逃者&#8221;在奥雷菲奇的洛奥洛吉奥饭馆<span href="http://bbs.inter.net.cn/tag.php?name=%BE%DB%BB%E1" onclick="tagshow(event)" class="t_tag">聚会</span>，
宣布成立国际米兰足球俱乐部，吉奥瓦尼.帕拉米西奥蒂成为俱乐部第一任主席，俱乐部成立宣言如下：&#8221;nascer&#224; qui, al
ristorante &#8220;l'orologio&#8221;, ritrovo di artisti e sar&#224; sempre una squadra
di talento. Questa notte splendida dar&#224; i colori al nostro stemma: il
nero e l'azzurro sullo sfondo d'oro delle stelle. Si chiamer&#224;
Internazionale, perch&#232; noi siamo fratelli del mondo." （
她在时钟餐馆出生，重新找到艺术而且将永远是一支富有才华的球队。这个精彩的夜晚给了我们徽章的颜色：蓝色和黑色在金黄色的星状背景上面。她叫国际，因为
我们是世界的兄弟！）意大利《米兰日报》的国际米兰专家蒙蒂说：&#8220;他们选择的新球衣的颜色反映了他们浪漫主义倾向，黑色代表黑夜，而蓝色代表大海。&#8221;<br />
<br />
&nbsp;&nbsp;&nbsp; inter 100岁了，而我成为它的球迷也已经有10年了，怒过、骂过、笑过甚至哭过，多少个熬夜看球的夜晚，点点滴滴涌上心头。<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/185169.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-03-10 18:38 <a href="http://www.blogjava.net/killme2008/archive/2008/03/10/185169.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最近的学习和工作</title><link>http://www.blogjava.net/killme2008/archive/2008/03/04/183770.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Tue, 04 Mar 2008 11:09:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/03/04/183770.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/183770.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/03/04/183770.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/183770.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/183770.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 最近一直在写Ruby脚本，说出来你可能不相信，我用Ruby写游戏脚本<img src="/CuteSoft_Client/CuteEditor/images/emteeth.gif" alt="" align="absmiddle" border="0" />。用的是JRuby，采用JRuby是因为定时器的问题，Ruby1.8.6因为线程是用户空间内的本地线程，标准库没有提供强大的定时器功能，而对于游戏逻辑有相当多的任务需要定时处理，权衡之下，最后决定使用JRuby，封装了java的<code><font color="#000000">ScheduledExecutorService，等以后Ruby有更完善的定时器的时候就切换回来（我猜测引入了native thread的Ruby1.9应该有更强大的定时器），基本满足了要求。这一过程也更让我觉的JRuby是个非常有前途的项目，利用Ruby的语法以及动态语言的高效加上java极其丰富的类库</font></code>，这样的组合有莫大的威力，况且 JRuby的性能比之c ruby在某些方面更有优势，在1.1出来后应该可以有一个更大的提升。<br />
<br />
&nbsp;&nbsp;&nbsp; 写Ruby脚本唯一比较郁闷的是重构，尽管Netbeans比RDT提供了更好的重构功能，但是对于一些复杂重构仍然没有比较好的支持，况且我也不敢完全信任IDE的自动化，这种时候更显示出完备的单元测试的重要性，如果没有单元测试，对Ruby脚本的重构简直难以想象。另外一个比较麻烦的是，Ruby对二进制的处理并不是很方便，尽管使用了bit-struct，但是它只能支持定长的数据结构，而不是可变长度的array list，变长的string，或者switch结构；尽管我自己做了简单的扩展，仍然很局限。幸好我遇到这样的情况不多，通过其他手段变通处理也还能接受。后来javaeye上的庄表伟老大发布了<a href="http://www.javaeye.com/topic/161468">DynamicStruct</a>，这个才是根本解决之道，两者结合使用应该可以处理所有情况了。不过那时我的协议处理部分都已经完成，下次有机会再试试。<br />
&nbsp;&nbsp;&nbsp; 读书嘛，最近终于开始读买了许久的《代码大全2》，以前是真怕这种大部头，看着就没信心读完，哇哈哈，没想到一读下去就一发不可收拾，真是好书一本，就软件构建中的设计一章就值回书钱了。又利用晚上在重读sicp前三章，在注释这样的边边角角原来也非常有价值，例如对闭包和组合的解释，静态语言由于有太多的声明式结构（struct、class etc.)反而对组合造成了阻碍和惩罚，而在Lisp中由于通用的组合粘合剂cons的存在，可以以一种统一的方式去处理组合结构，模拟各种复杂的数据结构。今天托同事在当当上买的书到了，《unix编程艺术》到手，这书按牛人的说法是sicp的实践版，不读就相当遗憾了。<br /><img src ="http://www.blogjava.net/killme2008/aggbug/183770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-03-04 19:09 <a href="http://www.blogjava.net/killme2008/archive/2008/03/04/183770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>新年第一博</title><link>http://www.blogjava.net/killme2008/archive/2008/02/13/179757.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Wed, 13 Feb 2008 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/02/13/179757.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/179757.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/02/13/179757.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/179757.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/179757.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 习惯了，如果没有过完春节，感觉这一年还不算过去。年过完了，今天就开始上班了，昨天一早3点多到的广州，太冷了。怎么说呢？先来个总结吧，2007年都干了什么，2008年想干什么，工作上的。<br />
&nbsp;&nbsp;&nbsp; 首先是折腾——换工作，11月份辞职到星网，然后干了两个月，被mryufeng老大召唤到了广州，折腾来折腾去终于是稳定下来，要安心干活了。然后今年学习了Erlang，读了sicp前三章，开始学习网络和并发编程，对Ruby也有所深入，不过对unix编程还是进展不多。本来是计划能看完sicp和豆瓣上列着那几本，后来折腾的人精神都散了，没什么心思读书。今年的计划，首先是sicp第四章要继续读，习题继续做，读完这个还有《算法导论》等着我；然后是Erlang，按鱼老大的意思是年后要搞一搞，怎么也得再下番功夫，主要是otp这方面我还不是很熟悉。然后是想去读读几本经典的unix网络编程方面的，动手做做。最后就是继续关注感兴趣的那么几个主题：osgi、Ruby、高性能网络服务器的开发。<br />
&nbsp;&nbsp; 自从做了这行，貌似人变的越来越枯燥了，新一年要多关心身边的人，多关心老爸老妈，多关心弟弟，多听听音乐，幸好我还是保持着看电影和看球的习惯，希望家人朋友都身体健康（这比啥都重要），希望inter五月份能去莫斯科，希望我能有更多的耐性和坚持。也祝福看blog的你身体健康，工作顺利，恭喜发财咯，哈哈。<br />
&nbsp;<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/179757.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-02-13 11:30 <a href="http://www.blogjava.net/killme2008/archive/2008/02/13/179757.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在路上</title><link>http://www.blogjava.net/killme2008/archive/2008/01/31/178736.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Thu, 31 Jan 2008 11:59:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/01/31/178736.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/178736.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/01/31/178736.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/178736.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/178736.html</trackback:ping><description><![CDATA[<p>
<img src="http://www.blogjava.net/images/blogjava_net/killme2008/U1565P1T1D14862876F21DT20080130123026.jpg" alt="" border="0" /></p>
<p>&nbsp;&nbsp;&nbsp; 1月28日，24岁的深圳打工仔杜登勇孤独地走在京珠高速公路上，他已经步行了18个小时。25日，他得知女朋友在回家途中被困湖南株洲，而且生病了。
27日，他借了500元，坐火车从深圳来到广州，当天乘汽车到了韶关。当晚，京珠高速已封。杜登勇最后决定，连夜步行，前往400多公里外的株洲。</p>
&nbsp;&nbsp;&nbsp; 其实这世界从来不缺乏温暖的瞬间。<br />
<p><br />
</p><img src ="http://www.blogjava.net/killme2008/aggbug/178736.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-01-31 19:59 <a href="http://www.blogjava.net/killme2008/archive/2008/01/31/178736.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一副对联</title><link>http://www.blogjava.net/killme2008/archive/2008/01/22/177018.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Tue, 22 Jan 2008 06:12:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/01/22/177018.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/177018.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/01/22/177018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/177018.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/177018.html</trackback:ping><description><![CDATA[天涯上的牛人真多<br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/killme2008/1200613948_20804400.jpg" alt="" border="0" /><br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/177018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-01-22 14:12 <a href="http://www.blogjava.net/killme2008/archive/2008/01/22/177018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>再次换工作</title><link>http://www.blogjava.net/killme2008/archive/2008/01/11/174644.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Fri, 11 Jan 2008 07:58:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/01/11/174644.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/174644.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/01/11/174644.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/174644.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/174644.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 我从来就不是很安分的人，来福州两个月了，在star-net也干了两个月，最后还是经不住诱惑决定去广州了。原因？怎么说呢，在福州的工作没有我想象中的有趣，做的东西都是比较事务性，或者说没有激起我的热情。不过对于在福建的来说，star-net应该还是很好的选择。提辞职对于公司来说挺突然的，不过我做事情从来都是仔细考虑过后才会决定的，如果没有想好就提的话难免让人以为我在要挟什么的。广州那边其实很早就联系了，因为mryufeng老大在那，他帮我推荐了下，很感激老大。说起来跟mryufeng老大认识还通过javaeye，在javaeye上真认识了不少人。去广州的话，很有可能是做服务器开发，主要是java，可能用到cpp、erlang、脚本语言等等，可以说是混合性比较强的工作，不过也有可能去做web开发，这块毕竟是我一直在做的。还是希望能跳出web这个领域，我的兴趣还是在并发和服务器上。<br />
&nbsp;&nbsp;&nbsp; 明天晚上坐长途班车出发，后天一早到广州，准备投靠一哥们，这哥们还是大学时玩网络游戏认识的。在游戏里很投缘，这厮一个人从唐山跑到广州混了两年了，而且混的挺好，不得不让我佩服。先去投靠他几天，然后慢慢找房子，14号就正式去上班了。去了潜心好好干，好好向公司里的老大们学习，毕竟是我最感兴趣的领域啊，机会难得。<img src ="http://www.blogjava.net/killme2008/aggbug/174644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-01-11 15:58 <a href="http://www.blogjava.net/killme2008/archive/2008/01/11/174644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>读《人工智能的未来》</title><link>http://www.blogjava.net/killme2008/archive/2007/11/18/161463.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Sun, 18 Nov 2007 14:22:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/11/18/161463.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/161463.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/11/18/161463.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/161463.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/161463.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 《人工智能的未来》的作者是Jeff Hawkins，也就是著名的PalmPilot掌上电脑和Treo智能电话的发明人，这牛人从小就对人工智能充满兴趣并孜孜追求，哪怕从事软件业也是为了自己的理想。就书的内容来说，很有意思。作者先批判了传统的人工智能的发展方向，并且断定传统的人工智能永远没办法造出能够与人脑相媲美的智能机器。因为想要真正地了解智能是什么，只有去研究人脑的智能，而不能单纯地依靠程序和数学。<br />
&nbsp;&nbsp;&nbsp; 接下来，Jeff Hawkins系统地探讨了自己对于新大脑皮层的理论，也就是他所宣称的智能理论。所谓智能，其实就是新大脑皮层基于记忆-预测系统的系统体系。新大脑皮层由层次性的神经元组成，由人类在成长生活过程中不断记忆强化的各种&#8220;恒定表征&#8221;，以及由此对输入产生从上而下的预测。这样说太抽象，举个例子，你看着某个人的眼睛，这些信息通过你的眼睛感官上传到大脑皮层，由下而上，细节构成整体，过去的记忆形成的关于|&#8220;眼睛&#8221;的模式让你知道你看到的是眼睛。这个过程不是单向的，同时，你的大脑皮层作出预测，&#8220;哦，往下看我应该可以看到这个人的鼻子，往上看应该是额头&#8221;这样的预测从上往下传递，并且配合你的感官器官得以验证。所谓智能就是这样一个不断验证记忆中的&#8220;模式&#8221;（或者称为&#8220;恒定表征|&#8221;）不断作出预测的过程。<br />
&nbsp;&nbsp;&nbsp; 那么，什么是意识呢？意识包括两种：自我意识和可感知的意识。我们通常所说的意识其实都是指自我意识，这种&#8220;意识&#8221;本质上也是基于记忆-预测模型的陈述性记忆。例如，昨天你去郊外参加野营，假设我有这么一种方法可以抹去你某一段时间的记忆，那么当你今天早上醒来之前，我运用这个方法抹去你昨天去野营的记忆。今天，昨天与你去野营的人说，&#8220;HI，昨天我们一起去野营了&#8221;，可是你已经没有这段记忆，你会很惊讶并且辩解说自己根本没有去，别人后来拿出了一起去野营的录象，你看了之后也许就说&#8220;啊，那时候我是没有意识的，我像个僵尸，我真的去了吗？&#8221;，可见，所谓自我意识就是陈述性的记忆。可感知的意识，比如我们通常认为蓝色代表忧郁，红色表示愤怒，这样的意识与古脑有关（古脑控制了人类的基本情绪和感受，性欲、饥饿、高兴等等），作者没有给出确切的解释，不过显然也与记忆-预测模型相关，我猜测这与人类长期进化形成的&#8220;记忆&#8221;有关。<br />
&nbsp;&nbsp;&nbsp; 那么，什么是创造力？创造力在某些人眼里是那么的神奇，其实所谓创造力，仍然是构建在记忆-预测的模型基础上。我们俗语说&#8220;一通百通&#8221;，其实就是创造力的一种体现，精通一样技艺之后，在你的新大脑皮层已经稳定地形成了关于这项技艺的方方面面的&#8220;模式&#8221;，当遇到另一样需要学习的技艺时，专家们总可以找到两者间的共同点。比如在编程领域，设计模式就是关于软件的高级抽象模式，这样的模式可以应用于各式各样的语言。天才们的共同特点就是比一般人更能去发现抽象之抽象、模式之模式。因此，创造力完全是可以培养的，尽管由于个体上的差异（大脑的构造和大脑皮层的面积以及环境、信仰等等），但是每个人其实都可以去培养自己的创造力。遇到难题，首先不能放弃，很多人其实没有开始就放弃了，其次，应该从不同角度去考虑问题，应用不同感官和视角，这样可以激发起你对相似场景的模式记忆，类比而去解决问题。在科学史上通过类比而创新的例子举不胜举。<br />
&nbsp;&nbsp;&nbsp; 最后，什么是想象？新大脑皮层对输入的信息与长期训练形成的&#8220;恒定表征&#8221;相验证，同时不断地去预测，预测从皮层较高层次往下传递。如果将预测的传输方向倒转，也就是将预测作为输入，显然，这就是想象。想象其实就是策划，不断对行为产生的后果进行预测。心理暗示的作用也从这个意义上得到了验证。<br />
&nbsp;&nbsp;&nbsp; 说说所谓&#8220;恒定表征&#8221;，这个概念其实类似于柏拉图哲学中的&#8220;理型&#8221;。我们怎么知道一只动物是马，而不是别的什么东西。按照柏拉图的说法，这就是我们将感官中看到的马，与心灵中&#8220;理型&#8221;的马进行类比而得出这是一只马的结论，&#8220;完美理型的马&#8221;拥有马的一切特征，是具体马的&#8220;形式&#8221;。而且柏拉图认为，&#8220;理型&#8221;是与生俱来的，来源于一个称为&#8220;理型的世界&#8221;。Jeff Hawkins所说的&#8220;恒定表征&#8221;与此类似，不过&#8220;恒定表征&#8221;并不是生来就有的，而是人在成长过程中不断记忆学习形成的稳定&#8220;模式&#8221;。还是以马为例，第一次看见这种动物，你并不知道这就是所谓马，然后有人告诉你这就是马，你记下了马的特征和场景，在以后的生活里这个记忆被不断地重复和强化，进而形成了关于马的&#8220;恒定表征&#8221;：马是四条腿的动物，如果不是的话，你也可以通过其他特征断定这可能是受伤了只剩三条腿的马；并且一般王子和大侠们也都喜欢骑白马......</p>
<p>&nbsp;&nbsp;&nbsp; 基于这套新的智能框架，Jeff Hawkins认为我们可以制造出真正的智能机器，而且这个领域也将成为下一个技术革命。制造出的智能机器不一定有人的表面特征，也就是机器人管家这样的幻想中的东西并不是智能机器的方向，智能机器将充分利用速度和记忆容量上的优势，在特定领域发挥惊人的作用，比如思考数学上的多维空间、天气预报等等。这本书可以让你一口气读完，翻译得也相当棒，相当地推荐。<br />
</p><img src ="http://www.blogjava.net/killme2008/aggbug/161463.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-11-18 22:22 <a href="http://www.blogjava.net/killme2008/archive/2007/11/18/161463.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>福州杂谈</title><link>http://www.blogjava.net/killme2008/archive/2007/11/17/161274.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Sat, 17 Nov 2007 13:19:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/11/17/161274.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/161274.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/11/17/161274.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/161274.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/161274.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 搬家到了福州，电视没搬上来，住的又是郊区，晚上空余的时间大增，读书时间由过去的一两个小时增长到整个晚上。请还在读研的兄弟帮忙在学校借了7本书，除了本《人工智能的未来》（这本挺有趣的），其他都是技术类，也知道自己的读书面现在太窄了，不是不想看闲书，可确实有很多东西计划着要去学，如果还停留在计划，我怀疑自己到底还会不会去读，比如龙书和unix shell编程。谈一下最近读的很有感觉的两本书。<br />
&nbsp;&nbsp;&nbsp; 首先是〈网站重构〉，这真的是我第一次认真地去看一本web设计类的书。尽管一直是做WEB方面的开发，但是对于网页的设计和布局我从来没有系统地学习过，当然更不清楚为什么这样做以及这样做到底好不好。因为做的所谓企业应用（可以指定用户使用的浏览器版本），对于web标准我从来就没有认真关注过，也就在读js高级程序设计时了解了js在各种浏览器上的基本差异。如果你跟我一样，我强烈建议你看看〈网站重构〉，从书中我才知道自己写的网页代码是如此恶心，充斥着占用带宽的垃圾代码，没有考虑可用性和维护，更不用说麻烦的浏览器兼容问题。这还不是关键的，更关键的是这本书让你回到了HTML和XHTML被设计出来的本意：他们是用来表示网站结构的，而应该将元素的展现交给CSS。将结构和展现分离带来了代码量减少，带来了维护的便利，也带来了优秀的浏览器兼容效果。<br />
&nbsp;&nbsp;&nbsp; 另外一本让我熬夜读的就是鼎鼎大名的龙书 ，跟国产的一本正经的教科书不同，这本书没有一大堆罗列的公式和术语，在第一章简单地对编译器介绍后，第二章立马用C语言实现了一个简单而又完整的编译器前端（将中缀算术表达式转化成后缀表达式），又介绍了抽象的基于栈的机器实现算术运算和条件循环表达式的基本原理。一口气读完前两章，你得承认，计算机类的书还是国外的好。读的时候我想起我过去用JAVA写的一个简单的<a href="http://www.blogjava.net/killme2008/archive/2007/08/06/134668.html">逻辑表达式解析器，</a>虽然简陋，但是也暗合书中这个前端的原理，没有系统学习过，写出来的也是野路子，有需要的话再改写一下。<br />
&nbsp;&nbsp; 最后是工作，不是很顺利，没有我想像中的那么好，毕竟理想和现实是差距是永恒存在滴。开始一段时间挺不开心的，毕竟陌生的人和事总会让你有点找不着北。我想我会适应的，稳定下情绪，慢慢进入角色，做好本分就是了。&nbsp;&nbsp;&nbsp; <br /><img src ="http://www.blogjava.net/killme2008/aggbug/161274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-11-17 21:19 <a href="http://www.blogjava.net/killme2008/archive/2007/11/17/161274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>顺利离职</title><link>http://www.blogjava.net/killme2008/archive/2007/10/31/157133.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Wed, 31 Oct 2007 02:46:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/10/31/157133.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/157133.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/10/31/157133.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/157133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/157133.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 9月20号提的离职，按公司的要求，我也呆到了10月底，本来以为可以顺利离职，可中途公司又提出想调我去武汉的新项目组。按我的想法，还是想在省内再找家好点的公司锻炼两年，经过更多的项目锤炼，然后去北京、上海或者广州等地追寻新的梦想，因此拒绝了公司的提议。前天公司又额外生枝，要求我呆在11月5号，可我的离职明明写的是31号，公司有什么道理要求我呆到5号呢？自认为对工作也是尽职尽责了，为了交接工作的顺利进行，我还特意加班让接手工作的同事多点时间熟悉，我认为自己尽到了责任，因此向公司领导说明了我会在明天就离开公司。最后终于还是成了，明天先回家，然后去福州，新的工作已经找好，托了同学帮忙找房子，事情向好的一面发展，心情也好了不少。因为换工作带来的烦恼慢慢消逝，对未来还是充满信心。<br /><img src ="http://www.blogjava.net/killme2008/aggbug/157133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-10-31 10:46 <a href="http://www.blogjava.net/killme2008/archive/2007/10/31/157133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>The Future Of the Software Development</title><link>http://www.blogjava.net/killme2008/archive/2007/10/25/155788.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Thu, 25 Oct 2007 02:11:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/10/25/155788.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/155788.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/10/25/155788.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/155788.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/155788.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在未来，我们可能需要的是一个个高效精干的小型团队，团队成员技艺高超，富于激情，易于沟通。&nbsp;&nbsp;<a href='http://www.blogjava.net/killme2008/archive/2007/10/25/155788.html'>阅读全文</a><img src ="http://www.blogjava.net/killme2008/aggbug/155788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-10-25 10:11 <a href="http://www.blogjava.net/killme2008/archive/2007/10/25/155788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>专业？我才刚上路</title><link>http://www.blogjava.net/killme2008/archive/2007/10/17/153609.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Wed, 17 Oct 2007 08:38:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/10/17/153609.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/153609.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/10/17/153609.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/153609.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/153609.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 最近被换工作的事情搞的心烦意乱，几本正在读的技术书进度都慢了下来。上周末，老婆回家参加同学婚礼，一个人去书店瞎逛，随手拿起了温伯格的《理解专业程序员》，读了几个短篇就被吸引住了。见天色已晚，遂买之回家，细细品读。这本书是由一篇篇短小精悍的文章组成，按一定的主题组织在一起，你想知道如何称为一名程序员吗？什么才算是专业的程序员？程序员如何提高绩效？如何更有效地进行思考？大师用几十年的从业经验为你慢慢道来。<br />
&nbsp;&nbsp;&nbsp; 专业？到底什么样的人才称得上专业的程序员？温伯格说，<font size="2">计算机编程领域具备了不起的技艺或经验的那些人才能算得上是专业程序员。&#8220;技艺&#8221;这个词用的很恰当。那么，要多长的时间才能称为专业的人呢？大师的意见是怎么也得15年，15年以内的只能称为业余程序员或者&#8220;不那么专业的程序员&#8221;。呵呵，我也曾在外行人面前冒充过专业程序员，想想都汗颜，当得上&#8220;专业&#8221;两个字不仅仅是15年的从业经历，更多是这15年中你做了什么，创造了什么，学到了什么。经验与技艺缺一不可。书中充满了真知灼见，有些故事让你觉的脸红，因为那些愚蠢的事情正是你不断重复的；有些经验让你觉的很熟悉，是啊，我们就是这样干的！而有些见解其实是一些励志书籍不断重复的老套教条，尽管老套，但是没有经历的人终究是难以理解的，我也不例外。这本书值的在以后多年的日子里重读几遍。</font><br /><img src ="http://www.blogjava.net/killme2008/aggbug/153609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-10-17 16:38 <a href="http://www.blogjava.net/killme2008/archive/2007/10/17/153609.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hack,hacker</title><link>http://www.blogjava.net/killme2008/archive/2007/10/15/152846.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Mon, 15 Oct 2007 01:09:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/10/15/152846.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/152846.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/10/15/152846.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/152846.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/152846.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; hack有水平高低之分，最近看到一个blog，牛人的hack水平让你不得不服。情况是这样的，牛人在使用 <a href="http://public.railsplugins.net/repos/mongrel_light_cluster/trunk/">mongrel_light_cluster</a>的过程中，发现这个cluster违反了copy-on-write的语义，导致占用了太多的内存。根本原因在于Ruby的GC机制是<a href="http://blog.beaver.net/2005/03/ruby_gc_and_copyonwrite.html">marks all memory pages as dirty</a>。为了减少内存的占用，让集群跑更多mongrel，牛人走上了hack之路，给c ruby打补丁，他也真的<a href="http://izumi.plan99.net/blog/index.php/2007/10/13/making-ruby%e2%80%99s-garbage-collector-copy-on-write-friendly-part-4/">做到了</a>。c ruby的GC使用的是mark and sweep(标记并清除)的垃圾收集算法，他发现在mark过程中使用了<a href="http://www.blogjava.net/killme2008/archive/2007/09/18/146234.html">st_table</a>，这个数据结构占用了很大的内存，那么就改用<a href="http://code.google.com/p/google-sparsehash/">Google&#8217;s sparse_hash</a>。然后他又写了一个memory pool，以应对marking和sweep使用过程中对malloc和free调用带来的内存损失，因为在x86 GNU/linux gcc上，malloc函数如果申请的内存小于76KB，那么当free的时候这些内存不会被返还给操作系统。他的hack之路还没结束，有兴趣的关注他的blog: <br />
<br />
&nbsp;http://izumi.plan99.net/blog/index.php/<br />
<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/152846.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-10-15 09:09 <a href="http://www.blogjava.net/killme2008/archive/2007/10/15/152846.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写一个简单的工作流（四）资源的处理</title><link>http://www.blogjava.net/killme2008/archive/2007/10/13/152604.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Sat, 13 Oct 2007 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/10/13/152604.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/152604.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/10/13/152604.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/152604.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/152604.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 昨天晚上搞到深夜，终于将资源模块搞定。到今天已经完成的功能包括：<br />
1.四种基本路由：顺序、选择、并行、循环<br />
2.流程定义文件和系统配置文件的读取和解析<br />
3.使用内存作为流程数据和案例数据存储的MemoryWorkFlowDAO的开发<br />
4.资源模块的开发<br />
5.并发情况下的正确性测试等<br />
<br />
&nbsp;&nbsp;&nbsp; 计划中的功能：<br />
1.一个GUI的流程定义工具，这个不急，也还没想好用什么做，web还是桌面？<br />
2.各个数据库版本的WorkFlowDAO的开发，将流程数据和案例数据保存在数据库中。<br />
3.更多的测试和example试验。<br />
<br />
&nbsp;&nbsp;&nbsp; 回到资源这个概念，工作流中工作项（work item）的由资源来驱动的，这个资源(resource)可能是用户、角色、定时时间或者某个事件消息。在标准petri网中，工作项对应于transition(变迁），变迁都是自动的，不需要所谓资源来驱动，显然，这与工作流系统不同。具体到insect workflow(我取的名字，小巧之意），每个transition都有一个resource，用于驱动自身的firing，所有的resource都实现Resource接口：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">interface</span><span style="color: #000000;">&nbsp;Resource&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;Serializable&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;start(Transition&nbsp;transition,&nbsp;Token&nbsp;token,&nbsp;Object&nbsp;args);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;ResourceType&nbsp;getType();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;getId();<br />
<br />
}</span></div>
&nbsp;&nbsp;&nbsp; 每个资源都有一个类型，以及这个类型中独一无二的id，start方法用于驱动transtion的firing。一般情况下，你不需要实现这个接口，只要继承这个接口的抽象实现类AbstractResource，AbstractResource的start方法默认实现是首先调用模板方法doAction（稍后解释）,然后检查触发条件，如果通过就直接调用transition的fire方法：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">abstract</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;AbstractResource&nbsp;</span><span style="color: #0000ff;">implements</span><span style="color: #000000;">&nbsp;Resource&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;start(Transition&nbsp;transition,&nbsp;Token&nbsp;token,&nbsp;Object&nbsp;args) </span><span style="color: #000000;">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doAction(transition,&nbsp;token,&nbsp;args);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(transition.getCondition()&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">!</span><span style="color: #000000;">transition.getCondition().check(token))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">throw</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ConditionException(transition.getName()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;transition没有满足触发条件</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transition.fire(token,&nbsp;args);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">abstract</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;doAction(Transition&nbsp;transition,&nbsp;Token&nbsp;token,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&nbsp;args) </span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
}</span></div>
<br />
&nbsp;&nbsp;&nbsp; Transtion类的fire方法有三个操作组成：从输入库所移走token，往输出库所放入token，回调handler：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&nbsp;&nbsp;&nbsp; public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;fire(Token&nbsp;token,&nbsp;Object<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&nbsp;args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeTokenFromInputs(token);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addTokenToOutputs(token);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invokeHandler(token,&nbsp;args);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
&nbsp;&nbsp;&nbsp; 那么具体的资源显然要实现AbstractResource中的doAction抽象方法，系统内置了五种资源：自动资源（AutoResource）、用户(User)、用户组(Group)、定时器(TimerResource)和事件监听器（ObserverResource）。显然，AutoResource、User和Group的doAction方法不需要做任何事情：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;User&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;AbstractResource&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;Group&nbsp;group;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif" alt="" /><img src="http://www.blogjava.net/Images/dot.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;doAction(Transition&nbsp;transition,&nbsp;Token&nbsp;token,&nbsp;Object<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&nbsp;arg)</span><span style="color: #000000;">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
}</span></div>
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 而TimerResource就需要做特殊处理了，比如我们要达到这样的效果：节点1状态已经处于就绪，可以被触发，可我们希望在就绪后延迟半分钟再触发，或者在晚上10点触发等等。这样的定时需求很常见，我采用了jdk5引入的ScheduledExecutorService来处理。系统中启动这样一个线程池，每个类似上面的请求都提交给这个线程池来处理，那么TimerResource就需要进行相应的修改：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">abstract</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;TimerResource&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;AbstractResource&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;pool_size;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;ScheduledExecutorService&nbsp;scheduledExecutorService;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;getId()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;Common.TIMER_RESOURCE_ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;TimerResource()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.pool_size&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scheduledExecutorService&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Executors.newScheduledThreadPool(pool_size);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;shutdownPool()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(scheduledExecutorService&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scheduledExecutorService.shutdown();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;start(Transition&nbsp;transition,&nbsp;Token&nbsp;token,&nbsp;Object<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&nbsp;args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;InterruptedException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(transition.getCondition()&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">!</span><span style="color: #000000;">transition.getCondition().check(token))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">throw</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ConditionException(transition.getName()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;transition没有满足触发条件</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transition.removeTokenFromInputs(token);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doAction(transition,&nbsp;token,&nbsp;args);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;ChangeRunner&nbsp;</span><span style="color: #0000ff;">implements</span><span style="color: #000000;">&nbsp;Runnable&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Transition&nbsp;transition;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Token&nbsp;token;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Object[]&nbsp;args;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;ChangeRunner(Transition&nbsp;transition,&nbsp;Token&nbsp;token,&nbsp;Object<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&nbsp;args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.transition&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;transition;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.token&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;token;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.args&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;args;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;run()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(transition.getCondition()&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">!</span><span style="color: #000000;">transition.getCondition().check(token))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">throw</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ConditionException(transition.getName()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;transition没有满足触发条件</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transition.addTokenToOutputs(token);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;real_args[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Object[args.length&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;real_args.length;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;real_args[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;args[i&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transition.invokeHandler(token,&nbsp;real_args);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;回调</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((WorkFlowAlgorithm)&nbsp;args[</span><span style="color: #000000;">1</span><span style="color: #000000;">]).enabledTraversing(token<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getWorkFlow());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((WorkFlowManager)&nbsp;args[</span><span style="color: #000000;">0</span><span style="color: #000000;">]).doAction(token.getId());<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(InterruptedException&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.currentThread().interrupt();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
&nbsp;&nbsp;&nbsp; 注意到，start方法不再是直接调用transition的fire方法，而仅仅是进行了第一步操作：移除输入库所的place防止重复提交。后两步操作都延迟到了提交给线程池的任务中，也就是代码中的<span style="color: #000000;">ChangeRunner类中的run方法。例如TimerResource的子类DelayTimerResource用于处理延迟的触发，doAction就像这样：<br />
</span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;DelayTimerResource&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;TimerResource&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif" alt="" /><img src="http://www.blogjava.net/Images/dot.gif" alt="" /><br />
&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;doAction(Transition&nbsp;transition,&nbsp;Token&nbsp;token,&nbsp;Object<img src="http://www.blogjava.net/Images/dot.gif" alt="" />&nbsp;args)</span><span style="color: #000000;">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scheduledExecutorService.schedule(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ChangeRunner(transition,&nbsp;token,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;args),&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.delay,&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.timeUnit);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
&nbsp;&nbsp;&nbsp; 延迟的时间，时间单位这些信息都可以在流程定义文件中设置。事件监听器资源与此类似，ObserverResource实现了java.util.Observer接口，往输出库所放入token和回调handler两步操作被放在了update方法中提供给Subject回调。<br />
&nbsp;&nbsp;&nbsp; <br />
<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/152604.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-10-13 17:15 <a href="http://www.blogjava.net/killme2008/archive/2007/10/13/152604.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写一个简单的工作流，基于petri网</title><link>http://www.blogjava.net/killme2008/archive/2007/10/10/151845.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Wed, 10 Oct 2007 10:03:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/10/10/151845.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/151845.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/10/10/151845.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/151845.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/151845.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 写一个简单的工作流一直停留在我的&#8220;计划&#8221;中，最近趁改造绩效系统的机会，决定自己写一个基于petri网原理的工作流来改写绩效考核流程部分。基于petri网的工作流的基本算法，就是当每一个firing发生后，应当遍历整个流程重新改变transition的enable，那么当资源驱动某个transition其实就是将它的输入place中的token转移到输出place。大概的接口类似：<br />
<br />
WorkFlowManager wm = new BasicWorkflowManager(this.workFlowDAO);<br />
Token token1 = wm.startWorkFlow(0); //为流程0新启动一个案例<br />
wm.doAction(token1,resource,args);&nbsp; //传入资源和参数以驱动firing<br />
<br />
今天完成了顺序路由和并行路由的实现，选择和循环也准备加入。暂时只实现了内存存储案例数据和流程数据，显然，应当实现一个数据库版本，慢慢来吧。<img src ="http://www.blogjava.net/killme2008/aggbug/151845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-10-10 18:03 <a href="http://www.blogjava.net/killme2008/archive/2007/10/10/151845.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>辞职了</title><link>http://www.blogjava.net/killme2008/archive/2007/09/20/146753.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Thu, 20 Sep 2007 04:48:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/09/20/146753.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/146753.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/09/20/146753.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/146753.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/146753.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 今天向公司提出辞职了，考虑这么久，还是决定辞职。我不想浪费大半年时间做维护，大部分时间无所事事，这是我不能接受的。我需要更多的项目经历来锻炼自己。在公司这一年，学到的不少，无论从做人还是技术上都有所感悟，接下来确定去厦门，未来将怎么样？还是充满希望和憧憬，希望好运吧。<br /><img src ="http://www.blogjava.net/killme2008/aggbug/146753.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-09-20 12:48 <a href="http://www.blogjava.net/killme2008/archive/2007/09/20/146753.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>50本书总结的50句话（转载）</title><link>http://www.blogjava.net/killme2008/archive/2007/09/09/143784.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Sun, 09 Sep 2007 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/09/09/143784.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/143784.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/09/09/143784.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/143784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/143784.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 在javaeye上看到的转贴，原始出处不知道在何处了。50本世界名著一句话总结，粗粗掠过，自己也就看了其中的15本左右，而给我留下最深印象的仍然是卡夫卡的《变形记》，仍然记的第一次阅读时心灵的悸动，乃至后来看村上的《海边的卡夫卡》，隐喻中的现实真实而残酷。<br />
<br />
<strong>&nbsp;&nbsp;&nbsp; 1．神要是公然去跟人作对，那是任何人都难以对付的。(《荷马史诗》) <br />
<br />
2．生存还是毁灭，这是一个值得思考的问题。(《哈姆霄特》) <br />
<br />
3．善良人在追求中纵然迷惘，却终将意识到有一条正途。(《浮士德》) <br />
<br />
4．认识自己的无知是认识世界的最可靠的方法。(《随笔集》) <br />
<br />
5．你以为我贫穷、相貌平平就没有感情吗?我向你发誓，如果上帝赋予我财富和美貌，我会让你无法离开我，就像我现在无法离开你一样。虽然上帝没有这么做，可我们在精神上依然是平等的。(《简-爱》) <br />
<br />
6．大人都学坏了，上帝正考验他们呢，你还没有受考验，你应当照着孩子的想法生活。(《童年》) <br />
<br />
7，你越没有心肝，就越高升得快，你毫不留情地打击人家，人家就怕你。只能把男男女女当作驿马，把它们骑得筋疲力尽，到了站上丢下来，这样你就能达到欲望的最高峰。(《高老头》) <br />
<br />
8．我只想证明一件事，就是，那时魔鬼引诱我，后来又告诉我，说我没有权利走那条路，因为我不过是个虱子，和所有其余的人一样。(《罪与罚》) <br />
<br />
9．你瞧，桑丘?潘沙朋友，那边出现了三十多个大得出奇的巨人。(《堂-吉诃德》) <br />
<br />
10．我并不愿意你受的苦比我受的还大，希斯克利夫。我只愿我们永远不分离：如果我有一句话使你今后难过，想想我在地下也感到一样的难过，看在我自己的份上，饶恕我吧!(《呼啸山庄》) <br />
<br />
11．幸福的家庭是相同的，不幸的家庭各有各的不同。(《安娜-卡列尼娜》) <br />
<br />
12．唉，奴隶般的意大利，你哀痛之逆旅，你这暴风雨中没有舵手的孤舟，你不再是各省的主妇，而是妓院!(《神曲》) <br />
<br />
13．将感情埋藏得太深有时是件坏事。如果一个女人掩饰了对自己所爱的男子的感情，她也许就失去了得到他的机会。(《傲慢与偏见》) <br />
<br />
14．钟声又鸣响了&#8230;&#8230;一声又一声，静谧而安详，即使在女人做新娘的那个好月份里，钟声里也总带有秋天的味道。(《喧嚣与骚动》) <br />
<br />
15．一个人并不是生来要被打败的，你尽可以把他消灭掉，可就是打不败他。(《老人与海》) <br />
<br />
16．当然，行是行的，这固然很好，可是千万别闹出什么乱子来啊。(《套中人》) <br />
<br />
17．面包!面包!我们要面包!(《萌芽》) <br />
<br />
18．我从没有爱过这世界，它对我也一样。(《拜伦诗选》) <br />
<br />
19．　爱情应该给人一种自由感，而不是囚禁感。(《儿子与情人》) <br />
<br />
20．暴风雨将要在那一天，甚至把一些槲树吹倒，一些教堂的高塔要倒塌，一些宫殿也将要动摇!(《海涅诗选》) <br />
<br />
21．自己的行为最惹人耻笑的人，却永远是最先去说别人坏话的人。(《伪君子》) <br />
<br />
22．这时一种精神上的感慨油然而生，认为人生是由啜泣、抽噎和微笑组成的，而抽噎占了其中绝大部分。(《欧-亨利短篇小说选》) <br />
<br />
23．历史喜爱英勇豪迈的事迹，同时也谴责这种事迹所造成的后果。(《神秘岛》) <br />
<br />
24．整个下半天，人都听凭羊脂球去思索。不过本来一直称呼她作&#8220;夫人&#8221;，现在却简单地称呼她作&#8220;小姐&#8221;了，谁也不很知道这是为着什么，仿佛她从前在
评价当中爬到了某种地位，现在呢，人都想把她从那种地位拉下一级似的，使她明白自己的地位是尚叩摹?(《莫泊桑短篇小说选》) <br />
<br />
25．如果冬天来了，春天还会远吗?　(《雪莱诗选》) <br />
<br />
26．我明白了，我已经找到了存在的答案，我恶心的答案，我整个生命的答案。其实，我所理解的一切事物都可以归结为荒诞这个根本的东西。(《恶心》) <br />
<br />
27．世界上有这样一些幸福的人，他们把自己的痛苦化作他人的幸福，他们挥泪埋葬了自己在尘世间的希望，它却变成了种子，长出鲜花和香膏，为孤苦伶仃的苦命人医治创伤。(《汤姆叔叔的小屋》) <br />
<br />
28．当格里高?萨姆莎从烦躁不安的梦中醒来时，发现他在床上变成了一个巨大的跳蚤。(《变形记》) <br />
<br />
29．当现实折过来严丝合缝地贴在我们长期的梦想上时，它盖住了梦想，与它混为一体，如同两个同样的图形重叠起来合而为一一样。(《追忆似水年华》) <br />
<br />
30．人与人之间，最可痛心的事莫过于在你认为理应获得善意和友谊的地方，却遭受了烦扰和损害。(《巨人传》) <br />
<br />
31．现在我说的您要特别注意听：在别人心中存在的人，就是这个人的灵魂。这才是您本身，才是您的意识在一生当中赖以呼吸、营养以至陶醉的东西，这也就是您的灵魂、您的不朽和存在于别人身上的您的生命。(《日瓦戈医生》) <br />
<br />
32．美德犹如名香，经燃烧或压榨而其香愈烈，盖幸运最能显露恶德而厄运最能显露美德。(《培根论说文集》) <br />
<br />
33．亲爱的艾妮斯，我出国，为了爱你，我留在国外，为了爱你，我回国，也是为了爱你!(《大卫-科波菲尔》) <br />
<br />
34．强迫经常使热恋的人更加铁心，而从来不能叫他们回心转意。(《阴谋与爱情》) <br />
<br />
35．在各种事物的常理中，爱情是无法改变和阻挡的，因为就本性而言，爱只会自行消亡，任何计谋都难以使它逆转。(《十日谈》) <br />
<br />
36．只要你是天鹅蛋，就是生在养鸡场里也没有什么关系。(《安徒生童话》) <br />
<br />
37．就投机钻营来说，世故的价值永远是无可比拟的。(《死魂灵》) <br />
<br />
38.谁都可能出个错儿，你在一件事情上越琢磨得多就越容易出错。(《好兵帅克历险记》) <br />
<br />
39．我们经历着生活中突然降临的一切，毫无防备，就像演员进入初排。如果生活中的第一次彩排便是生活本身，那生活有什么价值呢?(《生命中不能承受之轻》) <br />
<br />
40．他发现了人类行为的一********自己还不知道——那就是，为了要使一个大人或小孩极想干某样事情，只需要设法把那件事情弄得不易到手就行了。(《汤姆-索亚历险记》) <br />
<br />
41．对有信仰的人，死是永生之门。(《失乐园》) <br />
<br />
42．有一个传说，说的是有那么一只鸟儿，它一生只唱一次，那歌声比世上所有一切生灵的歌声都更加优美动听。(《荆棘鸟》) <br />
<br />
43．离开一辈子后，他又回到了自己出生的那片土地上。从小到大，他一直是那个地方的目击者。(《尤利西斯》) <br />
<br />
44．同上帝保持联系是一码事，他们都赞同这一点，但让上帝一天二十四小时都待在身边就是另一码事了。(《第二十二条军规》) <br />
<br />
45．在甜蜜的梦乡里，人人都是平等的，但是当太阳升起，生存的斗争重新开始时，人与人之间又是多么的不平等。(《总统先生》) <br />
<br />
46．开发人类智力的矿藏是少不了要由患难来促成的。(《基度山伯爵》) <br />
<br />
47．离你越近的地方，路途越远；最简单的音调，需要最艰苦的练习。(《泰戈尔诗选》) <br />
<br />
48．悲伤使人格外敏锐。(《约翰-克里斯朵夫》 ）<br />
<br />
49．我在女人跟前经常失败，就是由于我太爱她们了。(《忏悔录》) <br />
<br />
50．她睁大一双绝望的眼睛，观看她生活的寂寞。她像沉了船的水手一样，在雾蒙蒙的天边，遥遥寻找白帆的踪影。(《包法利夫人》)</strong><br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/143784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-09-09 15:04 <a href="http://www.blogjava.net/killme2008/archive/2007/09/09/143784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我深入学习C语言的三个目的</title><link>http://www.blogjava.net/killme2008/archive/2007/09/07/143401.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Fri, 07 Sep 2007 06:37:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/09/07/143401.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/143401.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/09/07/143401.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/143401.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/143401.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 学习和使用java有四年多了，现在却回头搞起了C，理由有三：<br />
1、为了考试啊，我也知道高程证书含金量不怎么样，可为了督促自己再次深入学习下基础知识，考个证没坏处。<br />
<br />
2、我想读《ruby hacking guide》，ruby是用C写的，自从看了dreamhead老大的《管窥ruby》之后，我一直有股强烈的冲动去读ruby的源码。想把冲动转成行动，不深入下C语言是不行的。有牛人将Erlang的源码都看了，尽管我觉的我这辈子还达不到那么牛，不过偶尔去探访一下神秘的代码丛林也能满足下好奇心。甚至某天去看看jvm的源码......浮云。<br />
<br />
3、没错，我对unix/linux下的C开发充满了兴趣，对网络通讯方面也很感兴趣，况且用C语言去操纵内核实在是很有趣、很好玩的事情，在这个学习过程中也加深了对计算机底层运行原理的理解。<br />
<br />
&nbsp;&nbsp;&nbsp; 终于将《c primer plus》看完，俨然发现c语言并非想象中的复杂，某种意义上还是非常简洁的，高效当然就更不用说咯。<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/143401.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-09-07 14:37 <a href="http://www.blogjava.net/killme2008/archive/2007/09/07/143401.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PIPE2——Petri网编辑工具</title><link>http://www.blogjava.net/killme2008/archive/2007/09/05/142936.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Wed, 05 Sep 2007 08:51:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/09/05/142936.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/142936.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/09/05/142936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/142936.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/142936.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 最近重新拿起《工作流管理-模型、方法和系统》，需要一个Petri网画图、分析的工具，google一把，在sourceforge上找到PIPE2项目。按它的描述是：Platform Independent Petri Net Editor 2。看了下源码是用swing写的。已经基本满足我的要求了。<br />
项目地址：http://pipe2.sourceforge.net/<br />
<br />
下图是对书中习题七的过程定义<br />
<img src="http://www.blogjava.net/images/blogjava_net/killme2008/ex7.PNG" alt="" border="0" /><br />
<br />
<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/142936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-09-05 16:51 <a href="http://www.blogjava.net/killme2008/archive/2007/09/05/142936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>辞职？</title><link>http://www.blogjava.net/killme2008/archive/2007/09/03/142290.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Mon, 03 Sep 2007 06:09:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/09/03/142290.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/142290.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/09/03/142290.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/142290.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/142290.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 又一个同事决定辞职，长期出差让他受不了。我也犹豫了，来这家公司一年了，合同签到明年春节后。其实前段时间有公司联系过我，因为女朋友的关系，我并不是很想现在换工作就拒绝了。可现在项目即将转入维护阶段，近段时间内公司似乎也没有新的项目，而我也需要更多项目锻炼的机会，是需要好好考虑下了。<br /><img src ="http://www.blogjava.net/killme2008/aggbug/142290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-09-03 14:09 <a href="http://www.blogjava.net/killme2008/archive/2007/09/03/142290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>传统武术还有没有出路?</title><link>http://www.blogjava.net/killme2008/archive/2007/09/02/142014.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Sat, 01 Sep 2007 17:33:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/09/02/142014.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/142014.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/09/02/142014.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/142014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/142014.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 等待国米比赛还有一个小时,刚看完一部电影《导火线》，不是《盗火线》。甄子丹的新片，实打实的功夫，打的精彩异常，故事很老套，不过导演安排的也还算紧凑，整部片子看下来一直神经紧绷，也许也是因为音乐的感染。甄子丹在戏里的打斗风格有很大改变，出现了非常多精彩的柔术技法，融合了自由搏击、泰拳、拳击的打斗风格很有看头，已经没有多少传统武术的痕迹了，大反派的pose倒有点像黄师傅的经典动作。联想到今年CCTV5的武林大会，里面推来推去的街头莽汉式打斗，将功夫电影留下来的美好印象击的粉碎。有人说这就是当今武术的现状，有的说上台的都是些年轻人，功夫不到家，不管真实如何，传统武术的势微似乎无法避免。不过武林大会的举办终究是好事，希望明年能见到更多真正的技击高手吧。<br />
&nbsp;&nbsp;&nbsp; 我从小就很喜欢武术，我父亲也是个功夫迷，当年《少林寺》热映，引起了一阵学习传统武术的高潮，我家现在还有一大堆80年代的武术期刊，我弟弟干脆被我父亲送去了武校。我自己在初中得过一阵神经衰弱，后来学习了一套养身的功法，才慢慢恢复，没耽误了学习。传统武术是宝贵的文化遗产，也希望后来人能一直做永恒的武侠梦。</p><img src ="http://www.blogjava.net/killme2008/aggbug/142014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-09-02 01:33 <a href="http://www.blogjava.net/killme2008/archive/2007/09/02/142014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>rubylearning.com推出新的免费教程</title><link>http://www.blogjava.net/killme2008/archive/2007/08/31/141602.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Fri, 31 Aug 2007 01:06:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/08/31/141602.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/141602.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/08/31/141602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/141602.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/141602.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 在<a href="http://www.infoq.com/cn/news/2007/08/rubylearning-online-tutorial">infoq</a>上看到这个消息，想了解ruby的不妨从<a href="http://rubylearning.com/satishtalim/tutorial.html">这份教程</a>开始，初略看了下目录，内容还是挺全的，该介绍的都介绍到了。我自己准备将<strong>Advanced <a title="" href="http://www.ruby-lang.org" >ruby</a></strong>部分读一下，也算是练手，想掌握任何一门编程语言，每天至少都得写上那么几段代码保持&#8220;手感&#8221;，HOHO。一天一个主题，利用业余时间和工作间隙花上两个星期就够了。<img src ="http://www.blogjava.net/killme2008/aggbug/141602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-08-31 09:06 <a href="http://www.blogjava.net/killme2008/archive/2007/08/31/141602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>这一周真累</title><link>http://www.blogjava.net/killme2008/archive/2007/08/10/135912.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Fri, 10 Aug 2007 10:40:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2007/08/10/135912.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/135912.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2007/08/10/135912.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/135912.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/135912.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 这一周一口气开发了4个新功能，修正了十几个客户提出的新要求，设计了新的绩效评价算法，将《Programming <a title="" href="http://www.erlang.org" >Erlang</a>》读到第11章，《C primer plus》读到14章，开始读《unix/linux编程实践》，写了数十道C习题，累，而又充实。今天下午，前几天联系我的一家美国公司聘请ROR兼职的在MSN面试了一下，一开始没有意识到是面试，对自己的表现很不满意，先问下了我对自己优势和弱点的看法，然后就针对这些开始提问，问了sql语句，一般的db设计应该注意的问题，数据结构中queue和stack区别，最后发了封email，一个比较长的需求分析，考察我的E文理解能力和需求分析、设计能力。对自己的回答并不满意吧，我觉的我没有完全展现出自己的能力，也是太累了，回答完刚好下班，躺在沙发上竟然睡着了。能不能成也要看运气了，做ROR兼职真是项有趣的挑战，我很希望试试。<br><img src ="http://www.blogjava.net/killme2008/aggbug/135912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2007-08-10 18:40 <a href="http://www.blogjava.net/killme2008/archive/2007/08/10/135912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>