<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Titan的天空</title>
    <description></description>
    <link>http://masterkey.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>nginx 0.7.5  </title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/210707" style="color:red;">http://masterkey.javaeye.com/blog/210707</a>&nbsp;
          发表时间: 2008年07月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Changes with nginx 0.7.5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 01 Jul 2008<br /><br />&nbsp; &nbsp;*) Bugfixes in variables support in the "access_log" directive; the bug<br />&nbsp; &nbsp; &nbsp; had appeared in <a href="http://0.7.4./" target="_blank">0.7.4.</a><br /><br />&nbsp; &nbsp;*) Bugfix: nginx could not be built --without-http_gzip_module; the bug<br />&nbsp; &nbsp; &nbsp; had appeared in <a href="http://0.7.3./" target="_blank">0.7.3.</a><br />&nbsp; &nbsp; &nbsp; Thanks to Kirill A. Korinskiy.<br /><br />&nbsp; &nbsp;*) Bugfix: if sub_filter and SSI were used together, then responses<br />&nbsp; &nbsp; &nbsp; might were transferred incorrectly.</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/210707#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Jul 2008 17:06:30 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/210707</link>
        <guid>http://masterkey.javaeye.com/blog/210707</guid>
      </item>
      <item>
        <title>AdSense 推介计划即将暂停</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/210701" style="color:red;">http://masterkey.javaeye.com/blog/210701</a>&nbsp;
          发表时间: 2008年07月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>from <a href="http://adsense.googlechinablog.com/2008/07/adsense.html">http://adsense.googlechinablog.com/2008/07/adsense.html</a></p>
<p>&nbsp;</p>
<p>2008年8月的最后一周，我们将暂停 AdSense 推介计划。这可能会给正在投放推介广告的发布商带来一些不便，我们在这里表示歉意。我们一直努力为发布商和广告商提供更好的广告产品和体验，也在不断评估各种广告产品的表现，一旦 AdSense 推介计划重新启动，我们会在第一时间通知大家，非常感谢各位发布商对我们工作的支持和理解。<br /><br />对于在正在投放 AdSense 推介广告（包括Google 产品推介和 AdWords 广告商的推介广告）的发布商，为了避免推介计划暂停给您带来不便，我们建议您在我们暂停推介计划之前，采取下面操作:<br /><br />第一步：<span style="font-weight: bold;">从您的网站撤下所有 AdSense 推介代码。</span>8 月最后一周之前，请您把所有 AdSense 推介代码从您的网站撤下，然后您可以在这些空出的广告位投放AdSense 文字广告赚取收益。<br /><br />第二步：<span style="font-weight: bold;">把所有 AdSense 推介的报告数据保存到您的电脑。</span>AdSense 推介报告会在您的 AdSense 帐户保存到10月底。我们建议您在10月底之前备份所有的推介报告，以便日后查看。<br /><br />如果您有其他问题，可以访问我们的<a href="https://www.google.com/adsense/support">帮助中心</a>。<br /><br />非常感谢各位发布商使用 AdSense 推介，也希望大家继续使用我们的其他广告产品，祝大家一切顺利！</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/210701#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Jul 2008 16:52:48 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/210701</link>
        <guid>http://masterkey.javaeye.com/blog/210701</guid>
      </item>
      <item>
        <title>nginx-0.7.4</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/210004" style="color:red;">http://masterkey.javaeye.com/blog/210004</a>&nbsp;
          发表时间: 2008年07月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Changes with nginx 0.7.4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 30 Jun 2008<br />
<br />
 &nbsp; &nbsp;*) Feature: variables support in the &quot;access_log&quot; directive.<br />
<br />
 &nbsp; &nbsp;*) Feature: the &quot;open_log_file_cache&quot; directive.<br />
<br />
 &nbsp; &nbsp;*) Feature: the -g switch.<br />
<br />
 &nbsp; &nbsp;*) Feature: the &quot;Expect&quot; request header line support.<br />
<br />
 &nbsp; &nbsp;*) Bugfix: large SSI inclusions might be truncated.</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/210004#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 01 Jul 2008 09:11:36 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/210004</link>
        <guid>http://masterkey.javaeye.com/blog/210004</guid>
      </item>
      <item>
        <title>June 2008 Web Server Survey</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/208080" style="color:red;">http://masterkey.javaeye.com/blog/208080</a>&nbsp;
          发表时间: 2008年06月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="blogbody">
<p>In the <strong>June 2008</strong>
 survey we received responses from
<strong>172,338,726</strong>
 sites.</p>
<p>
 The total number of sites has increased by 3.9 million this month, with the largest gain being seen at <a href="http://theplanet.com/">ThePlanet.com</a>
, where 632,000 new sites maintain its position as the 6th largest hosting company in the world.
</p>
<p>
A large switch to the Bahamas was seen at <a href="http://www.securehost.com/">Secure Hosting Limited</a>
,
where 1.2 million sites were gained from Nameview Inc. The offshore
hosting company offers web hosting and dedicated servers from its data
centres located in the Bahamas and Jamaica, and even provides <a href="http://www.securehost.com/dual-homed-hosting.php">dual-homed hosting</a>
 for a 100% uptime guarantee.
</p>
<p>
 Most of the new sites at Secure Hosting Limited were using the <a href="http://www.lighttpd.net/">Lighttpd</a>
web server both before and after the switch, so Lighttpd's market share
remains fairly static this month. Microsoft's IIS web server grows by 2
million sites, boosting market share by 0.36%, but Apache remains in
the lead with a total of 49.1%.
</p>
<p> LiteSpeed loses more than 600 thousand sites during this survey,
while nginx gains more than a million sites; more than doubling in
numbers. The WordPress blogging system recently <a href="http://barry.wordpress.com/2008/04/28/load-balancer-update/">converted</a>
 all of its load balancers to nginx, using the <a href="http://wiki.codemongers.com/NginxHttpUpstreamRequestHashModule">upstream hash module</a>
 to serve 8-9 thousand requests per second. Netcraft's <a href="http://toolbar.netcraft.com/site_report?url=http://www.wordpress.com">site report</a>
 shows the main WordPress site switching from LiteSpeed to nginx in April. <a href="http://nginx.net/">nginx</a>
 is a web server and mail proxy server written by Igor Sysoev.
</p>
<p>&nbsp;</p>
<div class="blogsubtitle">Total Sites Across All Domains August 1995 - June 2008</div>
<p>
<img src="http://news.netcraft.com/archives/2008/06/site_count_history.gif" align="middle" alt="Total Sites Across All Domains, August 1995 - June 2008" />
<br /></p>
<p>&nbsp;</p>
<div class="blogsubtitle">
<a name="June">Market Share for Top Servers Across All Domains August 1995 - June 2008</a>
</div>
<p>
<img src="http://news.netcraft.com/archives/2008/06/overallc.gif" align="middle" alt="Graph of market share for top servers across all domains, August 1995 - June 2008" />
</p>
<p>&nbsp;</p>
<div class="blogsubtitle">Top Developers</div>
<table cellspacing="3" border="0">
<tbody>
<tr>
<th>Developer</th>
<th>May 2008</th>
<th>Percent</th>
<th>June 2008</th>
<th>Percent</th>
<th>Change</th>
</tr>
<tr align="right">
<td align="left">Apache</td>
<td>83,746,837</td>
<td>49.73%</td>
<td>84,647,780</td>
<td>49.12%</td>
<td>-0.61</td>
</tr>
<tr align="right">
<td align="left">Microsoft</td>
<td>58,991,106</td>
<td>35.03%</td>
<td>60,995,528</td>
<td>35.39%</td>
<td>0.36</td>
</tr>
<tr align="right">
<td align="left">Google</td>
<td>10,127,956</td>
<td>6.01%</td>
<td>10,468,720</td>
<td>6.07%</td>
<td>0.06</td>
</tr>
<tr align="right">
<td align="left">lighttpd</td>
<td>1,523,148</td>
<td>0.90%</td>
<td>1,532,952</td>
<td>0.89%</td>
<td>-0.01</td>
</tr>
<tr align="right">
<td align="left">Sun</td>
<td>545,651</td>
<td>0.32%</td>
<td>550,723</td>
<td>0.32%</td>
<td>-0.00</td>
</tr>
</tbody>
</table>
<a name="more"></a>
<div class="blogsubtitle">
<a href="http://www.netcraft.com/survey/index-200007.html#active">Active Sites</a>
</div>
<table cellspacing="3" border="0">
<tbody>
<tr>
<th>Developer</th>
<th>May 2008</th>
<th>Percent</th>
<th>June 2008</th>
<th>Percent</th>
<th>Change</th>
</tr>
<tr align="right">
<td align="left">Apache</td>
<td>32,839,213</td>
<td>48.04%</td>
<td>33,419,978</td>
<td>46.97%</td>
<td>-1.07</td>
</tr>
<tr align="right">
<td align="left">Microsoft</td>
<td>24,040,260</td>
<td>35.17%</td>
<td>25,292,798</td>
<td>35.54%</td>
<td>0.38</td>
</tr>
<tr align="right">
<td align="left">Google</td>
<td>6,592,598</td>
<td>9.64%</td>
<td>7,256,264</td>
<td>10.20%</td>
<td>0.55</td>
</tr>
<tr align="right">
<td align="left">Sun</td>
<td>173,679</td>
<td>0.25%</td>
<td>176,726</td>
<td>0.25%</td>
<td>-0.01</td>
</tr>
<tr align="right">
<td align="left">lighttpd</td>
<td>92,041</td>
<td>0.13%</td>
<td>100,536</td>
<td>0.14%</td>
<td>0.01</td>
</tr>
</tbody>
</table>
<div class="blogsubtitle">Totals for Active Servers Across All Domains<br />
June 2000 - June 2008</div>
<p>
<img src="http://news.netcraft.com/archives/2008/06/overalld.gif" align="middle" alt="" />
</p>
<br />
<p>A more detailed list of servers is given <a href="http://survey.netcraft.com/Reports/200806/">here</a>
.</p>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/208080#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 26 Jun 2008 07:16:58 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/208080</link>
        <guid>http://masterkey.javaeye.com/blog/208080</guid>
      </item>
      <item>
        <title>nginx 0.7.3 </title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/207578" style="color:red;">http://masterkey.javaeye.com/blog/207578</a>&nbsp;
          发表时间: 2008年06月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Changes with nginx 0.7.3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 23 Jun 2008<br /><br />&nbsp; &nbsp;*) Change: the "rss" extension MIME type has been changed to<br />&nbsp; &nbsp; &nbsp; "application/rss+xml".<br /><br />&nbsp; &nbsp;*) Change: now the "gzip_vary" directive turned on issues a<br />&nbsp; &nbsp; &nbsp; "Vary: Accept-Encoding" header line for uncompressed responses too.<br /><br />&nbsp; &nbsp;*) Feature: now the "rewrite" directive does a redirect automatically<br />&nbsp; &nbsp; &nbsp; if the "https://" protocol is used.<br /><br />&nbsp; &nbsp;*) Bugfix: the "proxy_pass" directive did not work with the HTTPS<br />&nbsp; &nbsp; &nbsp; protocol; the bug had appeared in <a href="http://0.6.9./" target="_blank">0.6.9.</a><br /><span style="color: #888888;"><br /></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/207578#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 24 Jun 2008 16:48:18 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/207578</link>
        <guid>http://masterkey.javaeye.com/blog/207578</guid>
      </item>
      <item>
        <title>看到小产权房的希望</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/204788" style="color:red;">http://masterkey.javaeye.com/blog/204788</a>&nbsp;
          发表时间: 2008年06月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>小产权房一直是高房价房市的一个敏感话题。争议颇多。看到一片新闻，感觉小产权房，国家政策的松动。</p>
