<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>飒然的天空</title>
    <description>一个学生，正在学习的路上越走越远，希望可以成功！</description>
    <link>http://superhj1987.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>宝贝，开心啊！</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/216612" style="color:red;">http://superhj1987.javaeye.com/blog/216612</a>&nbsp;
          发表时间: 2008年07月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p><span style="font-size: x-large;"><strong><span style="color: #ff0000;">宝贝，你开心是我一生的愿望！</span>
</strong>
</span>
</p>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/216612#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 19 Jul 2008 23:18:55 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/216612</link>
        <guid>http://superhj1987.javaeye.com/blog/216612</guid>
      </item>
      <item>
        <title>一百部好看的校园喜剧片推荐</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/215644" style="color:red;">http://superhj1987.javaeye.com/blog/215644</a>&nbsp;
          发表时间: 2008年07月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          校内网的一篇帖子所推荐的一百部校园电影，其中个人超级喜欢林赛罗汉所演校园剧！<br />1,魔法灰姑娘〔超级推荐〕 （安妮海瑟薇主演）<br /><br />“Ella Enchanted ”<br /><br />2,贱女孩〔超级推荐〕（林赛罗汉主演）<br /><br />“Mean Girls”<br /><br />3,灰姑娘的玻璃手机〔超级推荐〕<br /><br />“A Cinderella Story ”<br /><br />4,美人鱼〔超级推荐〕 （里面音乐也很好听）<br /><br />Mermaid？。。。这个没看过还真不知道。。。。<br /><br />5,舞出我人生〔超级推荐〕<br /><br />“Step Up”<br /><br />6,录取通知书<br /><br />“Accepted”<br /><br />7,水瓶座女孩<br /><br />“What A Girl Wants”<br /><br />8,倒霉爱神 （2006林赛罗汉主演）<br /><br />“Just My Luck”<br /><br />9,儿女一箩筐<br /><br />“Cheaper by the Dozen”<br /><br />10,冰雪公主〔超级推荐〕<br /><br />“Ice Princess ”<br /><br />11,我的朋友是明星〔超级推荐〕<br /><br />“Popstar”<br /><br />12,辣妈辣妹〔超级推荐〕 （林赛罗汉主演）<br /><br />“Freaky Friday ”<br /><br />13,物质女孩〔超级推荐〕<br /><br />“Material Girls ”<br /><br />14,疯狂金龟车 （林赛罗汉主演）<br /><br />“Fully Loaded”<br /><br />15,平民天后〔超级推荐〕<br /><br />“The Lizzie McGuire Movie ”<br /><br />16,公主日记(不用说勒)〔超级推荐〕（还有第二部哟！）<br /><br />“The Princess Diary”<br /><br />17,歌舞青春〔超级推荐〕[很热的电影！]（Ⅰ和Ⅱ都喜欢）<br /><br />“High School Musical”<br /><br />18,律政俏佳人<br /><br />“Legally Blonde”<br /><br />19,麻辣宝贝〔超级推荐〕<br /><br />“Uptown Girls”<br /><br />20,恋爱刺客<br /><br />“John Tucker Must Die ”<br /><br />21,美少女啦啦队〔超级推荐〕<br /><br />“Bring It On”<br /><br />22,12月男孩〔超级推荐〕 （哈利波特演的哟）<br /><br />“December Boys ”<br /><br />23,足球尤物<br /><br />“She's the Man ”<br /><br />24,魔法双星<br /><br />“Twitches”<br /><br />25,超完美男人〔超级推荐〕<br /><br />“The Perfect Man”<br /><br />25,劲歌飞扬〔超级推荐〕<br /><br />“Raise Your Voice”<br /><br />26,纽约时刻<br /><br />“New York Minute”<br /><br />27,奶牛美女<br /><br />“Cow Belles ”<br /><br />28,穿PRADA的恶魔〔超级推荐〕<br /><br />“The Devil Wears Prada”<br /><br />29,天生一对<br /><br />“The Parent Trap”<br /><br />30,高校天后〔超级推荐〕<br /><br />“Confessions of a Teenage Drama Queen ”<br /><br />31,像乔丹一样<br /><br />“Like Mike ”<br /><br />32,牛仔裤的夏天〔超级推荐超感人～〕<br /><br />“The Sisterhood Of The Traveling Pants”<br /><br />33,初恋的回忆〔超级推荐 欣慰～〕<br /><br />“A Walk To Remember”<br /><br />34,甜心辣舞〔超级推荐〕<br /><br />35,花豹美眉<br /><br />36,女兵报道<br /><br />37,女生向前翻〔超级推荐 很立志！〕<br /><br />38,小姐好辣<br /><br />39,欧洲任我行<br /><br />40,留级之王<br /><br />41,风云才女(希尔顿酒店继承人之一尼克•希尔顿首部主打影片！这是一部有关大学女生校园生活的喜剧，影片描述大学校园里一群正处于青春叛逆期、蠢蠢欲动的特权阶层少男少女平日里生活的点点滴滴…… 有点点SEX)〔超级推荐I LOVE HILTON SISTERS〕<br /><br />42,谁领风骚〔超级推荐 女生的可怕和可爱〕<br /><br />43,SAVED<br /><br />44,疯狂有理<br /><br />45,初露锋芒<br /><br />46,美丽坏宝贝〔超级推荐(很有教育意义)〕<br /><br />47, 新欢乐满堂<br /><br />48,几乎正常<br /><br />49,总统千金欧游记<br /><br />50,辣妹保镖<br /><br />51,我爱猫头鹰<br /><br />52,朋友一场<br /><br />53,偶像有约<br /><br />54,彻夜狂欢<br /><br />55,窈窕美眉<br /><br />56,第1女儿〔超级推荐〕<br /><br />57,被拯救者<br /><br />58,对此承诺〔超级推荐〕<br /><br />59,魔法保姆<br /><br />60.对面恶女看过来<br /><br />61,变装拍档〔超级推荐〕<br /><br />62,虚拟偶像<br /><br />63,新丁驾到<br /><br />64,怪女孩出列〔超级推荐〕<br /><br />65,一吻定江山<br /><br />66.篮球兄弟<br /><br />67,流行教母<br /><br />68,魅力四射<br /><br />69,美国甜心<br /><br />70,超完美夺分〔超级推荐〕<br /><br />80——86美国派1——6<br /><br />87，小王子（韩）<br /><br />88，不设防都市（韩）<br /><br />89，科洛弗档案<br /><br />90，十诫<br /><br />91.恋爱假期（急速推荐）<br /><br />92.乔治亚法则（林赛罗汉）<br /><br />93.美女与丑姑（风流女帕里斯希尔顿新作）<br /><br />94.附注我爱你（新片！唯美爱情）<br /><br />95.珍妮朱诺（韩国，有关怀孕少女和纯情少男的）<br /><br />96-100惊声尖笑1-4（美国超级讽刺好莱坞大片大搞笑电影，极力推荐）
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/215644#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 17 Jul 2008 09:40:09 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/215644</link>
        <guid>http://superhj1987.javaeye.com/blog/215644</guid>
      </item>
      <item>
        <title>给FireFox加速</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/214777" style="color:red;">http://superhj1987.javaeye.com/blog/214777</a>&nbsp;
          发表时间: 2008年07月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="postTitle"><a href="http://blog.donews.com/bluez/archive/2004/10/21/142507.aspx"></a>
</div>
<div class="postText">1. 打开新的FireFox窗口，在地址栏敲入：about:config<br />
2.&nbsp; 找到如下首选项名称，如果没有就新建一个<br />

<table cellspacing="0" bordercolor="#000080" border="1" id="table1" style="border-collapse: collapse;">
<tbody>
<tr>
<td bordercolor="#000080" bgcolor="#000080" style="color: #ffffff;">首选项名称</td>
<td bordercolor="#000080" bgcolor="#000080" style="color: #ffffff;">状态</td>
<td bordercolor="#000080" bgcolor="#000080" style="color: #ffffff;">类型</td>
<td bordercolor="#000080" bgcolor="#000080" style="color: #ffffff;">预设值</td>
<td bordercolor="#000080" bgcolor="#000080" style="color: #ffffff;">更改值</td>
</tr>
<tr>
<td>nglayout.initialpaint.delay</td>
<td>默认</td>
<td>整数</td>
<td>250</td>
<td>0</td>
</tr>
<tr>
<td>network.http.pipelining</td>
<td>默认</td>
<td>真值</td>
<td>false</td>
<td>true</td>
</tr>
<tr>
<td>network.http.proxy.pipelining</td>
<td>默认</td>
<td>真值</td>
<td>false</td>
<td>true</td>
</tr>
<tr>
<td>network.http.pipelining.maxrequests</td>
<td>默认</td>
<td>整数</td>
<td>4</td>
<td>8</td>
</tr>
</tbody>
</table>
<br />
3.&nbsp; 重新打开FireFox，这时候会发现打开网页比修改之前要快多了。</div>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/214777#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/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/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 15 Jul 2008 08:44:39 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/214777</link>
        <guid>http://superhj1987.javaeye.com/blog/214777</guid>
      </item>
      <item>
        <title>Ubuntu下ADSL拨号</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/214721" style="color:red;">http://superhj1987.javaeye.com/blog/214721</a>&nbsp;
          发表时间: 2008年07月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>在终端输入：sudo pppoeconf 然后按照提示下去，输入上网帐号以及密码，即可。以后即可自动拨号。</p>
