﻿<?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-BlueDavy之技术Blog-随笔分类-Internet</title><link>http://www.blogjava.net/BlueDavy/category/32839.html</link><description>理论不懂就实践，实践不会就学理论！</description><language>zh-cn</language><lastBuildDate>Tue, 04 May 2010 17:06:03 GMT</lastBuildDate><pubDate>Tue, 04 May 2010 17:06:03 GMT</pubDate><ttl>60</ttl><item><title>code show: 网络访问超时优化</title><link>http://www.blogjava.net/BlueDavy/archive/2010/05/04/320080.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Tue, 04 May 2010 14:41:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/05/04/320080.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/320080.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/05/04/320080.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/320080.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/320080.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 网络访问时，通常要做超时控制，要实现的好其实还是有些挑战的，欢迎大家围观code show，并提供你的改进代码，:)：http://bluedavy.com/?p=39&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/05/04/320080.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/320080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-05-04 22:41 <a href="http://www.blogjava.net/BlueDavy/archive/2010/05/04/320080.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大型应用与SOA</title><link>http://www.blogjava.net/BlueDavy/archive/2010/04/16/318503.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 16 Apr 2010 04:44:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/04/16/318503.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/318503.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/04/16/318503.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/318503.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/318503.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 摘自我那本6月份要上市的，但目前名字还没完全确定的书，由于书中涵盖的更多的为构建高性能分布式Java应用所需要的基础知识，也许改成了《通往高性能分布式Java应用之路》，主要是阐述下为什么大型应用需要SOA，以及eBay的例子，blog全文请见：http://bluedavy.com/?p=30&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/04/16/318503.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/318503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-04-16 12:44 <a href="http://www.blogjava.net/BlueDavy/archive/2010/04/16/318503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Web容量规划的艺术》书评</title><link>http://www.blogjava.net/BlueDavy/archive/2010/04/14/318234.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Wed, 14 Apr 2010 02:35:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/04/14/318234.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/318234.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/04/14/318234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/318234.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/318234.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: blog已转移至bluedavy.com，感兴趣的同学可以移步至此：http://bluedavy.com/?p=27&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/04/14/318234.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/318234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-04-14 10:35 <a href="http://www.blogjava.net/BlueDavy/archive/2010/04/14/318234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Unicorn给Twitter带来的效果</title><link>http://www.blogjava.net/BlueDavy/archive/2010/04/10/317903.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 09 Apr 2010 16:16:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/04/10/317903.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/317903.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/04/10/317903.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/317903.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/317903.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 3月30日Twitter在其engineering blog上写了一篇Unicorn Power的blog：http://engineering.twitter.com/2010/03/unicorn-power.html，写的挺经典的，按我的理解来讲下这篇blog吧，如有错误，请帮忙纠正，:)，blog已迁移至bluedavy.com，感兴趣的同学可以访问这个地址来查看全文：http://bluedavy.com/?p=25&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/04/10/317903.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/317903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-04-10 00:16 <a href="http://www.blogjava.net/BlueDavy/archive/2010/04/10/317903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从超市收银故事看互联网技术</title><link>http://www.blogjava.net/BlueDavy/archive/2010/03/29/316806.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Mon, 29 Mar 2010 05:20:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/03/29/316806.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/316806.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/03/29/316806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/316806.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/316806.html</trackback:ping><description><![CDATA[由于blog开始转移到bluedavy.com，感兴趣的同学可到此围观：<a href="http://bluedavy.com/?p=23">http://bluedavy.com/?p=23</a>，本篇blog从看一个超市发展的过程中，收银碰到的问题以及解决方案来阐述互联网的技术。
<img src ="http://www.blogjava.net/BlueDavy/aggbug/316806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-03-29 13:20 <a href="http://www.blogjava.net/BlueDavy/archive/2010/03/29/316806.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>杭州程序员圆桌交流第一期–并发编程PPT</title><link>http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 19 Mar 2010 15:57:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/315989.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/315989.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/315989.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 由阿里云龙浩同学牵头的杭州程序员圆桌交流，第一期主题为并发编程，把自己的经验也分享下，在活动结束后会公开此次交流的资料，具体PPT请见文中。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/315989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-03-19 23:57 <a href="http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SOA@eBay读后感</title><link>http://www.blogjava.net/BlueDavy/archive/2010/02/23/313701.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Tue, 23 Feb 2010 05:15:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/02/23/313701.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/313701.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/02/23/313701.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/313701.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/313701.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在QCon SF 2009的SOA分会场上，eBay的架构师讲了一个SOA @ eBay的PPT，正好和我的工作有很多的交叉点，于是比较认真的看了下这个PPT，感兴趣的同学可以从这里下载：http://qconsf.com/sf2009/file?path=/qcon-sanfran-2009/slides/SastryMalladi_SOAEBayHowIsItAHit.pdf，在这个PPT中可以看到eBay对于SOA的看法以及他们目前的做法，自己也是做这方面工作的，就在这篇blog中介绍下这个PPT以及自己对于SOA的一些看法。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/02/23/313701.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/313701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-02-23 13:15 <a href="http://www.blogjava.net/BlueDavy/archive/2010/02/23/313701.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Java中使用协程（Coroutine）</title><link>http://www.blogjava.net/BlueDavy/archive/2010/01/28/311148.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 28 Jan 2010 15:16:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/01/28/311148.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/311148.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/01/28/311148.html#Feedback</comments><slash:comments>22</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/311148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/311148.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本篇blog将讲述coroutine的一些背景知识，以及在Java中如何使用Coroutine，包括一个简单的benchmark对比，希望能借助这篇blog让大家了解到更多在java中使用coroutine的方法，本篇blog的PDF版本可从此下载：http://www.bluedavy.com/open/UseCoroutineInJava.pdf&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/01/28/311148.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/311148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-01-28 23:16 <a href="http://www.blogjava.net/BlueDavy/archive/2010/01/28/311148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>继续观看eBay的技术发展</title><link>http://www.blogjava.net/BlueDavy/archive/2009/11/16/302585.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Mon, 16 Nov 2009 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/11/16/302585.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/302585.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/11/16/302585.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/302585.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/302585.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在HPTS大会上，Randy Shoup放出的eBay的PPT有所改变，在原有的5个Architectural Lessons上又增加了5个lesson，从这也可以一定程度的看出当访问量、数据量、功能不断上涨后，碰到的技术问题也将继续发展，想必这也是eBay增加5个lessons的原因，eBay在技术方面的发展对很多互联网公司都有一些参考意义，毕竟它已经经历过了国内很多网站目前的阶段甚至是几年后的阶段，在本篇blog中就完整的来看看eBay的这10个lessons、eBay的应对策略以及我个人的一些推测。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/11/16/302585.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/302585.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-11-16 17:19 <a href="http://www.blogjava.net/BlueDavy/archive/2009/11/16/302585.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】王速瑜和我参加架构师接龙的对话</title><link>http://www.blogjava.net/BlueDavy/archive/2009/09/06/294045.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Sun, 06 Sep 2009 03:52:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/09/06/294045.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/294045.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/09/06/294045.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/294045.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/294045.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 架构师接龙是《程序员》杂志最近推出的一个活动，活动方式为：每期一个提问嘉宾，一个回答嘉宾，并由回答嘉宾提出新的问题给下期的架构师，形成接龙，之前第一期是支付宝的冯大辉提问，腾讯的研发总监王速瑜回答，我参与的是第二期，这期会登在《程序员》0909期上，内容转帖如下，原帖为程序员官方上的：http://www.programmer.com.cn/727/，呵呵，都只是个人的片面理解做出的回答，也欢迎大家在此帖中继续讨论，:)&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/09/06/294045.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/294045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-09-06 11:52 <a href="http://www.blogjava.net/BlueDavy/archive/2009/09/06/294045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【译】可伸缩性最佳实践</title><link>http://www.blogjava.net/BlueDavy/archive/2009/08/19/291794.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Wed, 19 Aug 2009 06:41:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/08/19/291794.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/291794.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/08/19/291794.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/291794.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/291794.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这篇文章中总结了一些构建可伸缩性系统的最佳实践，总结的不错，于是翻译了下，原文在此：http://akfpartners.com/techblog/2009/08/11/scalability-best-practices/，翻译内容如下。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/08/19/291794.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/291794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-08-19 14:41 <a href="http://www.blogjava.net/BlueDavy/archive/2009/08/19/291794.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>旁观者看eBay技术发展</title><link>http://www.blogjava.net/BlueDavy/archive/2009/07/24/288055.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 23 Jul 2009 16:39:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/07/24/288055.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/288055.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/07/24/288055.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/288055.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/288055.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 几年以来，eBay在几个不同的大会上先后分享过几次关于eBay技术的PPT，在这篇blog中，就以这些PPT来以旁观者的角度分析下eBay的技术发展历程，不论eBay现在的业绩如何，不可否认，他们的技术还是挺强的，因此还是值得学习，eBay的整个技术发展历程从一定程度上来说可以认为是互联网公司的典型技术发展历程，基本上各家互联网公司都在走着类似的路线，只是各家选择的语言不同、具体的实现方案不同、细节不同，当然，思路是一方面，实现又是另外一方面，只有两者结合才能实现一个高可用、高性能和高并发的有海量数据的系统。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/07/24/288055.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/288055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-07-24 00:39 <a href="http://www.blogjava.net/BlueDavy/archive/2009/07/24/288055.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网站架构相关PPT、文章整理（更新于2009-7-15）</title><link>http://www.blogjava.net/BlueDavy/archive/2009/04/28/267970.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Tue, 28 Apr 2009 12:29:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/04/28/267970.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/267970.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/04/28/267970.html#Feedback</comments><slash:comments>39</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/267970.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/267970.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在这篇blog中放置了我收集的一些网站架构相关的PPT和文章，提供给大家下载，如果大家有相关的好的PPT、文章的话，也欢迎推荐给我，非常感谢，:)，这篇blog的内容也会随着我收集的东西增加而变化，同时也会增加我对于这些PPT、文章的看法和评价。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/04/28/267970.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/267970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-04-28 20:29 <a href="http://www.blogjava.net/BlueDavy/archive/2009/04/28/267970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QCon北京大会之行</title><link>http://www.blogjava.net/BlueDavy/archive/2009/04/10/264842.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 10 Apr 2009 06:49:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/04/10/264842.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/264842.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/04/10/264842.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/264842.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/264842.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 此次QCon北京大会为期三天，总体而言，精彩纷呈，尤其是第二天，完全将大会的精彩推至了高潮，让大家觉得值回票价，总结而言，这次大会是相当成功的，一次成功的大会不能缺少的有两个要素：知名的嘉宾和精彩的Topic，无疑QCon北京大会很好的把握了这两个要素。<br>知名的嘉宾，此次大会出现的嘉宾绝对足够重量级，看看Title就吓人了：Spring老大、ThoughtWorks首席科学家、Dojo creator、eBay搜索核心架构师、Amazon云计算战略师、淘宝首席架构师、支付宝首席架构师、豆瓣技术总监、优酷首席架构师、网易有道技术总监等等。<br>精彩的Topic，不是说嘉宾知名Topic就一定精彩的，不能不说，这次大会还是有些爆冷门的，嘉宾不是很知名，但演讲的Topic确实还不错，而且也不是说知名的嘉宾就一定能给出精彩的Topic，就像Martin Fowler这次的Topic，实在称不上精彩，总体而言，这次大会并不缺少精彩的Topic，来分享下我的收获。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/04/10/264842.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/264842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-04-10 14:49 <a href="http://www.blogjava.net/BlueDavy/archive/2009/04/10/264842.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大型网站架构演变和知识体系</title><link>http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Wed, 03 Sep 2008 11:12:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/226749.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html#Feedback</comments><slash:comments>78</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/226749.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/226749.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 之前也有一些介绍大型网站架构演变的文章，例如LiveJournal的、ebay的，都是非常值得参考的，不过感觉他们讲的更多的是每次演变的结果，而没有很详细的讲为什么需要做这样的演变，再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术，于是有了写这篇文章的想法，在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系，希望能给想从事互联网行业的同学一点初步的概念，:)，文中的不对之处也请各位多给点建议，让本文真正起到抛砖引玉的效果。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/226749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-09-03 19:12 <a href="http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>外行人谈压力测试</title><link>http://www.blogjava.net/BlueDavy/archive/2008/07/25/217514.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 25 Jul 2008 09:40:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/07/25/217514.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/217514.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/07/25/217514.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/217514.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/217514.html</trackback:ping><description><![CDATA[不是专职做压力测试这行当的，只能是以自己的经验来以外行人的眼光来说说压力测试，压力测试并不仅仅是个压力测试的过程，而是一个相当系统和复杂的工程，我认为压力测试是为了让系统达到所期望的运行效果以及承受所期望的压力，这也就要求压力测试应该帮助性能调优团队，为其提供一定程度的指导，在这里我不将压力测试和性能调优分的那么清楚了，在我看来，压力测试过程包括了：明确压力测试的目标、制定压力测试方案、进行压力测试、分析压力测试结果、寻找瓶颈并进行调优以达到目标，在这篇blog中来细看下这几个过程以及常用的方法。<br />
<strong>明确压力测试的目标</strong><br />
通常来说（注意是通常），压力测试的目标有这么几点：<br />
1、评测系统是否满足压力支撑的要求<br />
&nbsp;&nbsp; 要评测系统是否满足压力支撑的要求，同样要做的就是需要明确定义系统需要支撑多大的压力，例如：<br />
&nbsp;&nbsp; 机器的配置：CPU、内存、硬盘、etc.<br />
&nbsp;&nbsp; 网络条件：100M<br />
&nbsp;&nbsp; 操作系统：Linux core: 2.6<br />
&nbsp;&nbsp; 当并发数为10用户时，系统应能在20ms内响应完毕（这个时候的TPS为500），系统的load需在2以下；当并发数为100用户时，系统应能在50ms内响应完毕（这个时候的TPS为2000），系统的load需在4以下；当并发数为200用户时，系统应能在80ms内响应完毕（这个时候的TPS为2500），允许其中有千分之一的出错率，系统的load需在6以下，在压力测试的过程中，只要其中的任何指标未达到，均可判定系统尚未达到压力的目标。<br />
&nbsp;&nbsp; 实际的压力测试的这个指标会比我这里举的例子复杂很多，例如还需要考虑网络流量、内存消耗、IOPS、连接数等等。<br />
&nbsp;&nbsp; 这里面压力测试隐藏的目标是为容量规划提供一定的指导，例如目前的系统在某种配置的情况下单台机器能承受的最大并发数为100用户，那么如果系统的高峰压力是1000的话，如果系统支撑无损水平扩展的话就意味着需要10台这类配置的机器，这一步同样是经过测试的。<br />
2、预估系统上线运行的状况&nbsp; <br />
&nbsp;&nbsp; 毕竟通常压力测试环境和线上的环境是会有很大的不同的，压力、数据量、硬件环境等，基本上只能是根据线下的环境的情况进行一定比例的对比后计算来预估，这里面很重要的是要预估系统上线后正常情况下的表现状况、一定的增长比率后的运行状况以及风险点（例如当并发用户数增长到多少时、系统load到多少时可能会出现问题）。<br />
&nbsp;&nbsp; 这一个目标我觉得非常难达到，但随着经验，我相信是可以做到的，如果能做到这种效果的话是会有很大的帮助的。<br />
以上这个两个目标基本是压力测试都要达到或希望达到的，而具体有可能会因为系统的业务的具体情况会制定其他不同的目标。<br />
<strong>制定压力测试方案</strong><br />
这步是压力测试整个过程中最难的步骤之一，为了能够测试出系统是否符合压力支撑的要求以及评估上线的表现，通常我们会希望搭建出和生产环境完全相同的环境，但这就是最麻烦的一点了，基本上是不太可能的，因此通常能采取的方法会是：<br />
1、做等比例的缩放<br />
&nbsp;&nbsp; 按照生产环境的情况做一定比例的缩放，例如生产环境的数据量为1亿条，那么测试环境等比缩放到5000w条，生产环境的处理速度的情况...；<br />
2、更差环境、更高压力的测试<br />
&nbsp;&nbsp; 采取比生产环境更差的机器配置、网络环境来进行测试，例如ebay的要求是能够承受10x的压力。<br />
3、仿真测试<br />
&nbsp;&nbsp; 据资深人士而言，仿真测试要做到基本是不太可能的，仿真测试首先要求的是收集到生产环境中的运行状态的数据，然后在测试环境中编写程序来做到模拟生产环境运行的效果，这个难度基本是非常高的。<br />
我自己现在做压力测试更多采取的做法是以上三种方法的合集。<br />
在确定了测试方法后，就基本可以确定压力测试的环境了，环境确定好后需要做的是压力测试的案例或场景了，在压力测试的案例中需要涵盖正常场景以及异常的场景，正常场景是非常容易做出来的，只是需要根据生产环境收集的数据（例如不同级别的用户比例通常是7:2:1）或预估的数据来搭建相应的测试案例，异常场景则是比较复杂的，需要考虑很多的因素，例如数据库出现异常、网络出现异常等，这里我觉得通常的做法是画出正常场景的处理流程，然后划分交互边界的信任边界，对于所有的第三方交互都认为是不可信任，例如不能信任调用数据库是一定会快的，或一定会成功的，在异常场景中应涵盖这些信任边界的异常状况的测试，这些对于高可用性的系统而言是非常重要的，几个9的成败就在此了，^_^，当然，高可用性又是个更复杂的话题，不在这里讲。<br />
在压力测试方案中还需确定的是考评的指标，通过会包括：tps、系统load等等。<br />
<strong>进行压力测试</strong><br />
相对来讲，在有了压力测试方案后，这一步并不是什么太复杂的事情，只是需要选择一个和压力测试方案比较符合的工具来执行，例如jmeter、loadrunner等，当然，这些工具相对来说也是比较复杂的，而且之间的差距也是比较大的，至少目前来看，jmeter和loadrunner的差距还是不小的，尤其是需要进行高压力的测试时。<br />
<strong>分析压力测试结果</strong><br />
这步同样是压力测试中很难的一步，在这一步需要做出的根据压力测试的结果分析出系统的具体表现情况，判定系统是否能够满足压力指标。<br />
以loadrunner产生的分析结果图而言，通常需要分析以下图：<br />
1、Total Transactions per Second<br />
&nbsp;&nbsp; 这张图中显示了系统在进行压力测试过程的TPS的变化情况，从这张图中我们可以看到系统的TPS的情况，通常来讲，随着用户数的增加，TPS应该是呈一定比率的增长的，等增长到一定程度后会达到瓶颈，甚至开始下降，这也是TPS的瓶颈值了，这张图可以帮助我们评估系统的TPS是否符合要求。<br />
&nbsp;&nbsp; 另外，在这张图中，我们可以看到系统从什么时候开始出现出错的transactions，从而判断出错率是否在可接受的范围。<br />
2、Transaction Response Time Under Load<br />
&nbsp;&nbsp; 这张图非常的重要，借助这张图我们可以分析随着用户数增加的情况下，系统的劣化状况，最佳状况当然是一条直线，但这基本是不可能的，毕竟资源是有限的，需要判断的是劣化的程度是否为可接受范畴。<br />
&nbsp;&nbsp; 另外就是需要关注数据中90%的用户的响应时间的状况，如果少量用户响应慢是可接受的话，那么有可能在之上指标不达标的情况下仍然满足了压力指标。<br />
3、Unix Resources<br />
&nbsp;&nbsp; 这张系统load图自然是非常的重要，借助这张图大致可以判断系统随着用户数的增长消耗的资源的变化情况，这对于调优以及容量规划而言是很重要的，但还是得取决于应用本身，:)。<br />
loadrunner还提供了其他方面很多的图，可以根据考评的要求来自行进行分析。<br />
<strong>寻找瓶颈并进行调优以达到目标</strong><br />
这步不属于压力测试范畴，但还是在这里稍微讲讲，毕竟压力测试结束后如果系统没达标的话就必须进行这步了。<br />
寻找瓶颈，这自然是非常难的事了，通常系统达不到要求的状况都会是随着用户的增长，响应时间劣化的过于厉害，在这样的情况下首先得观察系统硬件资源的变化情况，如果是硬件资源耗尽的话，需要查查为什么资源被耗尽，假设最后判断确实需要耗费这么多的硬件资源的话，也许需要考虑增加硬件资源或是水平扩展，否则的话可能需要从软件层面相应的优化系统了，这样的话可以进入下一步了。<br />
如果不是硬件资源的限制的话，得在系统中从头到尾设置时间跟踪filter，从而判断响应时间劣化的原因，看看是系统中哪些步骤造成的，这个是细致活了，有可能要查非常久。<br />
其实这里说的还是相当的简单了，在寻找瓶颈的过程中是个非常繁琐的过程，需要不断的尝试，硬件的增加、OS的调优、jvm的调优以及软件系统本身的调优等等，这些很多时候需要的是经验，因此某知名人士曾经说过如何寻找瓶颈和调优，其中依靠的一点就是直觉，^_^。<br />
当然，在寻找瓶颈的过程中，可以借助os的工具、java的工具（例如gc打印、jprofiler等）来进行查找。<br />
（ps: 不过感觉很多情况下都是应用本身造成的性能瓶颈，在写程序时稍不注意用错一个数据结构都有可能会导致比较大的问题，所以我现在查找瓶颈的时候更多的还是先从软件本身下手，只是软件性能要做到提升通常来付出较大的代价，这个时候需要权衡）<br />
调优基本上要求对硬件、OS、JDK、数据库甚至软件的实现方式等都要有非常深入的理解，至少要能做到判断出瓶颈因素，然后找相应领域的专家来解决，因此要求是非常高的。<br />
关于性能调优的知识体系这里有篇不错的文章：<br />
http://www.cnblogs.com/jackei/archive/2008/06/27/1231307.html<br />
<br />
话题太大了，写到最后发现基本上还是有些泛泛而谈了，后面会针对这里的每一步来做更为细致的实例的讲述吧，不过毕竟是外行人，肯定有很多不对的地方，欢迎大家指正、拍砖。<br />
<br />
<img src ="http://www.blogjava.net/BlueDavy/aggbug/217514.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-07-25 17:40 <a href="http://www.blogjava.net/BlueDavy/archive/2008/07/25/217514.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【译】构建可扩展的Java EE应用（二）</title><link>http://www.blogjava.net/BlueDavy/archive/2008/07/10/213988.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 10 Jul 2008 07:42:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/07/10/213988.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/213988.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/07/10/213988.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/213988.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/213988.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这篇文章的第二部分在昨天也发布出来了，于是抓紧时间把它给翻译了。在这篇文章的第一部分中，作者结合自己的经验对如何构建具备良好的垂直扩展能力的Java EE应用做了讲解，在这第二部分的文章中，作者则对如何构建具备良好水平扩展能力的Java EE应用来进行了详细的讲述，常见的session复制问题，水平扩展中经常需要涉及的分布式文件系统、分布式缓存、分布式并行计算，全文读下来，作者基本指出了构建可扩展的Java EE应用需要了解的知识体系（如需深入的话还有必要进一步的学习，例如集群技术、通讯协议、线程、并发等）和平时实践中的一些注意事项，应该说是篇十分难得的好文章，值得推荐。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2008/07/10/213988.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/213988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-07-10 15:42 <a href="http://www.blogjava.net/BlueDavy/archive/2008/07/10/213988.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【译】构建可扩展的Java EE应用（一）</title><link>http://www.blogjava.net/BlueDavy/archive/2008/07/07/213179.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Mon, 07 Jul 2008 15:15:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/07/07/213179.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/213179.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/07/07/213179.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/213179.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/213179.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这是一篇从TheServerSide上翻译过来的文章，很自豪这篇这么好的文章是一个中国人（从作者名字上猜想应该是中国人吧，:)）写的，原文地址为：http://www.theserverside.com/tt/articles/article.tss?l=ScalingYourJavaEEApplications，可以说，这篇文章写的是非常的不错的，这是文章的第一部分，探讨了如何构建可垂直扩展的Java EE应用，文中谈论到的让所编写的Java EE应用具备垂直扩展能力的几个关键要素，例如热锁问题、尽可能的缩短同步块、不要在static方法上加锁、多使用Atomic包、jvm内存不能设置的太大等，文中除了列了这几个关键要素外，还详细的解释了为什么不能做以及如何避免出现这样的现象，可以很明显的看出作者在这些方面是具备了非常丰富的经验的，因此这篇文章不仅仅讲述了可扩展性理论方面的知识，同时也很好的从实战角度进行了分析，之后我也会结合这篇文章来说说自己曾经碰到的垂直扩展场景的反例，同时也很期待这篇文章的第二部分，第二部分将探讨如何构建可水平扩展的Java EE应用，翻译的不好的地方还请大家多&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2008/07/07/213179.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/213179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-07-07 23:15 <a href="http://www.blogjava.net/BlueDavy/archive/2008/07/07/213179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP的Request session的有效时间应合理设置</title><link>http://www.blogjava.net/BlueDavy/archive/2008/07/03/212370.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 03 Jul 2008 08:24:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/07/03/212370.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/212370.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/07/03/212370.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/212370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/212370.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 之前写了个简单的jsp做压力测试，没想到出现的一个问题是当压力比较大的情况，运行比较久的话会出现一个现象，就是jvm的内存几乎被耗尽，用 jprofiler查看会发现是有一个ConcurrentHashMap对象的内存一直在增长，而且没有释放的迹象，随后进入Debug模式，跟踪查找都有谁new了ConcurrentHashMap，因为测试场景中是个非常简单的jsp页面，发现只有jsp的Request session会创建这个ConcurrentHashMap，很久没写jsp了，猜测是request session的默认超时时间太长，所以导致高压力下(200并发，总共连续访问50万次，jvm内存1G)会出现内存一直没有回收的问题，后来打印了一下request session的默认超时(AS是jboss 4.2.2)，是半小时，如果这样的话确实是会有造成上面内存一直被占用的现象。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2008/07/03/212370.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/212370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-07-03 16:24 <a href="http://www.blogjava.net/BlueDavy/archive/2008/07/03/212370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>性能调优概述</title><link>http://www.blogjava.net/BlueDavy/archive/2008/06/29/211558.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Sun, 29 Jun 2008 15:37:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/06/29/211558.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/211558.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/06/29/211558.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/211558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/211558.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 性能调优无疑是个庞大的话题，也是很多项目中非常重要的一环，性能调优的难做是众所周知的，毕竟性能调优涵盖的面实在是太多了，在这篇blog中我们蜻蜓点水般的来看看性能调优这项庞大的工程都有些什么过程，同时也看看这些过程中常见的一些做法。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2008/06/29/211558.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/211558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-06-29 23:37 <a href="http://www.blogjava.net/BlueDavy/archive/2008/06/29/211558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>