<p><a href="http://news.sohu.com/20080617/n257554035.shtml" title="北京允许已转让农民自住房有条件上市交易">北京允许已转让农民自住房有条件上市交易</a></p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/204788#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 17 Jun 2008 18:52:51 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/204788</link>
        <guid>http://masterkey.javaeye.com/blog/204788</guid>
      </item>
      <item>
        <title>nginx-0.7.2 relase</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/204248" style="color:red;">http://masterkey.javaeye.com/blog/204248</a>&nbsp;
          发表时间: 2008年06月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Changes with nginx 0.7.2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 16 Jun 2008<br /><br />&nbsp; &nbsp;*) Feature: now nginx supports EDH key exchange ciphers.<br /><br />&nbsp; &nbsp;*) Feature: the "ssl_dhparam" directive.<br /><br />&nbsp; &nbsp;*) Feature: the $ssl_client_cert variable.<br />&nbsp; &nbsp; &nbsp; Thanks to Manlio Perillo.<br /><br />&nbsp; &nbsp;*) Bugfix: after changing URI via a "rewrite" directive nginx did not<br />&nbsp; &nbsp; &nbsp; search a new location; bug appeared in <a href="http://0.7.1./" target="_blank">0.7.1.</a><br />&nbsp; &nbsp; &nbsp; Thanks to Maxim Dounin.<br /><br />&nbsp; &nbsp;*) Bugfix: nginx could not be built without PCRE library; bug appeared<br />&nbsp; &nbsp; &nbsp; in <a href="http://0.7.1./" target="_blank">0.7.1.</a><br /><br />&nbsp; &nbsp;*) Bugfix: when a request to a directory was redirected with the slash<br />&nbsp; &nbsp; &nbsp; added, nginx dropped a query string from the original request.<br /><span style="color: #888888;"><br /></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/204248#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jun 2008 17:21:41 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/204248</link>
        <guid>http://masterkey.javaeye.com/blog/204248</guid>
      </item>
      <item>
        <title>Netcraft Web Server Survey -2008/06</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/202518" style="color:red;">http://masterkey.javaeye.com/blog/202518</a>&nbsp;
          发表时间: 2008年06月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>2008/06，nginx的主机数持续增长，已经突破200W，已经超过了lighttpd.很难想象google的GFE已经超过1000W，真是很庞大。</p>
<p>
<table border="1" align="center" cellpadding="5">
<thead>
<tr>
<th>Vendor</th><th>Product</th><th>Web Sites</th>
</tr>
</thead>
<tbody>
<tr>
<td>Apache</td>
<td>Apache</td>
<td align="right">84,309,103</td>
</tr>
<tr>
<td>Microsoft</td>
<td>IIS</td>
<td align="right">60,987,087</td>
</tr>
<tr>
<td>Google</td>
<td>GFE</td>
<td align="right">10,465,178</td>
</tr>
<tr>
<td>Unknown</td>
<td>Unknown</td>
<td align="right">4,903,174</td>
</tr>
<tr>
<td>nginx</td>
<td>nginx</td>
<td align="right">2,125,160</td>
</tr>
<tr>
<td>Oversee</td>
<td>Oversee</td>
<td align="right">1,953,848</td>
</tr>
<tr>
<td>lighttpd</td>
<td>lighttpd</td>
<td align="right">1,532,952</td>
</tr>
<tr>
<td>Other</td>
<td>Other</td>
<td align="right">1,150,202</td>
</tr>
<tr>
<td>GNR</td>
<td>GNR</td>
<td align="right">425,029</td>
</tr>
<tr>
<td>Zeus</td>
<td>Zeus</td>
<td align="right">405,724</td>
</tr>
</tbody>
</table>
</p>
<p>&nbsp;</p>
<p><thead></thead><th>&nbsp;</th>&nbsp;<thead></thead><th>&nbsp;</th>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/202518#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 12 Jun 2008 15:59:09 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/202518</link>
        <guid>http://masterkey.javaeye.com/blog/202518</guid>
      </item>
      <item>
        <title>Released haproxy versions 1.3.15.1 and 1.3.14.5 </title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/199178" style="color:red;">http://masterkey.javaeye.com/blog/199178</a>&nbsp;
          发表时间: 2008年06月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><a name="news">	  Released </a>
<strong><a href="http://haproxy.1wt.eu/download/1.3/src/">haproxy versions 1.3.15.1 and 1.3.14.5</a>
</strong>
 with
	  minor fixes : <span style="color: red;">build fix for GCC 4.3</span>
, fix for
	  <span style="color: red;">early truncate of stats output</span>
 in certain circumstances,
	  and <span style="color: red;">better handling of large amounts of highly active sockets</span>
.
	  I indeed discovered during testing that
	  the <strong><tt>sepoll</tt>
</strong>
 poller was so much efficient that when running at gigabit speed with 80000
	  active sockets fighting for their CPU share, almost all of them were running in speculative mode, causing
	  starvation of the remaining ones, which in turn caused the <tt>accept()</tt>
 call to be very rarely called.
	  Delays of about 40 seconds have been observed on a 3.4 GHz Pentium 4 to get the stats page under such a
	  load. The other pollers were not better BTW. The fix consisted in ensuring that polled events are checked
	  at much often as the speculative ones. With this fix, the stats page responds in less than one second on
	  such a saturated machine. There is still room for improvement relying on events prioritization though.
	  Version 1.3.15 has been promoted as the recommended one since there has been no regression report.
	  Version 1.2.18 was also released for users of 1.2 which experienced trouble building on BSD.</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/199178#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 01 Jun 2008 18:57:00 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/199178</link>
        <guid>http://masterkey.javaeye.com/blog/199178</guid>
      </item>
      <item>
        <title>May 2008 Web Server Survey</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/199176" style="color:red;">http://masterkey.javaeye.com/blog/199176</a>&nbsp;
          发表时间: 2008年06月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="blogbody">
<p>In the <strong>May 2008</strong>
 survey we received responses from
<strong>168,408,112</strong>
 sites.</p>
<p>
The total number of sites has increased by 2.7 million, with 554 thousand new sites being hosted by the Dutch company <a href="http://xl-internetservices.com/">XL Internet Services</a>
. Similar growth is seen at <a href="http://www.akamai.com/">Akamai</a>
, a web content and application delivery company, where 531 thousand new sites have appeared.
</p>
<p>
The GNR web server climbs to 15th place after gaining 212 thousand sites this month.
GNR is operated by <a href="http://www.gnr.name/">Global Name Registry</a>
, which is the licence operator of the <em>.name</em>
global top level domain that was launched in 2002. The .name gTLD is
intended to be used by individuals, and most of the site addresses
being served by the GNR web server use the format www.<em>firstname.lastname</em>
.name.
</p>
<p>Nearly all of the .name sites being hosted by Global Name Registry
are served from the same IP address, and many of them use a frameset to
present content from <a href="http://www.facebook.com/">Facebook</a>
's website, showing limited public profiles for Facebook users with the same name.
</p>
<p>&nbsp;</p>
<div class="blogsubtitle">Total Sites Across All Domains August 1995 - May 2008</div>
<p>
<img src="http://news.netcraft.com/archives/2008/05/site_count_history.gif" align="middle" alt="Total Sites Across All Domains, August 1995 - May 2008" />
<br /></p>
<p>&nbsp;</p>
<div class="blogsubtitle">
<a name="May">Market Share for Top Servers Across All Domains August 1995 - May 2008</a>
</div>
<p>
<img src="http://news.netcraft.com/archives/2008/05/overallc.gif" align="middle" alt="Graph of market share for top servers across all domains, August 1995 - May 2008" />
</p>
<p>&nbsp;</p>
<div class="blogsubtitle">Top Developers</div>
<table cellspacing="3" border="0">
<tbody>
<tr>
<th>Developer</th>
<th>April 2008</th>
<th>Percent</th>
<th>May 2008</th>
<th>Percent</th>
<th>Change</th>
</tr>
<tr align="right">
<td align="left">Apache</td>
<td>83,554,638</td>
<td>50.42%</td>
<td>83,746,837</td>
<td>49.73%</td>
<td>-0.69</td>
</tr>
<tr align="right">
<td align="left">Microsoft</td>
<td>58,547,355</td>
<td>35.33%</td>
<td>58,991,106</td>
<td>35.03%</td>
<td>-0.30</td>
</tr>
<tr align="right">
<td align="left">Google</td>
<td>10,079,333</td>
<td>6.08%</td>
<td>10,127,956</td>
<td>6.01%</td>
<td>-0.07</td>
</tr>
<tr align="right">
<td align="left">lighttpd</td>
<td>1,495,308</td>
<td>0.90%</td>
<td>1,523,148</td>
<td>0.90%</td>
<td>0.00</td>
</tr>
<tr align="right">
<td align="left">Sun</td>
<td>547,873</td>
<td>0.33%</td>
<td>545,651</td>
<td>0.32%</td>
<td>-0.01</td>
</tr>
</tbody>
</table>
<a name="more"></a>
<div class="blogsubtitle">
<a href="http://www.netcraft.com/survey/index-200007.html#active">Active Sites</a>
</div>
<table cellspacing="3" border="0">
<tbody>
<tr>
<th>Developer</th>
<th>April 2008</th>
<th>Percent</th>
<th>May 2008</th>
<th>Percent</th>
<th>Change</th>
</tr>
<tr align="right">
<td align="left">Apache</td>
<td>33,463,198</td>
<td>49.41%</td>
<td>32,839,213</td>
<td>48.04%</td>
<td>-1.37</td>
</tr>
<tr align="right">
<td align="left">Microsoft</td>
<td>23,272,840</td>
<td>34.37%</td>
<td>24,040,260</td>
<td>35.17%</td>
<td>0.80</td>
</tr>
<tr align="right">
<td align="left">Google</td>
<td>6,347,034</td>
<td>9.37%</td>
<td>6,592,598</td>
<td>9.64%</td>
<td>0.27</td>
</tr>
<tr align="right">
<td align="left">Sun</td>
<td>183,992</td>
<td>0.27%</td>
<td>173,679</td>
<td>0.25%</td>
<td>-0.02</td>
</tr>
<tr align="right">
<td align="left">lighttpd</td>
<td>76,653</td>
<td>0.11%</td>
<td>92,041</td>
<td>0.13%</td>
<td>0.02</td>
</tr>
</tbody>
</table>
<div class="blogsubtitle">Totals for Active Servers Across All Domains<br />
June 2000 - May 2008</div>
<p>
<img src="http://news.netcraft.com/archives/2008/05/overalld.gif" align="middle" alt="" />
</p>
<br />