<p>手动拨号：sudo pon dsl-provider</p>
<p>手动断线：sudo poff</p>
<p>查询本机IP:plog</p>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/214721#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/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>Mon, 14 Jul 2008 21:49:35 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/214721</link>
        <guid>http://superhj1987.javaeye.com/blog/214721</guid>
      </item>
      <item>
        <title>近期的总结</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/214062" style="color:red;">http://superhj1987.javaeye.com/blog/214062</a>&nbsp;
          发表时间: 2008年07月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>突然记起好久没写博客了，前一阵子一直忙着期末考试，所以把很多事情都放下了。不知为何，现在我一到下学期成绩就考得高不了。大一、大二上学期轻轻松松平均分90多，下学期怎么也过不了90，很郁闷！难道夏天的我状态就不行吗，当年高考我也没发挥失常啊，看来只能怪下学期题目比较难了吧（聊以自慰）。大二下学期一开始，我就定下了目标了，好好学习，争取保研，但要掌握一门技术。学期中学了些java ee的皮毛，然后发现c语言的应用之广，于是开始重新研究c，也准备把c++好好学学。暑假的计划是用C#开发几个小项目，学会c++，掌握c，熟练java ee(主要是jsp以及struts)。然而假期一开始，难得放松，一点学习的劲头都没有，昏昏沉沉了一阵，现在决定开始实行计划了。一定要坚持住！看了看下学期的课表，那叫一个恐怖，虽然全是很不错的专业课，但课也太多了吧！哎，看来下学期我的生活将是学习、学习、学习！！</p>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/214062#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/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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 11 Jul 2008 22:20:21 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/214062</link>
        <guid>http://superhj1987.javaeye.com/blog/214062</guid>
      </item>
      <item>
        <title>山东省奥运火炬传递路线（图）</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/210969" style="color:red;">http://superhj1987.javaeye.com/blog/210969</a>&nbsp;
          发表时间: 2008年07月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<td class="newstitle" height="30">&nbsp;</td>
<p>&nbsp;</p>
<div id="NewsDisplay1_NewsTitle"><span style="font-size: x-small; color: #000000;">山东省奥运火炬传递路线（图）</span><span style="font-size: x-small;"><span style="color: #000000;">&nbsp;</span></span></div>
<td class="dd" valign="top">&nbsp;</td>
<p>&nbsp;</p>
<div id="NewsBody" style="margin-top: 5px;">
<p align="center"><span style="font-size: x-small; color: #000000;">&nbsp;<img src="http://www.sdgb.cn/pics/2008/5/22/337b9909-e7d8-4bb2-bd7c-ca253cd358de.jpg" alt="" /> </span></p>
<p align="left"><span style="font-size: x-small; color: #000000;">奥运火炬山东传递时间表：&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烟台市2008年7月23日 <br />　　威海市2008年7月23日 <br />　　青岛市2008年7月24日 <br />　　日照市2008年7月24日 <br />　　临沂市2008年7月25日 <br />　　曲阜市2008年7月25日 <br />　　泰安市2008年7月25日 <br />　　济南市2008年7月26日&nbsp; </span></p>
<p align="left"><span style="font-size: x-small;"><br /></span></p>
<span style="font-size: x-small; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp; 火炬手数量最多、火炬传递时间最长、火炬途经城市最多，在２００８北京奥运火炬境内传递过程中，山东省在我国各省、自治区和直辖市中共夺三项&ldquo;第一&rdquo;。广东省、河南省、四川省与山东省并列分享火炬手数量最多、火炬传递时间最长等荣誉，而火炬途经城市最多则由山东省独占鳌头。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 山东省体育局经过综合考虑，将烟台、威海、青岛、日照、临沂、济宁、泰安、济南等八个城市列入山东省火炬传递途经城市上报北京奥组委并得到批准。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;据记者了解，奥运火炬在山东的传递路线按照&ldquo;不折返，不重复&rdquo;的原则。 </span><span style="font-size: x-small; color: #000000;">7 月23日一早，奥运圣火将自大连空降烟台市；23日在烟台市和威海市进行各半天的传递后，火炬将于当晚抵达青岛，其间，在烟台举行早间起跑仪式，青岛举行晚间庆典活动；24日，在青岛、日照传递，在青岛举行早间起跑仪式，日照举行晚间庆典活动；25日，在临沂、曲阜和泰安传递，在临沂举行早间起跑仪式，泰安举行晚间庆典活动；26日，全天在济南传递。至此，火炬接力在我省的传递活动宣告结束。&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 我省火炬手总人数一共832人和长达4天的传递时间与河南、广东、四川并列全国第一，四省也因此分享火炬手数量最多、火炬传递时间最长的荣誉。而山东省整个火炬接力传递活动行程长达939公里，途经8座城市，在全国各省市区中是最多的。这样一来，我省就夺得了三个&ldquo;第一&rdquo;。&nbsp;<br />&nbsp;&nbsp;&nbsp; &ldquo;点燃激情，传递梦想&rdquo;，激情在齐鲁大地燃烧，梦想在这片充满希望的土地上飞扬。 </span>
<p><br /><span style="font-size: x-small; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp; 烟台：古城新韵入画来&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; 烟台是奥运火炬在我省传递的第一站。7月22日晚，奥运圣火将乘专机由大连飞抵烟台。7月23日，火炬将在烟台和威海传递。期间，将有203名火炬手参加。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 7月23日早晨，将在烟台滨海景区广场举行起跑仪式，火炬传递至烟台体育公园后，结束在烟台的传递活动，转到下一站威海。其中在烟台将传递3个小时。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 烟台的历史非常悠久，是人类最早繁衍生息的地区之一， 也是&ldquo;海上丝绸之路&rdquo;的起点， 还是中国近代工业的发祥地之一 &nbsp;。烟台随处是风景，东炮台海滨风景区即是其代表之一。景区三面临海，岸线蜿蜒、水质清澈、礁石奇异、风光旖旎，曾被世界旅游组织誉为&ldquo;可与地中海沿岸相媲美的海域&rdquo;。 </span></p>
<p><br /><span style="font-size: x-small; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp; 威海：城似园林&ldquo;名片&rdquo;多&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; 奥运火炬从烟台传递后，将沿着烟威高速公路，由专车送往威海继续传递。从成山体育广场出发，在威海将传递2个小时。晚上，还将在威海举行庆祝活动。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 威海，明洪武三十一年（1398年），为防倭寇侵扰，设威海卫，威海由此得名。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 威海拥有国家级风景名胜区两处，省级风景名胜区三处，文物保护单位51处。境内千公里海岸线上，有中国近代第一支海军的诞生地刘公岛、秦始皇东巡过的&ldquo;天尽头&rdquo;成山头、中国道教全真派发祥地圣经山等。&nbsp;<br />&nbsp;&nbsp;&nbsp; </span></p>
<p><span style="font-size: x-small; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 青岛：海上传递特色新&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; 7月24日，奥运火炬将在青岛传递6小时，将有138名火炬手亲手举起奥运火炬。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;青岛是北京奥运会的协办城市，奥运会的帆船比赛将在这里举行。青岛的传递活动从奥帆基地起跑，至青岛港结束。<br />&nbsp;&nbsp;&nbsp;&nbsp; 奥帆赛，青岛提出了打造&ldquo;海上奥运&rdquo;的口号，人们有望欣赏到别具一格的海上传递盛况。&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 奥运火炬传递还将途经青岛标志性的景点，栈桥、青岛港、东海东路、海尔路、香港东路，都与海有关。通过手手传递，人们可以充分领略到这座海滨城市的美丽与繁华，生机与活力。 </span></p>
<p><br /><span style="font-size: x-small; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp; 日照：沿海新城呈&ldquo;大作&rdquo;&nbsp; </span></p>
<p><span style="color: #000000;"><span style="font-size: x-small;">&nbsp;&nbsp;&nbsp; &nbsp;7月24日下午，奥运火炬在青岛传递后，将抵达日照。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 在日照，火炬将传递2个小时，67名火炬手参加这一站的传递活动&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 日照因&ldquo;日出初光先照&rdquo;而得名。日照具有悠久的历史，早在原始社会时期，就有人类在这里繁衍生息，创造着自己的文化，是&ldquo;龙山文化&rdquo;的重要发祥地。<br />&nbsp;&nbsp;&nbsp;&nbsp; 牛津大学出版的《世界史便览》称，公元前3500年到公元前2000年的日照两城，是亚洲最早的城市。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /></span><span style="font-size: x-small;">&nbsp;&nbsp;&nbsp;&nbsp; 济宁：孔子故里&ldquo;书香&rdquo;飘&nbsp; </span><br /></span><span style="font-size: x-small; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp; 7月25日下午，奥运火炬将由临沂传递至济宁曲阜市。在曲阜，火炬将传递1小时30分钟，50名火炬手参加。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 曲阜是春秋末期著名思想家、政治家、教育家、儒家学派创始人孔子的故乡，以其悠久的历史文明和灿烂的东方古代文化而蜚声中外。 目前，曲阜市有重点文物保护单位112处，其中国家重点文物保护单位4处。最著名的就是&ldquo;三孔&rdquo;，即被称为中国书法艺术宝库的孔庙、&ldquo;天下第一家&rdquo;的孔府、世界上最大的家族墓地孔林，这些文物保护单位还被列入了世界历史文化遗产。&nbsp;<br />&nbsp;&nbsp;&nbsp;</span><span style="font-size: x-small; color: #000000;"> <br /></span><span style="color: #000000;"><span style="font-size: x-small;">&nbsp;&nbsp;&nbsp;&nbsp; 临沂：圣火过处尽&ldquo;红色&rdquo;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; 7月24日晚，火炬将抵达临沂。7月25日，奥运火炬传递团队将在临沂人民广场举行起跑仪式，传递至凤凰广场结束。火炬接力在临沂传递2小时，72名火炬手参加。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 在临沂，奥运火炬传递路线的设计，将突出&ldquo;红色&rdquo;主题。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 临沂市是著名的革命老区。战争年代，沂蒙人民为抗击外来侵略和中国革命的胜利，作出了巨大的贡献和牺牲，10多万沂蒙优秀儿女献身疆场。车轮滚滚的支前队伍、送子送郎参军的动人场面、沂蒙红嫂的感人故事、名垂青史的孟良崮战役等，都记下了这一段光荣的革命业绩。&nbsp;<br />&nbsp;&nbsp; <br /></span><span style="font-size: x-small;">&nbsp;&nbsp;&nbsp;&nbsp; 泰安：火炬将登泰山顶&nbsp; </span><br /></span><span style="color: #000000;"><span style="font-size: x-small;">&nbsp;&nbsp;&nbsp;&nbsp; 7月25日，奥运火炬将由曲阜传递到泰安。晚上抵达泰山广场，举行庆祝活动。在这里火炬传递2个小时，69名火炬手参加。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这一传递过程中，最激动人心之处，莫过于奥运火炬将登上泰山极顶了。<br />&nbsp;&nbsp;&nbsp;&nbsp; 泰山又称东岳，居五岳之首。&nbsp;泰山最引人入胜的地方，就是泰山是中国历史上惟一受过皇帝封禅的名山。</span><span style="font-size: x-small;"> </span></span></p>
<p><span style="font-size: x-small; color: #000000;">&nbsp;&nbsp; &nbsp; 走进泰山，就如同走进文化，走进历史。火炬传递到这里，登临泰山、一览众山小的同时，同样也能领略到博大精深的中华文化风采。 </span></p>
<p><br /><span style="font-size: x-small; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp; 济南：泉湖胜景展新姿&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; 7月26日，奥运火炬将在济南传递。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 当日，在泉城广场举行起跑仪式，晚上到达省体育馆广场，举行晚间庆典。233名火炬手将参加在济南的传递。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 火炬在济南的传递时间达7小时30分钟，所以这座城市有代表性的内容有着充分的机会展现给世人。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 济南有&ldquo;泉城&rdquo;美誊，因泉而天下闻名。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;家家泉水，户户垂杨。&nbsp;济南有七十二名泉，趵突泉、黑虎泉、珍珠泉、柳絮泉、金线泉等，只看到这些名字，就足以引人无限遐思和神往。趵突泉，更有&ldquo;天下第一泉&rdquo;之称，&ldquo;泉源上奋，水涌若轮&rdquo;，每年都吸引着无数的中外游客前来一睹泉水喷涌的奇景。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;跟随着奥运火炬传递的脚步，您将有机会领略泉城最美的景色。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;2009年，山东将承办第十一届全运会，济南是全运会的主会场。如今，场馆设施建设正在全面推进，漂亮的奥体中心建筑已经展现出优美的轮廓。 </span></p>
</div>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/210969#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/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>Thu, 03 Jul 2008 11:30:46 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/210969</link>
        <guid>http://superhj1987.javaeye.com/blog/210969</guid>
      </item>
      <item>
        <title>湖人走到这步已经很让球迷们满足了，明年才是我们的时代！</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/205074" style="color:red;">http://superhj1987.javaeye.com/blog/205074</a>&nbsp;
          发表时间: 2008年06月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="text-article">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 赛季开始，谁会想到湖人会拿下西部第一？谁会想到科比会拿下mvp?近几年的常规赛mvp除了科比有谁进了总决赛? 科黑们说科比抱了加索尔大腿。那你们怎么不说当年的加内特抱了卡塞尔、斯普瑞威尔的大腿？你们怎么不说纳什抱了小斯和马里昂的大腿？你们口口声声当年的三连冠没科比多少功劳，那只能说明你们的愚昧，有空翻翻当年总决赛的记录去！当然我相信某些科黑只是伪球迷，他们说不定不知道谁是斯普瑞威尔，不知道湖人什么时候三连冠呢。今年输掉总决赛，完全是实力的差距，没什么说的。明年随着拜纳姆的回归，我相信会是湖人最强大的一年。今天很郁闷！不过，加内特的确是好样的！他该拿总冠军了，希望他能把总决赛mvp揽入怀中！加索尔、奥多姆你们也是好样的，你们的实力怎样也不能与加内特相提并论！但你们付出了努力！进了总决赛的都是好样的！要知道很多人虽然拿了mvp，但连总决赛都不知道什么样呢，甚至有些人连季后赛第二轮都未曾涉入呢。湖人，走好！老大，奥运会再看你的精彩表演！</p>