<table border="1" align="center" cellpadding="5">
<thead>
<tr>
<th>Vendor</th>
<th>Product</th>
<th>Web Sites</th>
</tr>
</thead>
<tbody>
<tr>
<td>Apache</td>
<td>Apache</td>
<td align="right">83,428,212</td>
</tr>
<tr>
<td>Microsoft</td>
<td>IIS</td>
<td align="right">58,983,431</td>
</tr>
<tr>
<td>Google</td>
<td>GFE</td>
<td align="right">10,124,476</td>
</tr>
<tr>
<td>Unknown</td>
<td>Unknown</td>
<td align="right">4,802,679</td>
</tr>
<tr>
<td>Oversee</td>
<td>Oversee</td>
<td align="right">2,004,303</td>
</tr>
<tr>
<td>lighttpd</td>
<td>lighttpd</td>
<td align="right">1,523,148</td>
</tr>
<tr>
<td>Other</td>
<td>Other</td>
<td align="right">1,118,374</td>
</tr>
<tr>
<td>nginx</td>
<td>nginx</td>
<td align="right">1,013,118</td>
</tr>
<tr>
<td>LiteSpeed</td>
<td>LiteSpeed</td>
<td align="right">733,212</td>
</tr>
<tr>
<td>Zeus</td>
<td>Zeus</td>
<td align="right">412,040</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/199176#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 01 Jun 2008 18:56:26 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/199176</link>
        <guid>http://masterkey.javaeye.com/blog/199176</guid>
      </item>
      <item>
        <title>很帅的Groovy</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/197950" style="color:red;">http://masterkey.javaeye.com/blog/197950</a>&nbsp;
          发表时间: 2008年05月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">File.metaClass.copy={
		if (delegate.isFile())
		{
			new File(it).withOutputStream()
			{
	     		it.write delegate.readBytes();
			}
		}
			
}
new File("1.txt").copy("2.txt");</pre>
<p>&nbsp;Groovy很帅，名不虚传！</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/197950#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 28 May 2008 17:45:07 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/197950</link>
        <guid>http://masterkey.javaeye.com/blog/197950</guid>
      </item>
      <item>
        <title>nginx 0.7.1  release</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/197425" style="color:red;">http://masterkey.javaeye.com/blog/197425</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Changes with nginx 0.7.1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 26 May 2008<br /><br />&nbsp; &nbsp;*) Change: now locations are searched in a tree.<br /><br />&nbsp; &nbsp;*) Change: the "optimize_server_names" directive was canceled due to<br />&nbsp; &nbsp; &nbsp; the "server_name_in_redirect" directive introduction.<br /><br />&nbsp; &nbsp;*) Change: some long deprecated directives are not supported anymore.<br /><br />&nbsp; &nbsp;*) Change: the "none" parameter in the "ssl_session_cache" directive;<br />&nbsp; &nbsp; &nbsp; now this is default parameter.<br />&nbsp; &nbsp; &nbsp; Thanks to Rob Mueller.<br /><br />&nbsp; &nbsp;*) Bugfix: worker processes might not catch reconfiguration and log<br />&nbsp; &nbsp; &nbsp; rotation signals.<br /><br />&nbsp; &nbsp;*) Bugfix: nginx could not be built on latest Fedora 9 Linux.<br />&nbsp; &nbsp; &nbsp; Thanks to Roxis.<br /><br />Warning: the first change is important. Although I tested this version<br />on site with about 100 locations, there is a risk that a request may be<br />handled in a wrong location.<br /><span style="color: #888888;"><br /></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/197425#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 May 2008 13:37:52 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/197425</link>
        <guid>http://masterkey.javaeye.com/blog/197425</guid>
      </item>
      <item>
        <title>郎咸平：寻找缺乏竞争力的答案</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/195219" style="color:red;">http://masterkey.javaeye.com/blog/195219</a>&nbsp;
          发表时间: 2008年05月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>中国企业今天所面临的问题，已经不是国有企业、民营企业谁好谁坏的问题，而是国有企业和民营企业的竞争力一起大幅度衰退的问题。以往专家、学者所倡导的是国退民进，但这不能解决国企问题。根据洛桑国际管理发展学院发表的中国总体竞争力(包括经济表现、政府效率、企业效率、基础设施四大指标组成)报告显示， 2000年以前中国的总体竞争力大体与菲律宾、巴西、希腊等国差不多，但是2000年以后差不多跟捷克、匈牙利、波兰、泰国处在同一个水平，还比不上智利、比利时、马来西亚这些国家。这些数据显示，这几年民营经济似乎不能带动总体竞争力的发展。 <br /><br />　　中国企业家所面临的问题到底出在哪？我认为我们这个经济体系本身有几个严重的问题需要解决。 <br /><br />　　1.自由竞争总是好的吗？ <br /><br />　　我们过去总认为自由竞争是企业发展的原动力，我们这么多年的改革开放，一些思维简单的专家学者们也不断提倡这个理念。但是纳什提出了反思维&mdash;&mdash;自由竞争总是好的吗？ <br /><br />　　纳什讲了自由竞争的负面因素。它解释了自由经济泛滥的第一种现象&mdash;&mdash;低水平重复浪费的恶性竞争，使得资源被大量浪费。 <br /><br />　　举个例子，如果在美国你开发出来一个新产品，大家都以股东身份给你投资，你就能越做越大，这是美国纳斯达克市场的功能。但是中国企业不是这样的，中国企业的现状跟Chinatown(唐人街)一样，在纽约、洛杉矶、伦敦到处都有Chinatown，当你把一家餐厅做好了之后，其他人不是一起投资你的餐厅，跟你一起做大，而是在你隔壁另外开一家。如果做得好，又会有人跑到隔壁再去开一家，结果一定有人因做得好再开一家。突然之间 Chinatown就有了一大堆餐厅进行互相竞争的局面，这就是中国企业的状态，也叫&ldquo;饿狼现象&rdquo;。这种竞争的最终结果会使得大家都无法生存。我记得一个数据，它显示中国80%的民营企业的寿命年只有29年。这使得资源被大量地浪费。在我们生活中，这种恶性竞争造成的资源浪费现象比比皆是。 <br /><br />　　越想规规矩矩努力做好产品质量控制和研发的公司就越可能先被淘汰。为了说明中国企业不重视研发的畸形现象，我们用&ldquo;每10万个居民拥有的有效专利数量&rdquo;这一指标进行说明。结果，我们发现这一数字在中国只有4件，排在37位，和马来西亚、泰国的水平差不多，但排名第一的卢森堡却有7094件。中国在专利生产能力指标(本国居民所获专利数量与企业研发人员的比率)的世界排名成绩为36位，和爱沙尼亚相当，而排名第一的韩国的成绩却是中国的57倍多，这充分说明了韩国三星等公司为何能够超日赶美了。- <br /><br />　　2.与国际接轨的困惑 <br /><br />　　如果你去问一个农民如何开闸灌溉，农民就会告诉你开闸之前要先挖沟渠，把水引到你需要它去的地方，缺水的农田不应是随便开闸的。什么是目前的国际化呢？那就是随意开闸让洪水漫流淹没了大片农田。难道我国大力主张完全国际化的专家学者不知道要先挖沟渠吗？什么是沟渠呢？法治化的游戏规则就叫沟渠。 <br /><br />　　目前国外资本市场对中国十分看好，但是为什么国际化越彻底大家日子越难过呢？为什么人均产值增加这么快，却没给老百姓带来更多实惠呢？因为这个产值很大一部分是外商投资的。根据资料统计，每年以合法利润形式流出中国的资金就高达2000亿美元。现在问题出来了，地方政府为了招商引资，给予了土地和税收优惠等，这些优惠最终形成了利润流出中国。如果优惠是给内资企业的话，这个利润&mdash;&mdash;还有转投资的可能，也可以带动相关产业的发展。不断的转投资可以创造出乘数效果。以江浙地区而言，乘数效果可以创造出数倍的产值。但是优惠一旦给了外资企业就往往最后会流失出去了，这样就再也无法通过转投资创造乘数效果了。 <br /><br />凡事有利就有弊。我以外资为例，美国麦肯锡顾问公司预测五年之后外资零售业将要占据中国80%的市场。如果恶性竞争成功，而且把中国零售业打垮了，那么五年之后会怎么样？ <br /><br />　　中国是一个法治化规则不健全的国家。中国在法律制度的建设上已经日臻完善，但是在执法环节上依然有一定的缺陷。我常挖苦中国的公司法，它不但引进了欧洲的监事制度而且又吸收了美国的独立董事制度。但如此一来，中国的公司法就形成了监事与独立董事重叠的尴尬局面，而且这两种制度的同时存在，又会使整个公司法的实施形成内在冲突，最后，自然会降低制度的原有功效。 <br /><br />　　我们的大多数内资企业不但规模难以和大型外资企业并驾齐驱，而且我们的内资企业对外资收购还不甚了解，对收购的认识仍然显得有些幼稚。 <br /><br />　　在没有法治化游戏规则的前提下，如果让外资企业随便准入、随便收购内资企业的话，比如零售业、金融业，或者其他行业，内资企业都会因为大欺小、强欺弱的缘故被淘汰。 <br /><br />　　与国际接轨到底接的是法治化的游戏规则。如果没有把这套游戏规则引进来，反而把那些表面现象引进来，包括零售业、银行、服务业等等产业的开放，那无异于是引狼入室，纵容外资企业大举进攻中国市场。目前内资零售业、金融业、服务业和其他产业在国际化浪潮之下陷于困境的原因都是一样的，那就是在国际化之前&ldquo;放开水闸而没有挖沟渠&rdquo;。 <br /><br />　　但是又有专家学者说我们的金融改革是不得不做啊。做当然是应该做，但是我们的改革要三思而行。比如说央行曾经宣布人民币汇率要灵活浮动，要跟国际接轨，而且央行要把汇率波动的风险转移给企业承担。我想请问大家一句话，晓不晓得美国、日本和欧洲为什么可以实施浮动汇率制度？我想告诉大家，因为这些国家的公司大部分都知道如何对冲外汇风险，我想请问，我们中国的公司有多少知道如何对冲外汇的风险？中航油已经算是不错了吧，但是一出手就惨败而归，其他的公司就更不用说了，这种情况下还奢谈浮动汇率是不切实际的。 <br /><br />　　既然很少有中国企业知道该如何对冲外汇的风险，你怎么敢把风险给企业承担呢？而且中国是加工型的制造业大国，平均利润可能还不到5%，汇率的小小波幅就会把利润全部掏空，所以这么重大的汇率改革对中国市场的影响是很重大的，并不是只要一执行就是与国际接轨嘛。否则，那又是只看到了事物的表面，却完全不知道浮动汇率的背后是要有配套措施的。- <br /><br />　　3.浮躁和投机取巧的心态 <br /><br />　　我在《标本》一书中，特别指出中国的地产企业负债过多、风险过高的问题。我们的企业家肯定认为高负债是很正常的，我认为这就是民族企业家的悲哀，因为我们根本意识不到这是不正常的现象。 <br /><br />　　万科的王石每次演讲时，都不忘讲到香港的新鸿基，他说新鸿基比万科大100倍。事实上，香港的地产&ldquo;四大天王&rdquo;：新鸿基、恒基兆业、新世界、长江实业，最少都比内地的同行业企业大100倍。而且香港的法治化建设比内地好得多，信用体系也比内地健全得多，因此它们应该更有能力去借钱是吧？我想请大家猜一下，它们的资本负债比例是多少？内地的上市公司负债比高得惊人，而它们的平均资本负债比例是20%。 <br /><br />　　和内地企业相比，&ldquo;四大天王&rdquo;的经营战略保守得多，难道保守才是企业成功的关键吗？各位请再想想，&ldquo;四大天王&rdquo;各项财务数据的类似度让我感到震惊。我们可不可以这么理解，和它们不一样的公司恐怕早就被淘汰了吧。它们为什么能够成长为比内地同行大100倍？&ldquo;因为成功的原因只有一个，而失败的原因很多&rdquo;。 <br /><br />那么，中国的企业为何承担这么大的风险呢？我想这和一些中国企业家特有的浮躁和投机取巧的心态有关。有的中国企业经营者的心态非常的浮躁，总想迅速的做大做强，而不注意企业经营细节的优化。他们所谓做大做强的最迅速而且投机取巧的方法就是通过负债融资，而这也是为何我国企业的负债率之高恐怕在世界上都是名列前茅的原因所在。- <br /><br />　　4.认不清行业本质 <br /><br />　　我在《思维》一书中指出，观点、资金、人才和技术其实已经不再是现时企业主要的问题了。它们虽然是企业成功的三要素，但更重要的是符合行业本质的战略指导思想。怎么理解我这句话呢？ <br /><br />　　最近一些日本企业相继衰亡，包括日本日产、三菱集团、索尼，都出现过极大问题。从日产到索尼的变化你就看得出来，他们要挽救公司，要重新取得它的竞争优势，它所改变的既不是我们国内企业要上市、要融资，也不是技术升级，也不是寻找人才，不是说这些不重要，重要的是寻找一个能够符合行业本质的战略思想，日本人的做法值得我们借鉴。 <br /><br />　　我们的政策制定者和企业家在这方面是要反思的。现在全国各地都在开辟高新技术产业区，但是如果科技新区只是单靠土地以及税收的优惠就能搞高科技的话，那么世界各地都可以搞高科技了。发展高科技并非是这么简单的一件事。不是政府批一块地，或给一些税收优惠就能搞的。因为大家根本就不知道高科技行业的本质是什么。 <br /><br />　　任何不符合行业本质的政策都会遭致失败，例如以前政府所推出的&ldquo;市场换技术战略&rdquo;，最后结果却是市场丢了，技术也没换来。 <br /><br />　　也许最后，你会发现我们大力推行的产业升级可能是错的，为什么呢？西班牙的纺织业水平比中国落后好多年，那里有些工厂还在使用我们一辈那个时代的脚踩缝纫机，但人家不但超越了咱们，还超日赶美，为什么？因为他们把握了纺织业的行业本质，而我们的政策制定则没有把握行业的本质。 <br /><br />　　有些人问我，国内大多数企业应该还是很清楚行业本质的吧，否则他们如何生存呢？但是我的观察刚好相反，我认为我国大部分企业家是不知道行业本质的。我在上课的时候经常问企业家&mdash;&mdash;你们做了一辈子的行业，请你们告诉我，你们的行业本质是什么？大部分企业的经营者是答不上来的。 <br /><br />　　很多人可能会认为我对中国企业与企业家们的看法是挺悲观的。我想这么说，难道我批评企业就一定表示我悲观吗？大家应该把我的批评当成严厉的期许。但是我必须说，在我前述的竞争过于激烈，国际化深化，企业风险加大，以及企业家和企业政策脱离行业本质的种种压力之下，你说我们企业家怎么可能好过？ </p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/195219#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 May 2008 13:02:08 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/195219</link>
        <guid>http://masterkey.javaeye.com/blog/195219</guid>
      </item>
      <item>
        <title>nginx-0.7.0 release</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/194552" style="color:red;">http://masterkey.javaeye.com/blog/194552</a>&nbsp;
          发表时间: 2008年05月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Changes with nginx 0.7.0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 19 May 2008<br /><br />&nbsp; &nbsp;*) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as<br />&nbsp; &nbsp; &nbsp; \xXX in an access_log.<br />&nbsp; &nbsp; &nbsp; Thanks to Maxim Dounin.<br /><br />&nbsp; &nbsp;*) Change: now nginx allows several "Host" request header line.<br /><br />&nbsp; &nbsp;*) Feature: the "modified" flag in the "expires" directive.<br /><br />&nbsp; &nbsp;*) Feature: the $uid_got and $uid_set variables may be used at any<br />&nbsp; &nbsp; &nbsp; request processing stage.<br /><br />&nbsp; &nbsp;*) Feature: the $hostname variable.<br />&nbsp; &nbsp; &nbsp; Thanks to Andrei Nigmatulin.<br /><br />&nbsp; &nbsp;*) Feature: DESTDIR support.<br />&nbsp; &nbsp; &nbsp; Thanks to Todd A. Fisher and Andras Voroskoi.<br /><br />&nbsp; &nbsp;*) Bugfix: a segmentation fault might occur in worker process on Linux,<br />&nbsp; &nbsp; &nbsp; if keepalive was enabled.<br /><span style="color: #888888;"><br />btw:</span></p>