<p align="center"><a href="http://fm501.img.xiaonei.com/blog/20080618/11/42/A057186756090HEI.jpg" target="_blank"><img src="http://fm501.img.xiaonei.com/blog/20080618/11/42/A057186756090HEI.jpg" alt="U2686P6T12D3731436F44DT20080618092936.jpg" /></a></p>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/205074#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 18 Jun 2008 11:45:51 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/205074</link>
        <guid>http://superhj1987.javaeye.com/blog/205074</guid>
      </item>
      <item>
        <title>Android学习1</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/204117" style="color:red;">http://superhj1987.javaeye.com/blog/204117</a>&nbsp;
          发表时间: 2008年06月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>开始学习关于android的开发。按照视频上的步骤写出的拨号程序结果硬是编译错误！后来才发现是android sdk升级的缘故！结果查阅 资料终于解决了此问题！</p>
<p>/*HelloAndroid.java*/</p>
<p>package com.google.android.hello;</p>
<p>import android.app.ListActivity;<br />import android.content.ContentUris;<br />import android.content.Intent;<br />import android.database.Cursor;<br />import android.os.Bundle;<br />import android.provider.Contacts.People;<br />import android.view.View;<br />import android.widget.ListAdapter;<br />import android.widget.ListView;<br />import android.widget.SimpleCursorAdapter;</p>
<p>public class HelloAndroid extends ListActivity {<br />&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; private ListAdapter mAdapter;<br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** Called when the activity is first created. */<br />&nbsp;&nbsp;&nbsp; @Override<br />&nbsp;&nbsp;&nbsp; public void onCreate(Bundle icicle) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super.onCreate(icicle);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cursor c = getContentResolver().query(People.CONTENT_URI, null, null, null, null);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; startManagingCursor(c);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String[] columns = new String[]{People.NAME}; // Comment<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int[] names = new int[]{R.id.row_entry};<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mAdapter = new SimpleCursorAdapter(this, R.layout.main, c, columns, names);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.setListAdapter(mAdapter);<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; @Override<br />&nbsp;&nbsp;&nbsp; protected void onListItemClick(ListView l, View v, int position, long id){<br />&nbsp;&nbsp;&nbsp;&nbsp; super.onListItemClick(l, v, position, id);<br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; Intent i = new Intent(Intent.CALL_ACTION);<br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; Cursor c = (Cursor) mAdapter.getItem(position);<br />&nbsp;&nbsp;&nbsp;&nbsp; long phoneID = c.getLong(c.getColumnIndex(People.PREFERRED_PHONE_ID));<br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; i.setData(ContentUris.withAppendedId(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android.provider.Contacts.Phones.CONTENT_URI, phoneID));<br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; this.startActivity(i);<br />&nbsp;&nbsp;&nbsp; }<br />}&nbsp; </p>
<p>/*main.xml*/</p>
<p>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />&lt;LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />&nbsp;&nbsp;&nbsp; android:orientation="horizontal"<br />&nbsp;&nbsp;&nbsp; android:layout_width="fill_parent"<br />&nbsp;&nbsp;&nbsp; android:layout_height="wrap_content"<br />&nbsp;&nbsp;&nbsp; &gt;<br />&lt;TextView&nbsp; <br />&nbsp;&nbsp;&nbsp; android:layout_width="wrap_content" <br />&nbsp;&nbsp;&nbsp; android:layout_height="wrap_content" <br />&nbsp;&nbsp;&nbsp; android:text="Name:"<br />&nbsp;&nbsp;&nbsp; /&gt;<br />&lt;TextView&nbsp; android:id="@+id/row_entry"<br />&nbsp;&nbsp;&nbsp; android:layout_width="wrap_content" <br />&nbsp;&nbsp;&nbsp; android:layout_height="wrap_content" <br />&nbsp;&nbsp;&nbsp; /&gt;&nbsp;&nbsp;&nbsp; <br />&lt;/LinearLayout&gt;</p>
<p>/*AndroidManifest.xml*/</p>
<p>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />&lt;manifest xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />&nbsp;&nbsp;&nbsp; package="com.google.android.hello"&gt;<br />&nbsp;&nbsp;&nbsp; &lt;uses-permission android:name="android.permission.READ_CONTACTS"/&gt;<br />&nbsp;&nbsp;&nbsp; &lt;uses-permission android:name="android.permission.CALL_PHONE"/&gt;<br />&nbsp;&nbsp;&nbsp; &lt;application android:icon="@drawable/icon"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;activity android:name=".HelloAndroid" android:label="@string/app_name"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;intent-filter&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action android:name="android.intent.action.MAIN" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;category android:name="android.intent.category.LAUNCHER" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/intent-filter&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/activity&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/application&gt;<br />&lt;/manifest&gt;</p>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/204117#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jun 2008 14:03:15 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/204117</link>
        <guid>http://superhj1987.javaeye.com/blog/204117</guid>
      </item>
      <item>
        <title>湖人估计也就这样了，再打一场或两场吧。失望，但已经让人满意了！</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/202910" style="color:red;">http://superhj1987.javaeye.com/blog/202910</a>&nbsp;
          发表时间: 2008年06月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp; 今天的比赛输得太让人憋气了。明明领先20多分的结果让对手瞬间把比分追上并且反超，不过看看今天的过程确实也赢不了。科比的低迷，加索尔的软弱，奥多姆的上下半场的变脸注定了湖人的失败。刚开始的时候，看到奥多姆的神奇，以为奥多姆今天要爆发了，科比不再孤军奋战，赢应该不是问题，毕竟上半场领先了18分啊。谁想下半场一开始，奥多姆果真是奥多姆，立刻被打回原形。而加索尔是攻，攻不了加内特；守，更是直接被加内特打爆！20分的优势瞬间化为虚无。当时真的很气愤，很想大骂湖人，大骂那群废物板凳，常规赛还号称全联盟最强的板凳呢，到了季后赛，就成了短板。哎！爱之越深，恨之越深，湖人今天太让人失望了！不过，其实赛季初，谁也没想到湖人能打进总决赛，即便是加索尔的加入，也不会有人想到靠这么个球风偏软的二流球星就能进入总决赛。打到这份上，湖人已经让人满意了。不过，说实话，该赢的比赛为什么赢不了呢？比较一下凯尔特人，湖人的角色球员真的太垃圾了！常规赛一结束，我就想，如果绿军能够进总决赛，最好西部不要是湖人进去，湖人根本就不是凯尔特人的对手！如果是马刺还可以与凯尔特人抗衡呢。也许是乌鸦嘴吧，湖人就不是绿军的对手，实力有很大差距！哎，湖人们，明年再来！</p>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/202910#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/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>Fri, 13 Jun 2008 12:30:54 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/202910</link>
        <guid>http://superhj1987.javaeye.com/blog/202910</guid>
      </item>
      <item>
        <title>主流编程语言优劣考(收藏于csdn)</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/201718" style="color:red;">http://superhj1987.javaeye.com/blog/201718</a>&nbsp;
          发表时间: 2008年06月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span style="font-size: 18pt;"></span></p>
<div><span></span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">前言</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">本文的目的并非是想挑起语言之争，而是希望通过客观地分析每一种主流语言的能力，辨明其长短，让程序员能够扬长避短，有效地使用各种语言。让各种语言能够各安其位，为你更好的服务。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">程序员应当成为语言的主人，而不是语言的奴隶。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">正文</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">这里，我将比较一下几种主流编程语言：C，C++，Java，.NET，Ruby，JavaScript。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">其他主流编程语言，如Pascal,Delphi，我不太熟悉。希望熟悉的朋友能够补全对这些语言的评价。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">至于Basic，它的版本差异很大，而且能力不太全面，这里也不做评价。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">语言特性对比表</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="background: white; word-break: break-all; line-height: 150%;"><span style="color: #3366ff;"><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;C++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; .NET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Ruby&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>JavaScript</span></div>
<div style="background: white; word-break: break-all; line-height: 150%;"><span style="color: #3366ff;"><span style="font-size: 9pt; line-height: 150%;">类型</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">无类型</span><span style="font-size: 9pt; line-height: 150%;"> &nbsp; <span>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="font-size: 9pt; line-height: 150%;">强类型</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">强类型</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">强类型</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">强类型</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">强类型</span></span></div>
<div style="background: white; word-break: break-all; line-height: 150%;"><span style="color: #3366ff;"><span style="font-size: 9pt; line-height: 150%;">静态</span><span style="font-size: 9pt; line-height: 150%;">/</span><span style="font-size: 9pt; line-height: 150%;">动态</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">静态</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">静态</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">静态检验类型动态解释执行</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">动态</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">动态</span></span></div>
<div style="background: white; word-break: break-all; line-height: 150%;"><span style="color: #3366ff;"><span style="font-size: 9pt; line-height: 150%;">支持面向过程</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span></span></div>
<div style="background: white; word-break: break-all; line-height: 150%;"><span style="color: #3366ff;"><span style="font-size: 9pt; line-height: 150%;">支持基于对象</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">是</span></span></div>
<div style="background: white; word-break: break-all; line-height: 150%;"><span style="color: #3366ff;"><span style="font-size: 9pt; line-height: 150%;">支持范型</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">否</span></span></div>
<div style="background: white; word-break: break-all; line-height: 150%;"><span style="color: #3366ff;"><span style="font-size: 9pt; line-height: 150%;">支持模板</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">否</span></span></div>
<div style="background: white; word-break: break-all; line-height: 150%;"><span style="color: #3366ff;"><span style="font-size: 9pt; line-height: 150%;">支持面向对象</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">是</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; line-height: 150%;">否</span><span style="font-size: 9pt; line-height: 150%;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; </span><span style="font-size: 9pt; line-height: 150%;">否</span>&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">C语言优劣考</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">C语言由来</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">让我们先回顾一下历史。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">电脑使用CPU指令，通过寄存器，内存等物件执行计算。最早的编程，是直接使用代表CPU指令的机器码编写的。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">直接使用二进制的数据编程，当然很容易出错。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">于是，人们后来发明了一种方法，就是使用英语单词作为助记符，代表各条CPU指令。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">这就是汇编语言。现在，程序员可以使用英语单词进行编程，然后使用一个解释程序，把汇编指令翻译成机器语言，再交给计算机执行。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">1970年，UNIX操作系统的研制者丹尼斯&middot;里奇（Dennis Ritchie）和肯&middot;汤普逊（Ken Thompson）为了更好地编写操作系统，发明了C语言。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C语言比汇编语言更先进。它使用了面向过程的编程范式。同时它仍是一门十分接近汇编语言，面向机器的编程语言。适合编写操作系统和其他直接操纵硬件硬件的编程。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">面向过程编程范式</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">下面是我查到的过程式设计的定义：</span></div>
<div><span style="color: #3366ff;">过程式设计：</span></div>
<div><span style="color: #3366ff;">1、自上而下(top-down)的设计方式：是一个自顶向下，逐步求精的过程；</span></div>
<div><span style="color: #3366ff;">2、以main函数概括出整个应用程序需要做的事情，而main函数由对一系列的子函数的调用组成；</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; main</span>中的每一个子函数都可以被精炼成更小的函数。重复这个过程，即可完成一个过程式的设计；</span></div>
<div><span style="color: #3366ff;">3、特征是以函数为中心，以函数作为划分程序的基本单位，数据往往处于从属地位。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">过程式设计的优点：易于掌握与理解，符合人们的思维习惯；</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">过程式设计的缺点：</span></div>
<div><span style="color: #3366ff;">1、不能适应问题比较复杂，或者需求经常变化的情况；</span></div>
<div><span style="color: #3366ff;">2、数据与操作分离开，对数据与操作的修改变得很困难；</span></div>
<div><span style="color: #3366ff;">3、程序架构的依赖关系不合理：main函数依赖于子函数，子函数又依赖于更小的子函数；</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>而子函数往往是细节的实现，这些实现是经常变化的，造成的结构就是：</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>程序的核心逻辑依赖于外延的细节，一个细节上的小改动，会引起一系列的变动。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">我对于面向过程编程范式是这样理解的：</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">面向过程编程，就是使用函数代表处理的过程。这些函数使用的数据，要么是参数，要么是外部的数据。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">使用函数编程，这看上去很像函数式编程。但面向过程的编程范式不同于函数式编程。函数式编程的函数，一般不使用外部的数据。不维持外部的状态。这有很多优点，但也同样有了很大的局限性，不似面向过程编程这样方便。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C语言就是典型的面向过程编程语言。它通过函数抽象了过程处理。函数，就是C语言的接口。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C语言中，数据常常作为全局的变量保存起来。这样，使用C语言编程就很难保证其他代码不破坏函数依赖的数据的状态。这是C++基于对象编程范式出现的原因。这个我们稍后再说。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">我们再看看C语言对机器指令的抽象。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C语言是一门十分接近汇编语言的语言。所以有人说C语言既是一门高级语言（面向过程，函数），也是一门低级语言（面向机器，直接反映计算机的实际计算过程）。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C语言使用原生类型，数组，Struct等来表示数据。C语言中，数据在内存中的表示是十分确定的。程序员可以充分控制。如，C语言中可以使用memcpy()直接复制内存中的数据。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">现在，大多数的操作系统原生函数库，都使用C语言作为其接口。绝大多数的语言都具备与C语言函数库进行互操作的能力。</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; C</span>语言可以说是程序世界的世界语。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">C语言的优点 </span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>1，&nbsp;</span>面向过程开发，以函数为中心。简单有效。实现了简单的接口。</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>2，&nbsp;</span>面向机器，让用户可以完全的操纵机器，效率较高。</span></div>
<div style="margin-left: 18pt;"><span style="color: #3366ff;">C语言运行高效，广泛应用于各种计算领域。对于简单的任务，非常有效。&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">C语言的缺点 </span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>1，&nbsp;</span>函数无法有效控制需要的数据。不能保证外部状态不变。容易出现Bug。</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>2，&nbsp;</span>对于机器的控制太强，也就是依赖太强。由于过于强调效率，使用C语言编程时，更多的需要考虑机器，而不是问题本身。</span></div>
<div style="margin-left: 18pt;"><span style="color: #3366ff;">由于过于关注机器，而不是问题域本身，因此抽象能力不足。容易出现各种Bug。对于编写大型的程序，常常力不从心。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">C语言的使用方法</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C语言作为一种简单高效的编程语言，适用于编写简单的程序。在编程中，应该注意扬长避短，使用面向过程的编程范式，少用对机器的依赖。</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>1，&nbsp;</span>使用函数编程时，应该尽量使用函数参数传递状态，少用全局数据。因为，你无法保证全局数据不被其他代码改变。</span></div>
<div style="margin-left: 18pt;"><span style="color: #3366ff;">这样使用函数，叫作&ldquo;纯函数&rdquo;。类似于函数式编程的用法。而且，使用这种方式编程，由于不存在全局数据，在进行多线程开发时，还不需要考虑多线程问题。</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>2，&nbsp;</span>使用结构化的编程方式。不要卖弄技巧。</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>3，&nbsp;</span>函数是接口。尽量使用函数调用，而不是直接的代码。通过层层分层，分配职责，编写出短小精悍，易于维护的代码。</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>4，&nbsp;</span>尽管C语言是一种面向机器的语言。但是，我们还是应该尽量少地依赖机器。多从问题域来考虑和抽象问题。如，少用内存假设等等。因为，我们会使用很多种语言，C，C++，Java，C#等语言的很多语法类似。但是实际的表现，各个语言都是不同的。如果过分考虑C的机器特性，那么很可能会因为记错而编写出错误的代码。</span></div>
<div style="margin-left: 18pt; text-indent: -18pt;"><span style="color: #3366ff;"><span>5，&nbsp;</span>代码，首先是给人看的。顺便给机器执行！</span></div>
<div style="margin-left: 18pt;"><span style="color: #3366ff;">不要处处优化代码。只应该优化性能瓶颈。因为优化的代码，常常表示很难看懂！</span></div>
<div><span style="color: #3366ff;">6， 应该大量使用Struct组织相关的数据。在用C语言编程时，也应该树立类型和对象状态的概念。把Struct作为函数的参数传递数据。</span></div>
<div><span></span>&nbsp;</div>
<div><strong><span style="font-size: x-large; color: #3366ff;">C++语言优劣考</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">在C语言优劣考中曾经说过：C语言中，数据常常作为全局的变量保存起来。这样，使用C语言编程就很难保证其他代码不破坏函数依赖的数据的状态。这是C++基于对象编程范式出现的原因。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C++最初是作为C语言的扩展出现的，最初的名字就叫&ldquo;带类的C&rdquo;。后来，C++逐渐演化成一门独立的语言。但还是和C语言兼容。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">基于对象的编程范式</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">基于对象的编程范式，又称&ldquo;<span>抽象数据类型</span>&rdquo;（ADT）。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">面向过程的编程范式中，函数无法控制函数外的共享数据。这使面向过程的编程语言不能很好地编写大型系统。为了解决这个问题，人们发明了基于对象的编程范式。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">就是把数据和处理数据的函数都封装在一个类中。这样，共享的数据就不会再被外部的代码改变了！</span></div>
<div><span><span style="color: #3366ff;">&nbsp;&nbsp;&nbsp; </span></span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">下面是我查到的定义：</span></div>
<div><span style="color: #3366ff;">抽象数据类型（Abstract Type简称ADT）</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; ADT</span>是指抽象数据的组织和与之相关的操作。可以看作是数据的逻辑结构及其在逻辑结构上定义的操作。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">ADT的描述规范</span></div>
<div><span style="color: #3366ff;">一个ADT可描述为：</span></div>
<div><span style="color: #3366ff;">ADT ADT-Name{</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; Data://</span>数据说明</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; </span>数据元素之间逻辑关系的描述</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; Operations://</span>操作说明</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp;&nbsp; Operation1://</span>操作1，它通常可用C或C﹢﹢的函数原型来描述</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp;&nbsp; Input:</span>对输入数据的说明</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp;&nbsp; Preconditions:</span>执行本操作前系统应满足的状态//可看作初始条件</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp;&nbsp; Process:</span>对数据执行的操作</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp;&nbsp; Output:</span>对返回数据的说明</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp; &nbsp;&nbsp;Postconditions:</span>执行本操作后系统的状态//"系统"可看作某个数据结构</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; Operation2://</span>操作2</span></div>
<div><span><span style="color: #3366ff;">&nbsp;&nbsp;&nbsp; &hellip;&hellip;</span></span></div>
<div><span style="color: #3366ff;">&nbsp;}//ADT </span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">抽象数据类型可以看作是描述问题的模型，它独立于具体实现。它的优点是将数据和操作封装在一起，使得用户程序只能通过在ADT里定义的某些操作来访问其中的数据，从而实现了信息隐藏。在C﹢﹢中，我们可以用类（包括模板类）的说明来表示ADT，用类的实现来实现ADT。因此，C﹢﹢中实现的类相当于是数据的存储结构及其在存储结构上实现的对数据的操作。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">ADT和类的概念实际上反映了程序或软件设计的两层抽象：ADT相当于是在概念层（或称为抽象层）上描述问题，而类相当于是在实现层上描述问题。此外，C﹢﹢中的类只是一个由用户定义的普通类型，可用它来定义变量（称为对象或类的实例）。因此，在C﹢﹢中，最终是通过操作对象来解决实际问题的，所以我们可将该层次看作是应用层。例如，main程序就可看作是用户的应用程序。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;"><span>C++</span><span>支持多范型的开发方式：面向过程，基于对象，面向对象，模版。</span></span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;"><span>C++</span><span>和</span><span>C</span><span>语言是兼容的。因此，你完全可以使用</span><span>C++</span><span>编译系统编写</span><span>C</span><span>语言的程序，因此，支持面向过程编程是很自然的。</span></span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;"><span>但是，使用面向过程编程，还能说是在使用</span><span>C++</span><span>编程吗？</span></span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;"><span>另外，需要注意，</span><span>C++</span><span>语言，实际上是一种不同于</span><span>C</span><span>语言的新语言。在内存上，除了一些</span><span>C</span><span>语言的元素之外，新的语言元素并不像</span><span>C</span><span>那样面向机器。</span></span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;"><span>对于</span><span>C++</span><span>，你不能使用</span><span>memcpy</span><span>等内存操作的函数，很可能会出现错误。因为</span><span>C++</span><span>语言建立在一些高级概念的规范上，这些规范并没有规定内存如何分配等机器方面的细节。</span></span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;"><span>C++</span><span>中首选的编程范式是</span>&ldquo;模板支持的基于对象&rdquo;的编程范式<span>。实现静态多态。</span></span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">然后才是面向对象的编程范式。实现动态多态。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;"><span>最后是</span><span>C</span><span>语言风格的面向过程编程。</span></span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">C++的使用方法</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">使用C/C++开发环境，我们可以同时使用C和C++开发。既然C++和C是兼容的，我认为完全没有理由使用C语言，而不使用C++进行开发。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">即使是很小的问题，使用C++的&ldquo;模板支持的基于对象&rdquo;的编程范式<span>也是首选的开发方式。</span></span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">另一方面，在整个类库的外部，如果我们希望向其他语言提供接口，那么我们还应当提供C语言的API函数作为接口。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C语言是程序世界的世界语。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">使用C++的基本类型，struct，STL库的Vector，STL的string::c_str()等都可以得到C语言兼容的接口。还不能使用异常。因为C语言不支持异常，而且C++本身的异常，在不同的编译器中也可能不兼容。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">总之</span></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">1，使用C++开发，只在外部接口中使用C语言开发。使用&ldquo;模板支持的基于对象&rdquo;的编程范式，或者面向对象的编程范式。不要使用面向过程的编程范式。</span></div>
<div><span style="color: #3366ff;">2，尽量把代码放到类中，而不是使用全局或者命名空间的变量。</span></div>
<div><span style="color: #3366ff;">3，尽量不要使用操作符重载。</span></div>
<div><span style="color: #3366ff;">4，必须注意到C++不像C语言那样面向机器，不能对C++对象的内存布局进行假设。不能根据内存内的数据直接构建对象。不要进行内存操作。</span></div>
<div><span style="color: #3366ff;">5，C++还是很面向机器的。很多语言规则都规定了内存的布局，必须按照规则定义、初始化等等。这和Java，.NET，Ruby等语言不同。用惯高级语言的程序员特别需要注意C++和C对程序员的繁琐要求。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C/C++的设计哲学中，始终把自己作为一门系统编程语言，针对机器进行了很多优化。因此，对于人，就很不照顾了。很多规则很不人性化。但没办法，你必须适应它们！</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">它们就是为了高效而生的。它们就是汇编的替代者。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">Java语言优劣考</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">Java是一门静态强类型面向对象的编程语言。它是C++和Smalltalk取长补短的产物。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">Java是静态编译的强类型语言。你必须声明变量的类型，以便编译器能够检查代码的类型是否正确。这和C++是相同的。Java是一门类型非常安全的编程语言。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">Java只支持一种编程范式：面向对象编程范式。对于过时的面向过程编程范式并不支持。也不支持基于对象的编程范式，也没有模板。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">原因可能是，当java在90年代中期刚刚诞生时，面向过程的编程已被唾弃。而C++的基于对象的编程方式，由于没有和模板相互结合，而名声扫地。C++对于面向对象的编程范式的支持又比较差。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">于是，汲取经验教训之后， Java作为一门纯正的面向对象编程语言诞生了。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">Java使用面向对象的编程范式实现了动态多态，实现了抽象化的编程方式。取得了巨大的成功。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">Java语言中，除了基本类型是值类型之外，没有任何值类型，你也不能创建任何值类型。这样，基于对象编程这条路就被卡死了。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">虽然丧失了值类型的效率，但是也避免了基于对象编程的大量错误。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">Java语言中所有方法也都是虚函数。这也是为了保证纯正的面向对象编程。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">Java语言是静态面向对象编程范式的顶峰。使用面向接口的抽象编程，是有效使用java开发的唯一途径！</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">另一方面，Java实际上是一门动态语言。它是动态解释执行的。和Ruby，JavaScript等一样。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">这使java具备了运行时的灵活性。可以实现自省，反射等C++等传统静态语言无法实现的功能。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">.NET语言优劣考</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">.NET是java的兄弟。是微软因为被Sun排除在java之外而开发的一套语言。主要包括C#，VB.net,C++/CLI等语言。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">它的设计理念基本和java相同，也是一个支持静态面向对象编程范式的平台。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">对于.NET语言平台，我选择C#和C++/CLI这两种语言进行论述。VB.NET和C#类似，这里就不再多说了。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">C#</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C#.net还支持值类型，也就是基于对象的编程范式。（当然，.NET框架也是支持值类型的）</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C#.net的泛型类型替换是在运行时执行的。对于引用类型(在堆内存中创建实例的类型)，它使用类型强制转换，而不是C++模板的源代码生成来实现参数化类型。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">对于值类型，则使用类似于C++模板的MSIL中间代码生成机制实现。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">顺便提一下，java的泛型实现和C#的机制类似。也是使用强制类型转换实现。而且，Java中没有值类型，也不能对基本类型进行泛型操作，因此没有C#和C++中的源代码扩张问题。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">但是，老实说，java的泛型机制确实太弱了！</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C#语言首选的是面向对象编程范式。C#也可以使用泛型支持的基于对象的编程范式。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">使用值类型，对于用惯面向对象编程范式的C#和java程序员来说有一定的难度。而且，提升的效率也并不很高。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">同时，在语法层面上，C# 泛型是实现参数化类型的更简单方法，不具有 C++ 模板的复杂性。此外，C# 并不尝试提供 C++ 模板所提供的所有功能。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">因此，C#泛型支持的基于对象编程要比模板支持的基于对象的编程要弱很多。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">理念上，泛型编程有些不伦不类，有着太强的面向对象编程的气味。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C#中，使用泛型支持的基于对象的编程范式不如面向对象编程范式。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">我认为，C#语言还是应该首先使用面向对象编程范式。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">C++/CLI</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C++/CLI是为了让C++使用.NET平台而提供的扩展机制。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">.NET平台是类似于java的静态强类型动态执行的执行平台。是面向对象编程范式理念的框架。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C++/CLI使用了新的语法，使用C++/CLI进行.NET开发时，类似于C#编程。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">同时，也可以使用模板进行C++/CLI编程。这是C++/CLI2005新增的功能。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">使用C++/CLI进行.NET编程时，既可以使用C#样式的面向对象编程。也可以使用模板支持的基于对象的编程范式进行开发。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">可以把模板支持的基于对象的编程范式和.NET的面向对象的编程范式结合起来使用。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">C++/CLI可以同时使用原生C++和.NET编程。如果使用.NET框架执行，那么C++原生代码就会存放在生成的MSIL中间代码中，在运行时再使用C++编译器编译成机器码。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">.NET的互操作机制</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">.NET运行时本身就是使用COM编写的，是一个COM服务器。因此，.NET和COM互操作是非常简单的。也可以使用COM技术，用C/C++直接调用.NET内的方法。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">在互操作上。.NET比java实现得更好。不能从C语言调用Java方法，只能从java代码中使用JNI调用C方法。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">总体评价</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">.NET是java的表兄弟。又做出了一下改变。</span></div>
<div><span style="color: #3366ff;">1，定义了.NET的汇编语言。基于.NET的汇编语言可以支持任何语言在.NET平台上执行。Java自然也可以作为一个平台。但是java平台的设计目标就是java这一种语言，因此没有定义汇编语言，只有java的机器码。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">2，支持值类型。虽然用处不大，但是可以提高性能，也方便与C语言的函数库交互。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">3，泛型的实现比java强大。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">4，特别是C++/CLI，具有模板*.NET运行库的强大能力。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">Ruby语言优劣考</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">Ruby是一种强类型的动态解释型语言。在Ruby中一切都是对象。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">使用Duck Typing&ldquo;像鸭子一样编程&rdquo;的编程理念。Ruby有类型，但是变量不确定类型。这也实现了动态的多态能力。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">不象Java，.NET等静态面向对象编程语言，不需要使用什么都不作，仅仅表示类型的规范的接口。Ruby中使用变量时不需要声明使用什么接口或者类型。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">任何类型都可以，只要确实有这样的方法或者数据成员存在即可！</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">类似于C++的模板编程，只是C++的模板需要指定参数的类型。Ruby不需要指定变量的类型，因此不需要模板那样的机制。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">Ruby这样不指定变量类型的语言使用起来非常灵活。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">按照动态语言的观点，既然编译时不能完全找出运行时的错误，不如不要编译时检查，也不要编译。使用单元测试来寻找错误。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">但是，C++，Java，.NET这样的编译时检查类型的语言也有自己的优点：</span></div>
<div><span style="color: #3366ff;">1，更加安全，编译时就会发现错误。</span></div>
<div><span style="color: #3366ff;">2，可以实现IDE的智能提示。而Ruby这样的语言就不可以。因为C++，Java的变量使用时都指定了类型，因此可以在IDE中智能提示可能的成员。</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; </span>而Ruby这样的动态语言的变量都没有指定类型，所以无法为你提供智能提示。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; </span>使用Ruby，应该使用&ldquo;动态类型语言&rdquo;的基于对象的编程范式，使用隐式的接口。使用的类不需要有一个共同的基类。让各个实现类互相独立存在就行了。记住，这是和C++的模板支持下的基于对象的编程范式类似的基于对象（ADT抽象数据类型）的编程！</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; </span>不要试图用java，C#这样的语言的面向对象的编程思维方式来编写Ruby程序！</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">JavaScript语言优劣考</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">JavaScript是一门长期以来被忽视的语言。它的重要性和能力都被大大的低估了！</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">这是因为Java和.NET崛起以来，&ldquo;静态类型语言&rdquo;的面向对象的编程范式受到广泛的推崇。作为动态语言，函数式语言的JavaScript长期以来被广大Java，.NET程序员视为畸形怪胎！老实说，长久以来，我也一直是以厌恶的眼光看待它。多少次，它让我很抓狂。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">直到现在，我还是没有学好JavaScript。尽管JavaScript已经诞生了这么多年，但是把JavaScript作为一门很有前途的动态强类型语言，函数式语言来看待还是新鲜事物。还没有见到很多关于这方面和设计模式的研究。</span></div>
<div style="text-indent: 21pt;"><span style="color: #3366ff;">周爱民的《JAVASCRIPT语言精髓与编程实践》一书应该不错，但是我还没有看过。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">JavaScript支持面向过程的编程范式</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">这是JavaScript使用最广泛的一种编程范式。简单、快速、有效。JavaScript代码需要通过网络传输到用户浏览器中，因此JavaScript的使用一般都是简单的几个数据提交和验证功能。如果使用Ruby那样的动态基于对象的编程范式编码显得有些小题大做，又浪费带宽。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: large; color: #3366ff;">JavaScript支持&ldquo;动态类型语言&rdquo;的基于对象的编程范式</span></strong></div>
<div><strong></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">如果JavaScript仅仅支持过时的面向过程的编程范式，那么JavaScript就真的是大家心目中的鸡肋了。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">这些年来，广大程序员都忽视了JavaScript也是一门动态类型语言，还是一门函数语言！</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">我们完全可以向Ruby那样进行基于对象的开发。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">现在，伴随着广大用户对户客户端的效果和AJAX技术的期待。JavaScript正在完成越来越大的任务。正在开发和传统语言类库类似的庞大类库。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">如，EXT实现的用户界面库。和Java的Swing库很接近。这样巨大的系统，必须要使用基于对象的编程范式，再使用面向过程的编程范式不可想象！</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">把JavaScript当成Ruby来使用，这是我对你的忠告。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">[题外话：</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">不过也许我的JavaScript技术永远不会很高。因为虽然我越来越欣赏JavaScript语言的机制。但是，我对用户界面的开发并不是很有兴趣。我认为用户界面是小道。底层的逻辑开发才更有价值，我也更加有兴趣。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">]</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><strong><span style="font-size: x-large; color: #3366ff;">总结</span></strong></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div><span style="color: #3366ff;"><span>&nbsp;&nbsp;&nbsp; </span>现在再来看看篇首的&ldquo;语言特性对比表&rdquo;，也许你能够认同我对这些语言的观点了。</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">如果我需要进行原生系统开发，我会选择使用C++，使用模板支持的基于对象的编程范式进行编码。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">如果需要给其它语言提供接口，我会用纯C语言实现一些接口函数，供其它语言调用。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">如果需要Java语言进行开发，肯定要使用面向对象编程。需要大量使用接口，依赖于抽象。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">如果需要使用.NET开发。那么我也会使用面向对象编程范式编码。很少使用值类型。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">如果使用C++/CLI开发，我会使用模板开发原生C++程序，也会首选模板开发.NET程序。也可以像C#那样使用面向对象编程范式开发.NET程序。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">我真的爱死模板了！这么多年来我还一直认为模板是个废柴呢！</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">如果要编写脚本，我会使用Ruby，&ldquo;动态类型语言&rdquo;的基于对象的编程范式。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">Java和.NET平台上都在引入Ruby，Python等动态语言，也许很快就可以用它们开发Java和.NET程序了！</span></div>
<div><span style="color: #3366ff;">&nbsp;</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">在浏览器上开发，当然得用JavaScript[很久以前，我使用VBScript这门语言&mdash;上了微软的当了。那时以为凡是微软的就是好的！]。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">简单的需求，当然用面向过程范式开发。</span></div>
<div style="text-indent: 21.75pt;"><span style="color: #3366ff;">大的项目，比如AJAX，地图，GUI等，使用&ldquo;动态类型语言&rdquo;的基于对象的编程范式开发。</span></div>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/201718#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/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, 10 Jun 2008 11:43:50 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/201718</link>
        <guid>http://superhj1987.javaeye.com/blog/201718</guid>
      </item>
      <item>
        <title>西安未央湖一游.....</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/201258" style="color:red;">http://superhj1987.javaeye.com/blog/201258</a>&nbsp;
          发表时间: 2008年06月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366ff;">好久没有和女友出去玩了，借着马上就要端午节放假的时机，在女友的建议下，我们决定去未央湖游乐园。由于是第一次去那，我们带上了地图，在上面明明看好了是在钟楼做236路车的，可钟楼站有四个站点，不知道是哪一个，于是找来找去，后来竟然发现就在本来600下车的地方，顿时汗颜。不过等了一个小时都没见有236过来。相当纳闷，不得已问了一个路人，告知在拐角的西华门站坐车。于是冲了过去，发现停着三辆车，就是没有236。火大啊。许久突然一瞥，发现了236的身影，抓着女友的手就往上冲。可在路上，我突然发现路线怎么和地图上的236不一样啊，心里想也许236改路线了吧。也就不知不觉到了终点站，下车一打听然后一看刚才做的车的号码，才发现，自己做的竟然是336！！！天哪，当时那个郁闷啊，我快想死了！无奈之下只能打了个车到未央湖游乐园，好歹总算是到了目的地。但天公不作美，由于下雨的缘故，人很少，接近为0。不过里面景色不错，很养眼，有一种雨后清新的感觉。漫步其间，很是舒服。后来在湖面上和女友划了会儿船，很惬意。在不经意间我看到了碰碰车，突然想到自己n年没玩过了，于是和女友一人一辆玩了一会，挺爽！一天就这么过去了，感觉挺背的，可和自己爱的人在一起，也就无怨无悔了！</span></p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/201258#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/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/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 08 Jun 2008 03:47:37 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/201258</link>
        <guid>http://superhj1987.javaeye.com/blog/201258</guid>
      </item>
      <item>
        <title>微软MVP总结的Windows XP优化大全</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/193139" style="color:red;">http://superhj1987.javaeye.com/blog/193139</a>&nbsp;
          发表时间: 2008年05月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一、系统优化设置。 <br />1、删除Windows强加的附件： <br />1） 用记事本NOTEPAD修改\winnt\inf\sysoc.inf，用查找/替换功能，在查找框中输入，hide（一个英文逗号紧跟hide），将“替换为”框设为空。并选全部替换，这样，就把所有的,hide都去掉了， <br />2） 存盘退出， <br />3）再运行“添加-删除程序”，就会看见“添加/删除 Windows 组件”中多出了好几个选项；这样你可以删除好些没有用的附件 <br />2、关掉调试器Dr. Watson； <br />Dr.Watson是自带的系统维护工具，它会在程序加载失败或崩溃时显示。运行drwtsn32，把除了“转储全部线程上下文”之外的全都去掉。否则一旦有程序出错，硬盘会响很久，而且会占用很多空间。如果你以前遇到过这种情况，请查找user.dmp文件并删掉，可能会省掉几十M的空间。这是出错程序的现场，对我们没用。然后打开注册表，找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug子键分支，双击在它下面的Auto键值名称，将其“数值数据”改为0，最后按F5刷新使设置生效，这样就彻底来取消它的运行了。 <br />另外蓝屏时出现的memory.dmp也可删掉。可在我的电脑/属性中关掉BSOD时的DUMP <br />3、关闭“系统还原”：鼠标右健单击桌面上的“我的电脑”，选择“属性”，找到“系统还原”，如果你不是老噼里啪啦安装一些软件（难道你比我还厉害？？），你也可以去掉，这样可以节省好多空间。 <br /><br />4.关闭“休眠支持”：因为休眠功能占的硬碟空间蛮大的, 所以关闭比较好, <br />控制台-->电源选项-->休眠(不要打勾) <br />（蓝调注：我觉得休眠还是很有用的。） <br /><br />5、关掉不必要的服务 <br />单击“开始”→“设置”→“控制面板”。双击“管理工具”→“服务”，打开后将看到服务列表，有些服务已经启动，有些则没有。右键单击要配置的服务，然后单击“属性”。在“常规”选项卡上选择“自动”、“手动”或“禁用”，其中“自动”表示每次系统启动时，Windows XP都自动启动该服务；“手动”表示Windows XP不会自动启动该服务，而是在你需要该服务时手动启动该服务；而“禁用”则表示不允许启动该服务。在实际配置时，选择“手动”或者“禁用”都可以实现关闭该服务的目的，推荐使用手动功能，这样你随时可以启动一些临时需要的服务。 <br />　　有些服务是Windows XP所必需的，不能关闭，否则将会造成系统崩溃。至于各项服务 <br />的功能，我们可以通过双击该服务或将鼠标悬停在该服务名上查看。具体服务的说明浅显，大家看得懂，可以自己选择那些要那些不要。修改的方法是：选中禁用的服务，点右键，选"属性"> "停止"，将"启动类型"设置为"手动"或"已禁用"。 <br /><br />6、加速XP的开关机 <br />1）缩短等待时间 <br />开启注册表编辑器，找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control， <br />将 WaitToKillServiceTimeout 设为：1000或更小。 ( 原设定值：20000 ) <br />找到 HKEY_CURRENT_USER\Control Panel\Desktop 键，将右边视窗的 <br />WaitToKillAppTimeout 改为 1000， ( 原设定值：20000 )即关闭程序时仅等待1秒。将 HungAppTimeout 值改为：200( 原设定值：5000 )， 表示程序出错时等待0.5秒。 <br /><br />2）让系统自动关闭停止回应的程式。 <br />打开注册表 HKEY_CURRENT_USER\Control Panel\Desktop 键， 将 AutoEndTasks 值设为 1。 ( 原设定值：0 ) <br /><br />3）MsConfig。大多数朋友都应该熟识MsConfig了，这是一个系统内置的Windows设置工具。点击开始菜单，选择“运行”，然后在录入框中敲入“msconfig”回车。我们要动手脚的是（启动）选项卡，点击它，这个选项卡中显示了Windows启动时运行的所有程序。这里没有一个程序对Windows来说是生死悠关的，所以放心大胆地把不要的去掉。把部分勾勾去掉之后，Windows启动会快些，同时空闲的系统资源也会多出一些。 <br /><br /><br />7、XP Prefetcher <br />　　Windows XP自带了一个名为Prefetcher的服务，这个服务管理着Windows启动时的程序初始，其中指定的程序可以在以后使用中快速载入。Prefetcher在默认情况下就是打开的，不过它的性能还可以进一步提升。打开注册表编辑器，在注册表中找到： <br />　　HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory <br />ManagementPrefetchParameters，其中有一个键值名为EnablePrefetcher，多数情况下它的值是3。推荐设置值是5，在我的机子上，设为5的时候工作状态最佳。可以随便试试不同的数值，直到找到最适合自己机子的值为止。　 <br />　　也可以把Prefetcher禁用掉，只需把值设为0就可以了。不过，除非是为了测试用途，一般人都不会傻到把它设为0。 <br />8、压缩文件夹 <br />　　这是一个相当好的优化，Windows XP内置了对.ZIP文件的支持，我们可以把zip文件当成文件夹浏览。不过，系统要使用部分资源来实现这一功能，因此禁用这一功能可以提升系统性能。实现方法非常简单，只需取消zipfldr.dll的注册就可以了，点击开始——运行，敲入： regsvr32 /u zipfldr.dll 。然后回车即可。 <br /><br />9、不加载DLL文件　　 <br />　　浏览器在使用之后往往会有部分DLL文件在内存中缓存好长一段时间，相当大一部分内存会被不用的DLL文件点用。为了防止这种事情发生，找到注册表如下位置： <br />　　HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorer <br />　　接下来建立一个名为AlwaysUnloadDLL，值为1的双字节值。 <br />如果想要去除这项优化，只需把该键值设为0（也可以干脆把键删掉）。注意：该项优化要在Windows重新启动后才生效。 <br /><br />10、完全关闭Windows XP文件保护功能。此招慎用 <br />　　从注册表中找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon，修改“SFCDisable”键值为“FFFFFF9D”，如果需要重新启用该功能，重新设置为“0”就可以了。 <br /><br />11、手动指定进程次序查看 <br />同时按下Control+Alt+Delete三个键，然后点击“Processes（进程）”选项卡，可以看到一个如上图所示的对话框，在这里可以看到目前正在运行的所有进程。如果要为一个程序分配更多的进程时间，如3D Studio Max，只需右键点击这个进程，再把鼠标指针向下移动到“Set Priority>（设置优先级）”，然后选择你想要这个程序处在哪个优先级。当我接收email时，我会把3DMAX设为“标准”，但当我离开计算机的时候，我会把它的优先急提升为最高的“实时”，这样可以计算机更专注更快速地处理3D动作 <br /><br />12、关闭错误回报 <br />控制台---->系统---->进阶---->右下角--->错误报告---->关闭 <br /><br />13、加快窗口显示速度：我们可以通过修改注册表来改变窗口从任务栏弹出，以及最小化回归任务栏的动作，步骤如下：打开注册表编辑器，找到HKEY_CURRENT_USER\ <br />Control Panel\Desktop\WindowMetrics子键分支，在右边的窗口中找到MinAniMate键值，其类型为REG_SZ，默认情况下此健值的值为1，表示打开窗口显示的动画，把它改为0，则禁止动画的显示，接下来从开始菜单中选择“注销”命令，激活刚才所作的修改即可。 <br /><br />14、去掉“更新”选项：对于大多数的用户来说，Windows XP的Windows Update功能似乎作用不大，我们可以去掉它，操作步骤如下：打开注册表编辑器，找到 <br />HKEY_CURRENT_USER\Software \Microsoft\Windows\CurrentVersion\Policies\ <br />Explorer子键分支，选择“编辑”菜单下的“新建”命令，新建一个类型为REG_DWORD的值，名称为NoCommonGroups，双击新建的NoCommonGroups子键，在“编辑字符串”文本框中输入键值“1”，然后单击“确定”按钮并重新启动系统即可。 <br />　15、修改Windows XP的登录背景图案：面对长久不变的单调的登录图案，你可能日久生厌，我们可以通过注册表来把它换成自己喜欢的图案，步骤如下：打开注册表编辑器，找到HKEY_USERS\.DEFAULT\Control Panel\Desktop子键分支，双击wallpaper，键入你选择好的图片的路径，如：c:\Documents and Settings\My Documents\My Pictures\mypic.bmp，点击“确定”，然后找到Tilewallpaper，双击它输入键值“1”，重新启动系统即可看到效果。 <br /><br />　16、修改登录时的背景色：如果你还想修改登录时的背景颜色，可以按以下步骤操作：打开注册表编辑器，找到HKEY_USERS\.DEFAULT\Control Panel\Colors子键分支，双击子键分支下的Background键值名，出现“编辑字符串”对话框，在“数值数据”文本框中输入代表颜色的键值（比如黑色的RGB值为000，白色的RGB值为255 255 255，系统默认值是58 110 165），点击“确定”按钮，重新启动系统即可。 <br /><br />　17、设置启动信息或增加警告信息：如果在启动Windows XP时，希望显示一些自己定义的个性化信息，可以按以下步骤来操作：打开注册表编辑器，找到HKEY_LOCAL_MACHINE_SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon子键分支，双击在它下面的LegalNoticeCaption健值名称，打开“编辑字符串”窗口，在“数值数据”文本框中输入信息对话框的标题，比如“你好，欢迎使用本机器”，然后双击LegalNoticeText，在随后出现的“编辑字符串”窗口中输入想要显示的警告信息，比如“请不要随意修改本级的设置，谢谢！”，单击“确定”按钮，重新启动即可看到修改后的效果了。 <br /><br />　 18、每次启动时保持桌面设置不变：我们可以通过修改注册表来保护我们的桌面设置，无论做了什么样的修改，只要重新启动之后桌面就会恢复原样。步骤如下：打开注册表编辑器，找到HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\ Polices <br />\Explorer子键分支，在它的下面找到NoSaveSettings，其类型为REG_SZ，将其键值改为“0”，或者直接删除该键值项，重新启动系统使设置生效。 <br /><br />　19、任意定制按钮颜色：尽管Windows XP本身带有多种窗口显示方案，但用户想定义某一个部位的颜色，比如把按钮的颜色由黑色改为蓝色或红色，这时就需要修改注册表了，步骤如下：打开注册表编辑器，找到HKEY_CURRENT_USER\Control Panel\Colors子键分支，双击在它下面的Bottontext，在打开的对话框中将其键值改为你想要颜色的值，比如红色255 0 0，单击“确定”按钮，并重新启动系统即可看到效果了，此时按钮上的文字颜色将变成红色，此外你还可以修改按钮的宽度和高度及背景等参数。 <br /><br />　20、修改鼠标右键菜单 <br />我们知道在98下可以通过注册表来修改鼠标右键菜单，其实在WinXP中也可以。方法如下：这里以在鼠标右键菜单上添加“用DOS窗口在这里浏览”为例。 <br />1)打开注册表编辑器，找到HKEY_CLASSES_ROOT\Directory\shell，然后选中它，点击鼠标右键，新建一个主键，取名为“DOS”，然后选中新建的主键，在右边双击默认字符串值，在弹出的对话框中输入“用DOS窗口在这里浏览”，然后选中新建的主键，再建立一个主键，取名为“command”，选中“command”主键，修改默认值为“cmd.exe /k "cd %L"”即可。 <br />2)检查：在任意一个文件夹上按下鼠标右键，可以在弹出的菜单里面看到“用DOS窗口在这里浏览”，选择用DOS窗口在这里浏览，按下鼠标左键，看到没有，DOS窗口弹了出来！
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/193139#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/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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 15 May 2008 00:26:45 +0800</pubDate>
        <link>http://superhj1987.javaeye.com/blog/193139</link>
        <guid>http://superhj1987.javaeye.com/blog/193139</guid>
      </item>
      <item>
        <title>用kdevelop开发c程序入门</title>
        <author>superhj1987</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://superhj1987.javaeye.com">superhj1987</a>&nbsp;
          链接：<a href="http://superhj1987.javaeye.com/blog/191640" style="color:red;">http://superhj1987.javaeye.com/blog/191640</a>&nbsp;
          发表时间: 2008年05月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          注意：我用的是Ubuntu，它的apt太好用了，用其他版本的就要注意了！<br /><br />1. KDevelop只是一个IDE，要想编译c/c++程序，要安装make和GCC，以及头文件，那就从这里开始：<br />sudo apt-get build-dep gcc<br />sudo apt-get install build-essential<br /><br />2.安装KDevelop<br />sudo apt-get install kdevelop3<br /><br />3.安装好后，可以在应用程序->编程 中看到 KDevelop了。下面这个使用KDevelop开发程序是转的，偷下懒:-)<br /><br />基本步骤<br />一般而言，用KDevelop编程大体要经历如下几个步骤。编程是比较复杂的，很难一次成功，这些步骤<br />可能要反复进行多次。<br /><br />第一步，新建工程<br />可以通过菜单操作启动相应的向导程序，借助它完成工程的初建工作。<br />【Project】→【New Project】<br />在新建工程过程中，主要需要指定工程文件保存位置、工程名称、工程类型，并且可以填写编程作者<br />的信息。根据所选工程类型(比如，是文本界面的程序还是图形界面的程序，是C程序还是C++程序)，向导程序会自动生成一批模板文件。<br /><br />第二步，编辑程序文件<br />向导程序一般会创建一些程序文件，应该对这些文件进行编辑以满足特定的编程需要。<br />还可以执行菜单操作来增加新的文件。<br />【File】→【New】<br />上述操作后，会出现一个对话框，用于指定文件名和文件类型。根据文件类型的不同，会自动设定合<br />适的扩展名。注意，“Add to project”复选框应该勾选上以确保新文件被加入到当前的工程中。<br /><br />第三步，生成源码结构<br />在编辑好程序文件后，要先借助GNU Build System生成系统生成源码结构。在增加了新文件(或目<br />录)、修改了文件(或目录)名、改变文件的保存位置之后，都应该重新生成源码结构。具体而言，生成源码结构包括autoconf、automake等操作，把每个子目录的Makefile.am变成了Makefile.in。具有源码结构的程序文件包可以在任何UNIX、LINUX的系统上使用简单的命令(即 configure/make/make install等)进行配置、编译、连接和安装。<br />可以执行菜单操作来生成源码结构：<br />【Build】→【Run automake&conf】<br /><br />第四步，配置，即运行configure<br />configure是一个脚本，用来确定所处系统的细节，比如使用何种编译器、何种库，以及编译器和库的<br />保存位置，并把Makefile.in的相应部分进行替换，形成Makefile。<br />可以执行菜单操作来进行配置：<br />【Build】→【Run configure】<br /><br />第五步，编译连接<br />执行菜单操作【Build】→【Built Project】即可完成编译连接，形成可执行文件。默认情况下，这种可执行文件是带有源码调试符号的。<br />对于多文件的程序，一般需要对每一个文件分别进行编译生成目标文件。当每个文件的编译通过之后，再统一进行编译连接。单独编译当前正在编辑的文件的菜单操作是：<br />【Build】→【Compile File】<br /><br />第六步，运行<br />如果想在KDevelop的控制下运行已编译连接好的程序，可以执行菜单操作：<br />【Build】→【Excecute program】<br />如果想单独运行程序，则需要先安装，然后在命令行中输入相应的可执行文件的名字(一般来讲，就是<br />工程的名字)即可。KDevelop会把可执行文件放在/usr/local/bin之中<br />【Build】→【Install】<br />编写程序文件<br />通过菜单操作【Project】→【New Project】启动新建工程向导程序，选择工程类型，并指定 工程名称及其保存位置，如图所示。接下来一路点击Next即可完成工程的创建工作。<br />向导程序会自动生成一个含有主函数的文件。以此文件是一个模板，在它的基础上修改并添加代码，<br />即可编写需要的程序。<br /><br />编译<br />程序写好后，应该把文件保存起来，然后按照前面提到的步骤，生成源码结构、配置、编译，即依次<br />执行如下菜单操作：<br />【Build】→【Run automake&conf】<br />【Build】→【Run configure】<br />【Build】→【Compile File】<br />每一个操作若能正常完成，在Messages窗口中会出现Success的提示。如果没有Success的提示，则表明相应的操作失败，应查明原因。<br />一般来讲，生成源码结构和配置这两个操作都能顺利通过。<br />如果编译连接是首次进行，则一般会失败，因为很少有人能一次写出没有任何语法错误的程序。查看<br />Messages窗口中的提示信息，可以了解哪些地方出现了语法错误。单击某一条错误提示信息，KDevelop会自动把光标定位到发生该错误的语句上。<br />依据错误提示，修正程序中的语法错误，然后再次尝试编译，直到出现Success的提示。<br />经常出现的一种情况是，程序上的一个语法错误会导致多条错误信息的出现。因此，应该把第一条错<br />误信息认真处理好，再从随后的错误信息中随机选择几条加以处理，然后就再次尝试编译，看还有没有错误信息。如此反复多次，直到把所有的错误提示消除掉，编译就成功了。不要把所有错误信息都依次处理完再尝试编译，那样的效率比较低。<br /><br />生成可执行文件<br />编译成功后，执行菜单操作【Build】→【Built Project】即可生成相应的生成可执行文件。<br /><br />调试<br />接下来，可以执行菜单操作【Build】→【Excecute program】试运行程序。这种运行是在KDevelop的控制下进行的。因此，如果出现“死循环”，可以执行菜单操作【Build】→【Stop】或按Esc键即可中止程序的运行。<br />如果在程序中存在逻辑错误，就得不到期望的结果。逻辑错误的排除比较困难。必须对程序进行仔细<br />的分析才能找到错误的原因。<br />一般的逻辑错误可以根据程序的运行表现加以判断。比较深层次的逻辑错误则需要借助调试工具。<br />本章前面介绍的调试工具GNU gdb就是一个很好的工具，可以用它对程序进行仔细分析，查找逻辑错<br />误的根源。默认情况下，经过【Build】→【Built Project】操作之后，可以在工程目录下的/debug/src/中找到带源代码调试符号的可执行文件。<br />发现逻辑错误后，就要修改程序，重新编译连接。然后再试运行。如果仍然得不到期望的结果，说明<br />程序中还有逻辑错误，应再次进行分析。如此反复多次，直到消除全部的逻辑错误。<br /><br />发布可执行文件<br />如果只想发布程序的可执行文件，可以先调整项目的编译连接选项，选择优化编译的方式。这样可以<br />得到更小更快的可执行文件。<br />可以通过菜单【Project】→【Build Configuration】修改编译连接选项。此菜单之下有三种选项，默认为Debug，生成的可执行文件中含有源程序调试符号；还可以选择 Default或Optimized。选择Optimized时，编译连接时将进行优化，生成的可执行文件更小，执行起来也更快。<br />选择Debug时，可执行文件保存在工程目录下的/debug/src/中；选择Optimized时， 可执行文件保存在工程目录下的/optimized/src/中；选择Default时， 可执行文件保存在工程目录下的/src/中。<br />如果要发布可执行文件，应该选择Optimized的方式进行编译连接。<br /><br />发布源程序<br />把工程目录及其中的所有文件打包即可形成源程序包。用户得到这个源程序包并解压后，不必安装KDevelop 就可以按标准方法进行编译和安装，即支持<br />configure，make，make install，make clean，make uninstall等命令。这个包也含有KDevelop的工程文件和其他相关的信息。因此，如果用户安装了KDevelop，可以直接打开该工程进行修改。<br />如何使用已有的源文件？<br />在KDevelop主窗口的右侧有一个Automake Manager标签。点击该标签，就可以看到本工程源文件所在的文件夹以及各文件。在列有文件的那个窗口上方有工具条，其中就是用来添加文件的。添加文件有两种方式，一种是链接(link)方式，另一种是复制(copy)方式。<br />2楼<br />云淡风轻 发表于：2007-6-15 14:34:31<br /><br />4.遇到的问题，按照上面的方法编译第一个程序时遇到了问题：<br /><br />a)运行Run automake&friend时，报错，<br />这是由于没有安装automake造成的，解决方法是在终端中运行下列代码：<br />sudo apt-get install automake1.9<br /><br />b)再次运行Run automake&friend时遇到错误，<br />这是由于没有安装libtool造成的，解决方法是<br />sudo apt-get install libtool<br /><br /> <br /><br />c)终于编程通过了，但是在Excecute program又提示错误了：<br />konsole not found<br /><br />这是由于没有安装konsole造成的，安装就好了：<br />sudo apt-get install konsole
          <br/>
          <span style="color:red;">
            <a href="http://superhj1987.javaeye.com/blog/191640#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='/adv