<p><span style="color: #888888;"><span style="color: #000000;">nginx 0.7.0 for Windows (2000, XP, Vista)<br /><br />Download:<br /></span><a href="http://www.kevinworthington.com/nginx/win32/" target="_blank">http://www.kevinworthington.com/nginx/win32/</a><br /><br /><span style="color: #000000;">Read Me/Blog Post:<br /></span><a href="http://www.kevinworthington.com/index.php/2008/05/19/nginx-070-for-windows/" target="_blank">http://www.kevinworthington.com/index.php/2008/05/19/nginx-070-for-windows/</a></span></p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/194552#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 19 May 2008 18:50:55 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/194552</link>
        <guid>http://masterkey.javaeye.com/blog/194552</guid>
      </item>
      <item>
        <title>AIX apache module问题</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/193306" style="color:red;">http://masterkey.javaeye.com/blog/193306</a>&nbsp;
          发表时间: 2008年05月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>今天一个同事问道一个apache module在AIX平台下编译链接的问题。虽然自己2年前就开始搞apache dso，但是对在AIX下还真是头一次。看了1个多小时，没有结果，希望有经验的朋友指点一下。</p>
<p>没有采用apxs&nbsp;</p>
<p>gcc -g -shared -o libmod_xxxx.so.2.2.0 XXX.o XXXXX.o mod_xxx.o -rdynamic -lm -lpthread -lstdc++ -L/db2file/apache/lib/ -lapr-0 -laprutil-0 -lexpat <br />gcc: unrecognized option `-rdynamic'<br />ld: 0711-224 WARNING: Duplicate symbol: _GLOBAL__F_ras_arg_t<br />ld: 0711-224 WARNING: Duplicate symbol: ras_arg_t<br />ld: 0711-224 WARNING: Duplicate symbol: ._GLOBAL__I_ras_arg_t<br />ld: 0711-224 WARNING: Duplicate symbol: ._GLOBAL__D_ras_arg_t<br />ld: 0711-224 WARNING: Duplicate symbol: _GLOBAL__I_ras_arg_t<br />ld: 0711-224 WARNING: Duplicate symbol: _GLOBAL__D_ras_arg_t<br />ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t<br />ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.<br />ld: 0711-317 ERROR: Undefined symbol: .ap_rputs<br />ld: 0711-317 ERROR: Undefined symbol: .ap_hook_child_init<br />ld: 0711-317 ERROR: Undefined symbol: .ap_hook_handler<br />collect2: ld returned 8 exit status<br />make: *** [libmod_bus.so.2.2.0] Error 1</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>btw:</p>
<p>程序没问题，AS4,CentOS 4 ,Windows下都没有问题。AIX Version 5.3</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/193306#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 15 May 2008 15:28:59 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/193306</link>
        <guid>http://masterkey.javaeye.com/blog/193306</guid>
      </item>
      <item>
        <title>各个浏览器并发连接数比较</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/192477" style="color:red;">http://masterkey.javaeye.com/blog/192477</a>&nbsp;
          发表时间: 2008年05月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <h3>&nbsp;</h3>
<h3>The HTTP/1.1 RFC</h3>
<p><a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.1.4"><span style="color: #546188;">Section 8.1.4 of the HTTP/1.1 RFC</span></a> says a &ldquo;single-user client SHOULD NOT maintain more than 2 connections with any server or proxy.&rdquo; The key here is the word &ldquo;should.&rdquo; Web clients don&rsquo;t <em>have</em> to follow this guideline. IE8 isn&rsquo;t the first to exceed this guideline. Opera and Safari hold that honor supporting 4 connections per server.</p>
<p>8.1.4节提到单用户客户端不能维护超过2个连接对任何一个服务器或代理。这里的关键词：&ldquo;应该&rdquo;，很多浏览器的实现不严格遵从这个规定，IE8不是第一个超越此标准，Opera Saari已经支持超过4个并发连接。</p>
<h3>Settings for Current Browsers</h3>
<p>The table below shows the number of connections per server supported by current browsers for HTTP/1.1 as well as HTTP/1.0.</p>
<p>
<table cellspacing="0" border="0" cellpadding="4">
<tbody>
<tr>
<td><span style="text-decoration: underline;">Browser</span></td>
<td><span style="text-decoration: underline;">HTTP/1.1</span></td>
<td><span style="text-decoration: underline;">HTTP/1.0</span></td>
</tr>
<tr>
<td>IE 8</td>
<td align="center">6</td>
<td align="center">?<sup>1</sup></td>
</tr>
<tr>
<td>IE 6,7</td>
<td align="center">2</td>
<td align="center">4</td>
</tr>
<tr>
<td>Firefox 3</td>
<td align="center">2<sup>2</sup></td>
<td align="center">?<sup>1</sup></td>
</tr>
<tr>
<td>Firefox 1.5, 2</td>
<td align="center">2</td>
<td align="center">8</td>
</tr>
<tr>
<td>Opera 9</td>
<td align="center">4</td>
<td align="center">?<sup>1</sup></td>
</tr>
<tr>
<td>Safari 3</td>
<td align="center">4</td>
<td align="center">?<sup>1</sup></td>
</tr>
</tbody>
</table>
</p>
<p>下面一个测试并发速度的页面:</p>
<p><a href="http://stevesouders.com/hpws/parallel-downloads.php">http://stevesouders.com/hpws/parallel-downloads.php</a></p>
<p>&nbsp;</p>
<p>一般而言，浏览器所支持对同一Server的并发数越多多好，IE8应该不错。</p>
<p>我本机IE7：</p>
<p>
<table border="0">
<tbody>
<tr>
<td align="right">Page load time: </td>
<td align="right"><span id="t_page">&nbsp;<strong>5203 ms</strong>&nbsp;</span></td>
</tr>
</tbody>
</table>
</p>
<p>本机FF2:
<td align="right">&nbsp;</td>
</p>
<p>Page load time:
<td align="right">&nbsp;</td>
<span id="t_page">&nbsp;<strong>10891 ms</strong>&nbsp;</span></p>
<p>&nbsp;</p>
<p><span>怎么都是2个并发，差异会这么大，哈哈，用的IE还是较多一些。</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/192477#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 13 May 2008 10:08:06 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/192477</link>
        <guid>http://masterkey.javaeye.com/blog/192477</guid>
      </item>
      <item>
        <title>Shake Map EASTERN SICHUAN ,CHINA</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/192258" style="color:red;">http://masterkey.javaeye.com/blog/192258</a>&nbsp;
          发表时间: 2008年05月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><img src="http://earthquake.usgs.gov/eqcenter/shakemap/global/shake/2008ryan/download/intensity.jpg" height="719" alt="" width="612" /></p>
<div class="summary_element" id="sum_table_wrapper">
<p style="width: 550px; text-align: center;">Estimated Population Exposed to Earthquake Shaking</p>
<table class="exposure" cellspacing="0" border="0" cellpadding="0" style="cursor: pointer;">
<tbody>
<tr>
<th class="header" rowspan="2">Est. Modified<br />Mercalli Intensity</th><th class="header" rowspan="2">Est. Population<br />Exposure <span class="small">(k = x1000)</span></th><th class="header" rowspan="2">Perceived Shaking</th><th colspan="2">Potential Structure Damage</th>
</tr>
<tr>
<th class="header">Resistant</th><th class="header">Vulnerable</th>
</tr>
<tr>
<td class="mmiX left">X</td>
<td>21k</td>
<td>Extreme</td>
<td>V. Heavy</td>
<td>V. Heavy</td>
</tr>
<tr>
<td class="mmiIX left">IX</td>
<td>86k</td>
<td>Violent</td>
<td>Heavy</td>
<td>V. Heavy</td>
</tr>
<tr>
<td class="mmiVIII left">VIII</td>
<td>1,072k</td>
<td>Severe</td>
<td>Moderate/Heavy</td>
<td>Heavy</td>
</tr>
<tr>
<td class="mmiVII left">VII</td>
<td>3,567k</td>
<td>Very Strong</td>
<td>Moderate</td>
<td>Moderate/Heavy</td>
</tr>
<tr>
<td class="mmiVI left">VI</td>
<td>10,123k</td>
<td>Strong</td>
<td>Light</td>
<td>Moderate</td>
</tr>
<tr>
<td class="mmiV left">V</td>
<td>42,892k*</td>
<td>Moderate</td>
<td>V. Light</td>
<td>Light</td>
</tr>
<tr>
<td class="mmiIV left">IV</td>
<td>8,827k*</td>
<td>Light</td>
<td>None</td>
<td>None</td>
</tr>
<tr>
<td class="mmiII left">II-III</td>
<td>--*</td>
<td>Weak</td>
<td>None</td>
<td>None</td>
</tr>
<tr class="bottom">
<td class="mmiI left">I</td>
<td>--*</td>
<td>Not Felt</td>
<td>None</td>
<td>None</td>
</tr>
</tbody>
</table>
<div class="disclaimer">*Estimated exposure only includes population within the map area.</div>
</div>
<p>&nbsp;</p>
<div class="summary_element" id="sum_population_wrapper">
<div>Population Exposure</div>
&nbsp;<span>Population per &tilde;1 square km from Landscan 2005</span><br /><a href="http://earthquake.usgs.gov/eqcenter/pager/events/us/2008ryan/index.html#exposuremap" title="Population Exposure" onclick="$('producttabs').tabber.tabShow(1); return false;"><img src="http://earthquake.usgs.gov/eqcenter/pager/inc/imagestacker.inc.php?type=population&amp;res=hi&amp;event=2008ryan&amp;network=us&amp;version=1" alt="Population Exposure" /></a></div>
<div id="city_shake_wrapper">
<div class="summary_element" id="sum_cities_wrapper">
<div>Selected City Exposure</div>
<br />
<table class="citysum" cellspacing="0" border="0" cellpadding="0" style="cursor: pointer;">
<tbody>
<tr>
<th class="mmi">MMI</th><th class="cityname">City</th><th class="population">Population</th>
</tr>
<tr>
<td class="mmi" style="background-color: #ffbf00;">VII</td>
<td class="cityname" style="background-color: #ffbf00;">Tianpeng</td>
<td class="population" style="background-color: #ffbf00;">60k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #ffd900;">VII</td>
<td class="cityname" style="background-color: #ffd900;">Linqiong</td>
<td class="population" style="background-color: #ffd900;">55k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #fff000;">VI</td>
<td class="cityname" style="background-color: #fff000;">Chengdu</td>
<td class="population" style="background-color: #fff000;">3950k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #e3ff1e;">VI</td>
<td class="cityname" style="background-color: #e3ff1e;">Deyang</td>
<td class="population" style="background-color: #e3ff1e;">152k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #8fff7b;">V</td>
<td class="cityname" style="background-color: #8fff7b;">Jiangyou</td>
<td class="population" style="background-color: #8fff7b;">127k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #7fff8d;">V</td>
<td class="cityname" style="background-color: #7fff8d;">Mianyang</td>
<td class="population" style="background-color: #7fff8d;">264k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #7cff90;">V</td>
<td class="cityname" style="background-color: #7cff90;">Ziyang</td>
<td class="population" style="background-color: #7cff90;">87k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #7bffaf;">V</td>
<td class="cityname" style="background-color: #7bffaf;">Neijiang</td>
<td class="population" style="background-color: #7bffaf;">546k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #7cffba;">V</td>
<td class="cityname" style="background-color: #7cffba;">Zigong</td>
<td class="population" style="background-color: #7cffba;">689k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #7cffbb;">V</td>
<td class="cityname" style="background-color: #7cffbb;">Nanchong</td>
<td class="population" style="background-color: #7cffbb;">7150k</td>
</tr>
<tr>
<td class="mmi" style="background-color: #7dffcc;">IV</td>
<td class="cityname" style="background-color: #7dffcc;">Yibin</td>
<td class="population" style="background-color: #7dffcc;">242k</td>
</tr>
</tbody>
</table>
</div>
<div class="summary_element" id="sum_shakemap_wrapper">
<div>Shaking Intensity</div>
<span style="font-style: normal;">&nbsp;&nbsp;&nbsp;&nbsp;MMI</span><br /><a href="http://earthquake.usgs.gov/eqcenter/pager/events/us/2008ryan/index.html#shakemap" title="Shakemap" onclick="$('producttabs').tabber.tabShow(1); "><img src="http://earthquake.usgs.gov/eqcenter/pager/inc/imagestacker.inc.php?type=shakemap&amp;res=lo&amp;event=2008ryan&amp;version=1&amp;network=us" alt="Shakemap" /></a></div>
</div>
<p>&nbsp;</p>
<p>Users should consider the preliminary nature of this information and check for updates as additional data becomes available. Population exposure estimates are NOT a direct estimate of earthquake damage; comparable shaking will result in significantly lower losses in regions with well built structures than in regions with vulnerable structures. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/192258#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 12 May 2008 15:35:21 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/192258</link>
        <guid>http://masterkey.javaeye.com/blog/192258</guid>
      </item>
      <item>
        <title>7家顶级GPS软件企业大揭秘(ZZ)</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/191408" style="color:red;">http://masterkey.javaeye.com/blog/191408</a>&nbsp;
          发表时间: 2008年05月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>在揭秘前，首先给这国内顶级6家<span class="t_tag" onclick="tagshow(event)">GPS</span>企业分别冠名，之后在逐一阐述<br /><br />&nbsp; &nbsp; 狗腿企业&mdash;&mdash;&mdash;&mdash;&mdash;四维<br />&nbsp; &nbsp; 二把刀企业&mdash;&mdash;&mdash;&mdash;瑞图<br />&nbsp; &nbsp; 土地爷企业&mdash;&mdash;&mdash;凯立德<br />&nbsp; &nbsp; 八旗子弟企业&mdash;&mdash;&mdash;高德<br />&nbsp; &nbsp; 无盈利模式企业&mdash;&mdash;灵图<br />&nbsp; &nbsp; 野鸡企业&mdash;&mdash;&mdash;&mdash;&mdash;城际通<br />&nbsp; &nbsp; 忍者神龟企业&mdash;&mdash;&mdash;&mdash;&mdash;易图通<br /><br />&nbsp; &nbsp; 四维：<br />&nbsp; &nbsp; 四维又称中国四维集团成立于2002年！最初是以做测绘为生。曾经授日本丰田委托为威驰和花冠车测绘地图。大家不要小看这个啊。日本委托四维测绘中国城市，不先测绘各大省会城市，却首先对张家口下手。张家口可是军事重地！据说四维这套地图相当详尽，地图每次测绘完成后都由日本人进行复查。但是只有DENSO系统才能读出这套图。所以，现在市面上大家使用的四维图均为简化版！<br /><br />&nbsp; &nbsp; 高德：<br />&nbsp; &nbsp; 高德背景比较神秘！高德与奔驰、奥迪、中移动、中联通、中网通合作！都是全球500强企业。其实也未见高德地图好在哪里？业内一致评价高德的图最差，那为何这些强大企业还要与之合作？只因为高德贵为八旗子弟，有中科院这个政府背景来撑腰啊！<br /><br />&nbsp; &nbsp; 凯立德：<br />&nbsp; &nbsp; 在众多企业中，kld属于不温不火。1997年，凯立德公司成立。说起来从1997年到2007年，凯立德已经成立了10年之久啦！！前面这么多年都干吗去了？？不过也有坊间传言，凯立德是国土资源部的孩子，一直都在给国土资源部打工。跟高德一个德行，都是典型的体制内企业。 还还不算，他还老去侵权，缺乏管教啊！<br /><br />&nbsp; &nbsp; 瑞图：<br />&nbsp; &nbsp; 瑞图很有意思！瑞图的老板是做涂料起家，和GPS完全不挨着。后由朋友指点才开始做导航。收购了长地友好、上海畅想，转身成立了瑞图万方。据说当时某位上海大佬在上海畅想中有一定股份，瑞图还想学学高徳和凯立德，期望抱抱大腿，结果没想到一朝翻船（估计什么事情大家都能猜到），一整就是鸡飞蛋打。据说当时瑞图一怒之下将上海畅想的甲级测绘资质给注销了，现在想来也后悔，这么好的壳儿，还能卖不少钱呢。传说瑞图内部管理非常混乱，光副总就有十多个，大家各管一摊，意见始终不能统一！<br /><br />&nbsp; &nbsp; 灵图：<br />&nbsp; &nbsp; 灵图在GPS<span class="t_tag" onclick="tagshow(event)">行业</span>这么多年，最郁闷，一直困于没有核心的无盈利模式，基本上是十处打锣，九处有它，导致它总是无法被认可。最初灵图由一个建行的人出来做软件、做测绘。不断的折腾，不断的花钱扩编招人，作广告，当冤大头，融资了一次又一次，才保证了灵图至今未死！建行、IBM、NTT DOCOMO、戈壁都被套牢过。但是已是积重难返。今年3月还又不得不把招来的人又给裁掉，现在除了上市骗股民外也没什么出路。<br /><br />&nbsp; &nbsp; 城际通：<br />&nbsp; &nbsp; 城际通的经历应该是最具有戏剧化的。最初城际通与上海出租车合作，通过司机间的沟通形成路网。在华东地区城际通很符合当地人的需求。但是，城际通一直没有获得资质，一直在进行非法测绘。直到今年四月，才获得国家测绘资质。但是，城际通没有向好的地方发展，仍旧走老路子。前不久又因为软件被国家查封。<br /><br />&nbsp; &nbsp; 易图通：<br />&nbsp; &nbsp; 易图通虽然是成立于1997年的老牌制图公司，但未有露面，为了能和国际导航业的直接接轨，站在行业的顶端，网罗了近千人的人才队伍一直在默默无闻的潜心修炼，直到今年才正式露面。从公开的资料显示其已经掌握了国际先进的制图工艺，并具备与任意一家软件公司对接的高度兼容技术，其可以实现从门牌到门牌的精确导航。看来忍者神龟修成正果了。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>感觉评价的很是到位！</p>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/191408#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 09 May 2008 13:18:34 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/191408</link>
        <guid>http://masterkey.javaeye.com/blog/191408</guid>
      </item>
      <item>
        <title>我看&lt;赢在中国&gt;</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/190483" style="color:red;">http://masterkey.javaeye.com/blog/190483</a>&nbsp;
          发表时间: 2008年05月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &lt;赢在中国>已经经历了3个赛季，第三赛季的比赛接近尾声,坚持对每场比赛的关注，&lt;赢在中国>实现无数怀揣创业梦想的人理想。就我个人感觉，随着时间的推进,选手整体水平有所下滑，一届不如一届,就进入每赛季进入前10的选手而言,我感觉:第一赛季的选手较强，其次是第三赛季，再次是第二赛季的。每场评委点评很是精采.<br /><br />不过从评委的姓名上看，得出一个有趣的结论。<br /><br />六位鼎鼎大名的评委：<br />史玉柱，熊晓鸽，俞敏洪，牛根生、马云，朱新礼<br /><br /><br />他们的姓分别是6种动物.<br /><br />shi(狮)----百兽之王,无数创业者的偶像.<br />xiong(熊)----力量的象征,智慧的投资者.<br />yu(鱼)-----跳过龙门的鲤鱼,中国培训产业的教父.<br />niu(牛)----温顺而又富有的金牛,中国乳业中的巨人.<br />ma(马)-----千里宝马,电子商务的领头马.<br />zhu(猪)----净坛使者,中国果汁产业的巨人.<br /><br /><br />赫赫是不是巧合.<br /><br />希望&lt;赢在中国>能放慢每赛季的评选周期,更好的选出中国未来的企业或行业明星.
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/190483#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 07 May 2008 09:59:19 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/190483</link>
        <guid>http://masterkey.javaeye.com/blog/190483</guid>
      </item>
      <item>
        <title>squid 与 apache针对不同数据缓存情况的差异</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/189691" style="color:red;">http://masterkey.javaeye.com/blog/189691</a>&nbsp;
          发表时间: 2008年05月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          对于Web应用，我们通常采用数据压缩和数据缓存等不同方式对Web应用进行性能优化，web 缓存数据的命中率至关重要，如何提高命中率是我<br /><br />们对于Web应用性能优化的一个重要手段。<br />下面我们做一个实验，针对一个url (静态页面文件) 不同请求方式。<br />我们采用的版本:<br /><pre name="code" class="java">Server: Apache/2.2.4 (Unix) 

Squid Cache: Version 2.6.STABLE9</pre><br /><br /><br />以一个静态页面为例.<br /><br />http://172.17.12.101/docs/toc.html<br /><br />apache 未配置压缩方式<br /><br />1.apache 未配置压缩方式，非支持压缩方式请求:<br /><br /><pre name="code" class="java">curl   http://172.17.12.101/docs/toc.html</pre><br /><br />缓存目录：<br /><pre name="code" class="java"> find -type f | xargs file
./_/f/U/4/i/Kql5DT29yMyNzOm2w.header:                                         DBase 3 data file (500937590 records)
./_/f/U/4/i/Kql5DT29yMyNzOm2w.data:                                           HTML document text</pre><br /><br />2.apache 配置支持压缩方式，非压缩方式请求:<br /><br /><pre name="code" class="java">curl   http://172.17.12.101/docs/toc.html</pre><br /><br /><br />缓存目录：<br /><pre name="code" class="java">
find . -type f  | xargs file

./_/f/U/4/i/Kql5DT29yMyNzOm2w.header:                                         DBase 3 data file (500937590 records)
./_/f/U/4/i/Kql5DT29yMyNzOm2w.data:                                           HTML document text
./_/f/U/4/i/Kql5DT29yMyNzOm2w.header.vary/9/r/d/u/o/qtsQ0rRCylw13nsjQ.header: X11 SNF font data, LSB first
./_/f/U/4/i/Kql5DT29yMyNzOm2w.header.vary/9/r/d/u/o/qtsQ0rRCylw13nsjQ.data:   HTML document text</pre><br /><br />3.apache 配置支持压缩方式，压缩方式请求:<br /><br /><br /><pre name="code" class="java">curl  -H 'Accept-Encoding: gzip, deflate' http://172.17.12.101/docs/toc.html</pre><br /><br />我们再看一下缓存目录：<br /><pre name="code" class="java">find . -type f  | xargs file

./_/f/U/4/i/Kql5DT29yMyNzOm2w.header:                                         DBase 3 data file (500937590 records)
./_/f/U/4/i/Kql5DT29yMyNzOm2w.data:                                           HTML document text
./_/f/U/4/i/Kql5DT29yMyNzOm2w.header.vary/9/r/d/u/o/qtsQ0rRCylw13nsjQ.header: X11 SNF font data, LSB first
./_/f/U/4/i/Kql5DT29yMyNzOm2w.header.vary/9/r/d/u/o/qtsQ0rRCylw13nsjQ.data:   HTML document text
./_/f/U/4/i/Kql5DT29yMyNzOm2w.header.vary/l/6/8/t/1/CX1DLP7MQGK6qVYgw.header: X11 SNF font data, LSB first
./_/f/U/4/i/Kql5DT29yMyNzOm2w.header.vary/l/6/8/t/1/CX1DLP7MQGK6qVYgw.data:   gzip compressed data, from Unix</pre><br />是不是很神奇，赫赫对于同一个URL的get请求，不同情况下会产生多份不同的Cache数据，html格式，gzip格式的。<br /><br />Vary header的存在会产生不同的缓存数据。再根据Content-Encoding的差异，生成不同的cache数据。为什么产生同一个多个Cache的多个备份情况呢？主要是为了使用不同browser的各自的情况，针对是否支持压缩数据请求，可以有选择性的返回压缩数据或非压缩数据。<br /><br /><br /><br />下面我们在比较一下Squid缓存的试验。<br /><br />1.非支持压缩请求<br /><pre name="code" class="java">curl  http://172.17.12.114:81/docs/toc.html</pre><br /><br />缓存目录<br /><pre name="code" class="java">find -type f | xargs ls -l
-rw-r-----  1 nobody nobody  454  5月  5 13:13 ./00/00/0000000B
-rw-r-----  1 nobody nobody 7970  5月  5 13:13 ./00/00/0000000C
-rw-r-----  1 nobody nobody 1508  5月  5 13:13 ./swap.state</pre><br />2.支持压缩请求<br /><br /><pre name="code" class="java">curl  -H 'Accept-Encoding: gzip, deflate' http://172.17.12.114:81/docs/toc.html
缓存目录
find -type f | xargs ls -l
-rw-r-----  1 nobody nobody  454  5月  5 13:16 ./00/00/0000000D
-rw-r-----  1 nobody nobody 2656  5月  5 13:16 ./00/00/0000000E
-rw-r-----  1 nobody nobody 1716  5月  5 13:16 ./swap.state</pre><br /><br /><br /><br />采用squid作为前端缓存服务器，对同一个URL只保留一份缓存。对于如果不同browser(是否支持压缩)如果频繁交替访问,那么squid缓存数据就要频繁更新,也就无法有效提高自身缓存数据的命中率,当然,现实环境中不支持压缩的browser毕竟是很少的情况,所以对于缓存命中率的降低很有限.<br /><br /><br />squid 的缓存机制在这方面就没有apache的缓存机制的健壮。但是apache 的缓存方式会占用较多磁盘空间。squid所提供的功能远强大于apache的缓存功能.<br /><br />无论采用何种方式的缓存,结合大家应用的差异各自的特点.选择合适自己的缓存方案方式就好.
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/189691#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 05 May 2008 13:59:47 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/189691</link>
        <guid>http://masterkey.javaeye.com/blog/189691</guid>
      </item>
      <item>
        <title>about Cache-Control </title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/189473" style="color:red;">http://masterkey.javaeye.com/blog/189473</a>&nbsp;
          发表时间: 2008年05月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 看到一篇关于Cache-Control的文章，尽管是2002年的文章，还是不错的，算是记录以下吧，赫赫！ 详细的阐述了Cache-Control的各个属性及用法，以及HTTP/1.0中仅支持的"Pragma: no-cache " 等价于HTTP/1.1"<span style="font-family: Courier New;">Cache-Control : private",更多的大家自己看吧。</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Any valid HTTP headers can be put in these files. This provides another way to apply the Expires header, and it's a way to add the Cache-Control headers. The relevant Cache-Control headers are: </p>
<dl><dt><code>Cache-Control : max-age = [delta-seconds]</code></dt><dd>Modifies the expiration mechanism, overriding the Expires header. Max-age implies Cache-Control : public.</dd><dt><code>Cache-Control : public</code></dt><dd>Indicates that the object may be stored in a cache. This is the default.</dd><dt><code>Cache-Control : private</code></dt><dt><code>Cache-Control : private = [field-name]</code></dt><dd>Indicates that the object (or specified field) must not be stored in a shared cache and is intended for a single user. It may be stored in a private cache.</dd><dt><code>Cache-Control : no-cache</code></dt><dt><code>Cache-Control : no-cache = [field-name]</code></dt><dd>Indicates that the object (or specified field) may be cached, but may not be served to a client unless revalidated with the origin server.</dd><dt><code>Cache-Control : no-store</code></dt><dd>Indicates that the item must not be stored in nonvolatile storage, and should be removed as soon as possible from volatile storage.</dd><dt><code>Cache-Control : no-transform</code></dt><dd>Proxies may convert data from one storage system to another. This directive indicates that (most of) the response must not be transformed. (The RFC allows for transformation of some fields, even with this header present.)</dd><dt><code>Cache-Control : must-revalidate</code></dt><dt><code>Cache-Control : proxy-revalidate</code></dt><dd>Forces the proxy to revalidate the page even if the client will accept a stale response. Read the RFC before using these headers, there are restrictions on their use.</dd></dl>
<h3>Caveats and gotchas</h3>
<ul>
<li>
<p>HTTP/1.0 has minimal cache control and only understands the Pragma: no-cache header. Caches using HTTP/1.0 will ignore the Expires and Cache-Control headers.</p>
</li>
<li>
<p>None of the Cache-Control directives ensure privacy or security of data. The directives "private" and "no-store" assist in privacy and security, but they are not intended to substitute for authentication and encryption.</p>
</li>
<li>
<p>This article is not a substitute for the RFC. If your are implementing the Cache-Control headers, do read the RFC for a detailed description of what each header means and what the limits are.</p>
</li>
</ul>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/189473#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 04 May 2008 18:09:33 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/189473</link>
        <guid>http://masterkey.javaeye.com/blog/189473</guid>
      </item>
      <item>
        <title>nginx-0.6.30</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/189070" style="color:red;">http://masterkey.javaeye.com/blog/189070</a>&nbsp;
          发表时间: 2008年05月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一直关注着nginx,最近其作者进行了更新。<br /><br />Changes with nginx 0.6.30                                        29 Apr 2008<br /><br />   *) Change: now if an "include" directive pattern does not match any<br />      file, then nginx does not issue an error.<br /><br />   *) Feature: now the time in directives may be specified without spaces,<br />      for example, "1h50m".<br /><br />   *) Bugfix: memory leaks if the "ssl_verify_client" directive was on.<br />      Thanks to Chavelle Vincent.<br /><br />   *) Bugfix: the "sub_filter" directive might set text to change into<br />      output.<br /><br />   *) Bugfix: the "error_page" directive did not take into account<br />      arguments in redirected URI.<br /><br />   *) Bugfix: now nginx always opens files in binary mode under Cygwin.<br /><br />   *) Bugfix: nginx could not be built on OpenBSD; bug appeared in 0.6.15.
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/189070#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 03 May 2008 16:35:20 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/189070</link>
        <guid>http://masterkey.javaeye.com/blog/189070</guid>
      </item>
      <item>
        <title>Memcached 作为Hibernate的二级缓存</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/186304" style="color:red;">http://masterkey.javaeye.com/blog/186304</a>&nbsp;
          发表时间: 2008年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          hibernate的缓存机制是其成为主流持久层霸主地位的重要组成部分。二级缓存是SessionFactory级别的全局缓存,可以通过配置文件的hibernate.cache.provider_class 进行指定。<br />目前Hiberante 的二级缓存实现方式：<br /><br /><pre name="code" class="java">
1.EhCache
2,Hashtable
3.JndiBoundTreeCache
4.NoCache
5.OptimisticTreeCache
6.OSCache
7.TreeCache
8.SwarmCache
</pre><br /><br />大致分为上述8种缓存方案的实现，主要分为内存和文件两种方式进行存储。<br /><br />hibernate的二级缓存默认是不开启的，就是采用NoCacheProvider<br /><br /><pre name="code" class="java">
public static final String DEF_CACHE_PROVIDER = NoCacheProvider.class.getName();
</pre><br /><br />就提出较大的设想，采用Memcached作为hibernate的二级缓存存储方式。采用Memcached作为Hibernate的二级缓存具有良好的分布式特性。<br /><br />多台基于Hiberante进行不部署部署，可以共享二级缓存，是不是很爽，赫赫！<br /><br />在这里我们就采用Memcached作为hibernate的二级缓存。主要实现Hibernate的两个接口： org.hibernate.cache.Cache,org.hibernate.cache.CacheProvider,实现我们自己的方法。在这里，我们采用<br /><br />如下代码只给出了关键思路和主要方法，一些异常，日志，属性文件操作等非关键代码没有加，算是一个Demo code吧。<br />下面定义:MemcachedCache ,<br /><br /><pre name="code" class="java">
package xxxx.memcached;

import java.util.Map;
import java.util.Properties;

import org.hibernate.cache.Cache;
import org.hibernate.cache.CacheException;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
/*
 * Copyright By C.F @http://masterkey.javaeye.com
 * hibernate with Memcached Cache
 * Memcached 1.2.x ,java_memcached from http://www.whalin.com/memcached/
 * demo code 
 */
public class MemCachedCache implements Cache {
	private MemCachedClient cacheClient;
	private String _regionName;
	public MemCachedCache(String regionName, Properties properties)
	{
		_regionName = regionName;
		//serverlist = cache1.int.meetup.com:12345;cache0.int.meetup.com:12345
		String servers =(String)(properties.get("serverlist"));
		String[] serverlist = servers.split(";"); 
		// initialize the pool for memcache servers
		SockIOPool pool = SockIOPool.getInstance();

		pool.setServers( serverlist );
		
		pool.setInitConn(Integer.parseInt((String)properties.get("InitConn")));
		pool.setMinConn(Integer.parseInt((String)properties.get("MinConn")));
		pool.setMaxConn(Integer.parseInt((String)properties.get("MaxConn")));
		pool.setMaintSleep(Integer.parseInt((String)properties.get("MaintSleep")));

		pool.setNagle(Boolean.parseBoolean((String)properties.get("Nagle")));
		pool.initialize();	


		
	}
	public void clear() throws CacheException {
		// TODO Auto-generated method stub
		
	}

	public void destroy() throws CacheException {
		// TODO Auto-generated method stub
		
	}

	public Object get(Object key) throws CacheException {
		// TODO Auto-generated method stub

		return cacheClient.get(toString(key));
	}

	public long getElementCountInMemory() {
		// TODO Auto-generated method stub
		return 0;
	}

	public long getElementCountOnDisk() {
		// TODO Auto-generated method stub
		return 0;
	}

	public String getRegionName() {
		// TODO Auto-generated method stub
		return _regionName;
	}

	public long getSizeInMemory() {
		// TODO Auto-generated method stub
		return 0;
	}

	public int getTimeout() {
		// TODO Auto-generated method stub
		return 0;
	}

	public void lock(Object key) throws CacheException {
		// TODO Auto-generated method stub
		
	}

	public long nextTimestamp() {
		// TODO Auto-generated method stub
		return 0;
	}

	public void put(Object key, Object value) throws CacheException {
		// TODO Auto-generated method stub
		cacheClient.set(toString(key), value);
		
	}

	public Object read(Object key) throws CacheException {
		// TODO Auto-generated method stub
		return get(key);
	}

	public void remove(Object key) throws CacheException {
		// TODO Auto-generated method stub
		cacheClient.delete(toString(key));
		
	}

	public Map toMap() {
		// TODO Auto-generated method stub
		return null;
	}

	public void unlock(Object key) throws CacheException {
		// TODO Auto-generated method stub
		
	}

	public void update(Object key, Object value) throws CacheException {
		// TODO Auto-generated method stub
		cacheClient.replace(toString(key), value);
	}
	public String toString(Object key)
	{
		return _regionName+(String)key;
	}


}</pre> <br /><br />接着我们需要实现MemcachedCacheProvider<br /><pre name="code" class="java">package xxxx.memcached;

import java.util.Properties;

import org.hibernate.cache.Cache;
import org.hibernate.cache.CacheException;
import org.hibernate.cache.CacheProvider;
import org.hibernate.cache.Timestamper;

import com.danga.MemCached.SockIOPool;

/*
 * Copyright By C.F @http://masterkey.javaeye.com
 * hibernate with Memcached Cache
 * Memcached 1.2.x ,java_memcached from http://www.whalin.com/memcached/
 * demo code 
 */
public class MemCachedProvider implements CacheProvider{
    private SockIOPool pool;
    private MemCachedCache memcachedCache = null;
	public Cache buildCache(String regionName, Properties properties)
			throws CacheException {
		// TODO Auto-generated method stub

		return new MemCachedCache(regionName,properties);
	}

	public boolean isMinimalPutsEnabledByDefault() {
		// TODO Auto-generated method stub
		return false;
	}

	public long nextTimestamp() {
		// TODO Auto-generated method stub
		return Timestamper.next();
	}

	public void start(Properties properties) throws CacheException {
		// TODO Auto-generated method stub
		
	}

	public void stop() {
		// TODO Auto-generated method stub
        if(null != pool)
            pool.shutDown();


    }

}</pre><br /><br />上述思路和代码希望能够起到抛砖引玉作用。
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/186304#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Apr 2008 11:31:29 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/186304</link>
        <guid>http://masterkey.javaeye.com/blog/186304</guid>
      </item>
      <item>
        <title>ZeroC ICE之旅------负载均衡及容错</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/185081" style="color:red;">http://masterkey.javaeye.com/blog/185081</a>&nbsp;
          发表时间: 2008年04月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Zero ICE我们已经掌握其基本运行原理。下面我们主要介绍一下ICe的多端口邦定的问题。<br />ICE使用TCP/IP 和UDP协议，以及基于TCP/IP之上的SSL协议。SSL协议可以充分保障Server/Client数据传输的加密安全性问题。<br />在这里，Server如何在同一台主机监听多个端口。<br /><br /><br />关于TCP/IP还是UDP还是SSL协议的选择，还是要看具有应用的要求，通常情况下TCP/IP协议的ICE应用已经足够了。<br /><br />在同一个主机主机上，ICE服务支持多端口的监听。<br /><br />服务端注册： tcp -h host -p port1:tcp -h host -p port2形式，<br /><br />例如：<br /><br />IP：172.17.12.101，需要在10001和10000同时监听。<br /><br />就可以写成:<br /><br />tcp -h 172.17.12.101 -p 10000:tcp -h 172.17.12.101 -p 10001<br /><br /><br />赫赫是不是很简单，运行之后，服务就监听于10000和10001端口，请注意：避免其他应用相冲突。<br /><br /><br />客户端连接可以采用如下3种形式：<br /><br />1. tcp -h 172.17.12.101 -p 10000 <br />2. tcp -h 172.17.12.101 -p 10001<br />3. tcp -h 172.17.12.101 -p 10000:tcp -h 172.17.12.101 -p 100001<br /><br />是不是很爽。<br /><br />无论Server监听在多个端口，还是只有唯一的一个Server在工作，<br /><br />对于Client较多的应用或负载要求很高的情况下，我们可以把Server程序运行于多台主机之上。通过集群方式合理有效的化解来自Client的压力。<br /><br />例如:<br /><br />ServerA		172.17.12.101		tcp -h 172.17.12.101 -p 10000<br />ServerB		172.17.12.102		tcp -h 172.17.12.102 -p 10000<br />ServerC		172.17.12.103		tcp -h 172.17.12.103 -p 10000<br /><br /><br />Client可以如下的连接方式:<br />tcp -h 172.17.12.101 -p 10000:tcp -h 172.17.12.102 -p 10000:tcp -h 172.17.12.103 -p 10000<br /><br />或是<br />tcp -h 172.17.12.101 -p 10000:tcp -h 172.17.12.102 -p 10000<br /><br />等多种情况，可以根据应用的具体要求合理有效的构造所需连接主机的字符串。<br /><br /><br />这种连接方式是不是很cool。<br /><br />其实这种连接方式可以有效地利用ICE提供的load balancing功能,把Client的每个请求合理的分配到每个Server。从而有效地避免了Client大量请求对同一台Server的巨大压力。<br /><br /><br />ICE的load balancing主要采用round-robin算法,round-robin是一种非常有效的负载均衡算法.<br /><br /><br /><br />大家会问了,如果某个Server如果宕机,那么这个Client还能正常工作么?<br /><br />    这个问题问得好,其实ICE自身提供一种极其强大容错技术功能。<br />    具体体现在如果当某个Server(假设是ServerA)宕机之后,来自Client的请求分配到ServerA服务器上,Client会自动记录ServerA失效状态,会把请求再分配给可正常工作的Server(ServerB,ServerC),对于用户的每次请求都能分配到正常的服务主机上(除非A,B,C都同时宕机).当ServerA回复正常之后,Client会自动感知ServerA工作状态.Client的请求又可以有效地分配到上述A,B,C主机上.这一切对于开发者都是透明的.<br /><br />ICE所提供的集群功能和容错功能是极其强大的.<br /><br /><br /><br />   Client状态感知的变化和更新完全不需要Client重新启动。
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/185081#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 21 Apr 2008 17:13:29 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/185081</link>
        <guid>http://masterkey.javaeye.com/blog/185081</guid>
      </item>
      <item>
        <title>ZeroC ICE之旅------Slice</title>
        <author>masterkey</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://masterkey.javaeye.com">masterkey</a>&nbsp;
          链接：<a href="http://masterkey.javaeye.com/blog/184064" style="color:red;">http://masterkey.javaeye.com/blog/184064</a>&nbsp;
          发表时间: 2008年04月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Slice是在ICE所特有的特殊语言，ICE 提供基于Ice语言的多语言映射工具。Slice主要针对程序所涉及到的接口和类型进行定义。不涉及到具体实现和具体语言的特征。<br />   既然ICE支持跨语言的调用，那么是不是Slice支持每种的特有数据类型呢？<br />   当然不是，ICE只是保留各种具体语言数据类型的最小交集。<br />提供：<br /><pre name="code" class="java">
1.bool (false or true,>=1bit)
2.byte (-128-127@,>=8bits)
3.short (-2^15 to 2^15-1,>=16bits)
4.int (-2^31 to 2^31-1,>=32bits)
5.long (-2^63 to 2^63-1,>=64bits)
6.float (IEEE single-precision,>=32bits)
7.double (IEEE double-precision,>=64bits)
8.string (All Unicode characters, excluding ,the character with all bits zero.)
</pre><br /><br />string 采用Unicode编码，具有很好的国际化语言支持。<br /><br />下面主要在介绍一下Slice的特性和约束：<br />1. Slice文件必须以.ice结尾，其他结尾方案的文件会被编译器拒绝。<br />2. Slice 文件格式实际就是text文本描述，由于Slice形式自由，可以用任何文本编辑器进行编辑。<br />3. Slice 支持#ifndef,#define,#endif,#include<br />例如：<br /><pre name="code" class="java">
// File Clock.ice
#ifndef _CLOCK_ICE
#define _CLOCK_ICE
// #include directives here...
// Definitions here...
#endif _CLOCK_ICE
</pre><br />在include 要避免使用双引号"",以及"\",而要使用"/"<br />例如:<br />#include "Clock.ice" // 不推荐采用；<br />#include &lt;SliceDefs/Clock.ice> // 正确<br />#include &lt;SliceDefs\Clock.ice> // 非法<br />4.Slice 中文件的结构,模块，接口，类型出现的顺序，，可以按照你的喜好而自由定义。<br />5.Slice 的词法规则很多来源于C++和Java，只有少量的差异。<br />6.可以采用c++的注释规则。// 或 /* xxx */<br />7.Slice 的关键词需要区分大小写：<br />关键词：<br /><pre name="code" class="java">
bool		enum		implements		module		struct
byte		exception	int			Object		throws
class		extends		interface		out		true
const		false		local			sequence	void
dictionary	float		LocalObject		short
double		idempotent	long			string</pre>8.在接口定义的时候也避免使用非Slice关键字，但是C++ 或 Java关键字的标识符。<br /><br />例如:switch<br /><br />9.Ice保留了所有以"ice"作为开始标识符。保留以"Helper","Holder","Prx","Ptr"结尾的标识符。所以大家定义的时候最好避免一些不必要的麻烦。<br /><br />10.Ice可以通过module嵌套的方式，类似于c++的namespace和java的包的概念。<br /><br /><br />11.除了刚才提到的Slice支持的基础类型外，还支持用户自定义类型：enumerations, structures, sequences, and dictionaries.<br /><br />enumerations:枚举就不要介绍了，采用C++的语法形式<br />enum Fruit { Apple, Pear, Orange };<br /><br />Structures:结构，也是采用C++的语法形式，避免，结构中定义结构<br /><pre name="code" class="java">合法：
struct TimeOfDay {
short hour; // 0 - 23
short minute; // 0 - 59
short second; // 0 - 59
};
无效：
struct TwoPoints {
struct Point { // Illegal!
short x;
short y;
};
Point coord1;
Point coord2;
};</pre><br />sequence:序列号类型，映射到java采用的数组方式实现，而不是所谓的集合容器类型对象存储。映射到C++中则采用STL容器存储。<br />sequence&lt;int> values;<br />dictionary:字典类型,映射到java采用Map 进行存储,映射到C++采用map进行存储.<br />dictionary&lt;int,string> myValues;<br />12.常量定义可以直接使用,但常量的定义必须是基本类型或枚举类型.定义形式也是采用C++定义方式.<br />13.方法的定义,形式类型java的方法定义,方法返回可以使void或对象类型.<br />14.Slice支持方法异常的定义,以及异常的继承.关于异常机制,我想java开发者可能更加熟悉,<br />例如:<br /><pre name="code" class="java">exception Error {}; // Empty exceptions are legal
exception RangeError {
TimeOfDay errorTime;
TimeOfDay minTime;
TimeOfDay maxTime;
};
interface Clock {
idempotent TimeOfDay getTime();
idempotent void setTime(TimeOfDay time)
throws RangeError, Error;
};</pre><br />Ice的错误机制也是异常强大,吸取了很多Java关于异常机制的特点.<br /><br /><img src="http://219.232.224.175/forum/lybbs/images/exception.jpg" /><br />Slice还包括很多良好的特性,在这里就不一一列举,对于支持自定义类型,基本类型,异常支持,对于一般的网络通讯应用已经足够了,更多Slice语言的介绍参阅其帮助.<br /><br />Ice为我们提供了强大而又丰富的Slice,可以利用Slice,结合我们应用的特点，定义间接的Slice描述。<br /><br />btw:<br /><br />    虽然Slice提供给我们丰富的功能和特性,在此我还是建议大家尽量采用基本类型和非异常机制.这样会对系统性能会带有一定的帮助。<br />    另外接口的定义我想大家能够保持KISS(Keep it It Simple)设计原则，会使我们的应用看起来更美丽。<br />    不要过度的使用Slice,否则会给我们带来无尽的烦恼。<br /><br /><br />ZeroC ICE之旅------集群和容错<br /><a href="http://masterkey.javaeye.com/blog/185081" target="_blank">http://masterkey.javaeye.com/blog/185081</a>
          <br/>
          <span style="color:red;">
            <a href="http://masterkey.javaeye.com/blog/184064#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 18 Apr 2008 13:10:35 +0800</pubDate>
        <link>http://masterkey.javaeye.com/blog/184064</link>
        <guid>http://masterkey.javaeye.com/blog/184064</guid>
      </item>
  </channel>
</rss>