<?xml version="1.0" encoding="GBK" ?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dcterms="http://purl.org/dc/terms/">
 <channel>
  	  <title><![CDATA[dongua的歪blog]]></title>
	  <link>http://dongua81.blog.163.com</link>
	  <description><![CDATA[早已没有记录的心情 笑看风云淡,心纯天自高。]]></description>
	  <language>zh-CN</language>
	  <pubDate>Tue, 19 Aug 2008 16:07:35 +0800</pubDate>
	  <lastBuildDate>Tue, 19 Aug 2008 16:07:35 +0800</lastBuildDate>
	  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
	  <generator><![CDATA[NetEase Space]]></generator>
	  <managingEditor><![CDATA[dongua81]]></managingEditor>
	  <webMaster><![CDATA[dongua]]></webMaster>
		  <ttl>120</ttl>
	  <image>
	  	<title><![CDATA[dongua的歪blog]]></title>
	  	<url>http://ava.blog.163.com/photo/6LdetlPbOH-ED1f1Me_gfQ==/437130638834585148.jpg</url>
	  	<link>http://dongua81.blog.163.com</link>
	  </image>
  <item>
  	<title><![CDATA[马云——羸在中国的点评精选]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/55795320087194639820</link>
    <description><![CDATA[<div>1.这个世界不是因为你能做什么，而是你该 做什么。 <BR>2.创意是企业运营中一个很重要的一环，但它只是一环，不是所有，所以要把每项工作落实到实处。 <BR>3.建立自我.追求忘我。 <BR>4.做一份工作，做一份喜欢的工作就是很好 的创业。 <BR>5.不是你的公司在哪里，有时候你的心在哪里，你的眼光在哪里更为重要。 <BR>6.不想当将军的士兵不是好士兵，但是一个当不好士兵的将军一定不是好将军。 <BR>7.一个创业者最重要的，也是你最大的财富，就是你的诚信。 <BR>8.小公司的战略就是两个词：活下来，挣钱。 <BR>9.五年以后还想创业，你再创业。 <BR>10.生存下来的第一个想法是做好，而不是做大。 <BR>11.创业者书读得不多没关系，就怕不在社会上读书。 <BR>12.在今天的商场上已经没有秘密了，秘密不是你的核心竞争力。 <BR>13.很多人失败的原因不是钱太少，而是钱太多。 <BR>14.概念到今天这个时代已经不能卖钱了。 <BR>15.创业者光有激情和创新是不够的，它需要很好的体系.制度.团队以及良好的盈利模式。 <BR>16.你的项目感觉是一个生意，不是一个独特的企业。 <BR>17.赚钱模式越多越说明你没有模式。 <BR>18.最优秀的模式往往是最简单的东西。 <BR>19.建一个公司的时候要考虑有好的价值才卖。如果一开始想到卖，你的路可能就走偏掉。 <BR>20.人要有专注的东西，人一辈子走下去挑战会更多，你天天换，我就怕了你。 <BR>21.要找风险投资的时候，必须跟风险投资共担风险，你拿到的可能性会更大。 <BR>22.记住，关系特别不可靠，做生意不能凭关系，做生意也不能凭小聪明。 <BR>23.不要贪多，做精做透很重要，碰到一个強大的对手或者榜样的时候，你应该做的不是去挑战它，而是去弥补它。 <BR>24.这世界上没有优秀的理念，只有脚踏实地的结果。 <BR>25.一个好的东西往往是说不清楚的，说得清楚的往往不是好东西。 <BR>26.如果你看了很多书，千万别告诉别人，告诉别人别人就会不断考你。 <BR>27.一个项目，一个想法如果不够独特的话，很难吸引别人。 <BR>28.做战略最忌讳的是面面俱到，一定要记住重点突破，所有的资源在一点突破，才有可能赢。 <BR>29.小企业有大的胸怀，大企业要讲细节的东西。 <BR>30.所有的创业者应该多花点时间，去学习别人是怎么失败的。 <BR>31.关注对手是战略中很重要的一部分，但这并不意味着你会赢。 <BR>32.战略不能落实到结果和目标上面，都是空话。 <BR>33.很多东西是很难考量的，理念很难考量， 但结果是可考量的。 <BR>34.绝大部分创业者从微观推向宏观，通过发现一部分人的需求，然后向一群人推起来。 <BR>35.80年代的人不要跟7 0年代，跟6 0年代的人竞争，而是要跟未来，跟9 0年代的人竞争，这样你才有赢的可能性。 <BR>36.商业计划绝对不是一个销售计划，里面有无数细节，无数人才的运营。 <BR>37.蒙牛不是策划出来的，而是踏踏实实的产品.服务和体系做出来的。 <BR>38.战略不等于结果，战略制定了以后，结果还很遥远，还有很长的路要走。 <BR>39.战略有很多意义，小公司的战略简单一点，就是活着，活着最重要。 <BR>40.必须先去了解市场和客户的需求，然后再去找相关的技术解决方案，这样成功的可能性才会更大。 <BR>41.最核心的问题是根据市场去制定你的产品，关键是要倾听客户的声音。 <BR>42.免费是世界上最昂贵的东西。所以尽量不要免费。等你有了钱以后再考虑免费 <BR>43.“营销”这两个字强调既要追求结果，也要注重过程，既要“销”，更要“营”。 <BR>44.要少开店.开好店，店不在于多，而在于精。 <BR>45.男人的胸怀是委屈撑大的，多一点委屈，少一些脾气你会更快乐。 <BR>46.有价值观，没有业务称为小白兔，一个公司小白兔多了以后，那就是一种灾难。 <BR>47.诚信绝对不是一种销售，更不是一种高深空洞的理念，它是实实在在的言出必行.点点滴滴的细节。 <BR>48.改变文化很难很难，但也不是不可能。 <BR>49.一个一流的创意，三流的执行，我宁可喜欢一个一流的执行，三流的创意。 <BR>50.我觉得我们应该为结果付报酬，为过程鼓掌。 <BR>51.其实很多人的问题是因为他们回答的全是对的。 <BR>52.品质不仅仅是团队，它还是文化，是制度，是一整套东西。 <BR>53.公关是个副产品，由于你解决了以后会逐渐传出去，这才是最好的公关。 <BR>54.文化贯彻是最关键的。 <BR>55.天不怕，地不怕，就怕C F O当C E O。 <BR>56.短暂的激情是不值钱的，只有持久的激情才是赚钱的。 <BR>57.聪明是智慧者的天敌，傻瓜用嘴讲话，聪明的人用脑袋讲话，智慧的人用心讲话。 <BR>58.做企业不是做侠客。 <BR>59.永远要把对手想得非常强大，哪怕非常弱小，你也要把他想得非常强大。 <BR>60.慈善必须以商业的计划执行，以商业的形式执行，慈善才能走得久走得长。 <BR>61.我自己不愿意聘用一个经常在竞争者之间跳跃的人。 <BR>62.多花点时间在你的其他员工身上。 <BR>63.什么是团队呢?团队就是不要让另外一个人失败，不要让团队任何一个人失败。 <BR>64.把你太太当合作伙伴，不要把她当太太看。 <BR>65.以后是想得可以很大，东西得一点点干，包括你请来M B A，请了一大堆人帮你做，你现在一个人在干。当C E O尽量少用我，有我们可能更好一点。 <BR>66.有时候学历很高不一定把自己沉得下来做事情。 <BR>67.创业时期千万不要找明星团队，千万不要找已经成功过的人。创业要找最适合的人，不要找最好的人。 <BR>68.最大的挑战和突破在于用人，而用人最大的突破在于信任人。 <BR>69.在公司内部找到能够超过你自己的人，这就是你发现人才的办法。 <BR>70.什么都想自己干，这个世界上你干不完。 <BR>71.永远要相信边上的人比你聪明。 <BR>72.现在你需要踏踏实实，实实在在跟你一起干的人。 <BR>73.每一笔生意必须挣钱，免费不是一个好策略，它付出的代价会非常大。 <BR>74.领导力在顺境的时候，每个人都能出来，只有在逆境的时候才是真正的领导力。 <BR>75.碰到灾难第一个想到的是你的客户，第二想到你的员工，其他才是想对手。 <BR>76.有时候死扛下去总是会有机会的。 <BR>77.永远记住每次成功都可能导致你的失败，每次失败好好接受教训，也许就会走向成功。 <BR>78.暴躁在某种程度上讲是因为有不安全感，或者是自己没有开放的心态。 <BR>79.上当不是别人太狡猾，而是自己太贪，是因为自己才会上当。 <BR>80.可能一个人说你不服气，两个人说你不服气，很多人在说的时候，你要反省，一定是自己出了一些问题。 <BR>81.延伸阅读：马云谈创业 <BR>82.一个成功的创业者，三个因素，眼光.胸怀和实力。 <BR>83.别人可以拷贝我的模式，不能拷贝我的苦难，不能拷贝我不断往前的激情。 <BR>84.80年代的人还需要摔打，不管做任何事，要检查主观原因。 <BR>85.做小了，一定要做到独特。 <BR>86.不去想清楚就会变成一个包袱，一定要花时间去想。 <BR>87 人永远不要忘记自己第一天的梦想，你的梦想是世界上最伟大的事情，就是帮助别人成功。 <BR>88.创业者的激情有的在表面上，有的在内心里。 <BR>89.不管你拥有多少资源，永远把对手想得强大一点。 <BR>90.有结果未必是成功，但是没有结果一定是失败。 <BR>91.没有一个良好的过程，任何一次成功都不可能被复制。 <BR>92.永远把别人对你的批评记在心里，别人的表扬，就把它忘了。 <BR>93.做任何事，必须要有突破，没有突破，就等于没做。 <BR>94.《赢在中国》没有失败者，只有幸运者 </div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/55795320087194639820</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/55795320087194639820</guid>
    <pubDate>Tue, 19 Aug 2008 16:06:39 +0800</pubDate>
    <dcterms:modified>2008-08-19T16:06:39+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[SecureCRT设置]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/5579532008626114651329</link>
    <description><![CDATA[<div><P style="TEXT-INDENT: 2em">securecrt，是一个比较出名的ssh客户端，现在已经是6.0的版本了。不过这个软件是收费的，</P>
<P style="TEXT-INDENT: 2em">目前ssh的客户端软件很多，putty等，而且都比较好用，关键这些都是免费的，不过自己一直比较习惯用securecrt。</P>
<P style="TEXT-INDENT: 2em">用linux，你肯定要用到这个，不过最近我发现我登陆后无法显示颜色，专门研究了一下如何设置，终于让显示比较满意了，记录一下。</P>
<P style="TEXT-INDENT: 2em"></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://hiphotos.baidu.com/chenshake/pic/item/558789eee410af3a2df53492.jpg" border=0></P>
<P style="TEXT-INDENT: 2em">scrollback buffer 调大，这样你就可以看到以前显示内容，这样方便很多。</P>
<P style="TEXT-INDENT: 2em">terminal要选择xtem，这样你ssh到服务器上才能显示颜色</P>
<P style="TEXT-INDENT: 2em"></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://hiphotos.baidu.com/chenshake/pic/item/6f2e4f668c009c37ab184c99.jpg" border=0></P>
<P style="TEXT-INDENT: 2em"></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://hiphotos.baidu.com/chenshake/pic/item/7e3cd31b900e68e9af51339b.jpg" border=0></P>
<P style="TEXT-INDENT: 2em">上面有几个地方需要注意的</P>
<P style="TEXT-INDENT: 2em">1：字符集选择utf8，这样可以避免显示汉字乱码</P>
<P style="TEXT-INDENT: 2em">2：选择字体的时候，需要选择ture type的字体，不然会出现汉字乱码</P>
<P style="TEXT-INDENT: 2em">3：scrollback buffer 调大，这样你就可以看到以前显示内容，这样方便很多。</P>
<P style="TEXT-INDENT: 2em">4：terminal要选择xtem，这样你ssh到服务器上才能显示颜色</P>
<P style="TEXT-INDENT: 2em">5：我选择的颜色方案是windows的，我感觉比较不错</P>
<P style="TEXT-INDENT: 2em"></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://hiphotos.baidu.com/chenshake/pic/item/72b71e4f0dd36225aec3ab6f.jpg" border=0></P>
<P style="TEXT-INDENT: 2em"></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/5579532008626114651329</comments>
    <slash:comments>1</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/5579532008626114651329</guid>
    <pubDate>Sat, 26 Jul 2008 11:46:51 +0800</pubDate>
    <dcterms:modified>2008-07-26T11:46:51+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[尼尔森F形状网页浏览模式]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200862411313596</link>
    <description><![CDATA[<div><P style="TEXT-INDENT: 2em">2006年4月，美国长期研究网站可用性的著名网站设计师杰柯柏·尼尔森（Jakob Nielsen）发表了一项《眼球轨迹的研究》报告（原文：<WBR></WBR><A href="http://www.useit.com/alertbox/reading_pattern.html">F-Shaped Pattern For Reading Web Content<WBR></WBR></A><WBR></WBR>）。<WBR></WBR> </P>
<P style="TEXT-INDENT: 2em">报告中提出，大多数情况下浏览者都不由自主的以“Ｆ”形状的模式阅读网页，这种基本恒定的阅读习惯决定了网页呈现F形的关注热度（见附图）。<WBR></WBR> </P>
<P style="TEXT-INDENT: 2em"><WBR></WBR>F形状网页浏览模式的形成<WBR></WBR><WBR></WBR> </P>
<P style="TEXT-INDENT: 2em">研究表明，浏览者打开网页后，按照下面的习惯形成F形网页浏览模式：<WBR></WBR> </P>
<P style="TEXT-INDENT: 2em"><WBR></WBR><A href="http://www.visionunion.com/admin/data/file/img/20080522/20080522007301.gif"><IMG src="http://www.visionunion.com/admin/data/file/img/20080522/20080522007301.gif" border=0></A><WBR></WBR></P>
<P style="TEXT-INDENT: 2em"><WBR></WBR>第一步：水平移动<WBR></WBR> <WBR></WBR></P>
<P style="TEXT-INDENT: 2em">浏览者首先在网页最上部形成一个水平浏览轨迹。 <WBR></WBR></P>
<P style="TEXT-INDENT: 2em"><WBR></WBR>第二步：目光下移，短范围水平移动<WBR></WBR> <WBR></WBR></P>
<P style="TEXT-INDENT: 2em">浏览者会将目光向下移，扫描比上一步短的区域。 <WBR></WBR></P>
<P style="TEXT-INDENT: 2em"><WBR></WBR>第三步：垂直浏览<WBR></WBR> <WBR></WBR></P>
<P style="TEXT-INDENT: 2em">浏览者完成上两步后，会将目光沿网页左侧垂直扫描；这一步的浏览速度较慢，也较有系统性、条理性。 <WBR></WBR></P>
<P style="TEXT-INDENT: 2em"><WBR></WBR>附图：F形状网页浏览模式<WBR></WBR> <WBR></WBR></P>
<P style="TEXT-INDENT: 2em">下面为杰柯柏·尼尔森报告中的3张热度图，用颜色来表示浏览者眼光聚集的热度，分为最热（红色）、较热（黄色）、不热（蓝色）和基本不关注（灰色）4种。其中图3搜索结果页因SERP中网站标题、网页摘要较宽，第二条线会随之加长，但仍然是F形状。 <WBR></WBR></P>
<P style="TEXT-INDENT: 2em"><WBR></WBR><A href="http://www.visionunion.com/admin/data/file/img/20080522/20080522007302.jpg"><IMG src="http://www.visionunion.com/admin/data/file/img/20080522/20080522007302.jpg" border=0></A><WBR></WBR><WBR></WBR>图1 一般说明性网页 <WBR></WBR></P>
<P style="TEXT-INDENT: 2em"><WBR></WBR><A href="http://www.visionunion.com/admin/data/file/img/20080522/20080522007303.jpg"><IMG src="http://www.visionunion.com/admin/data/file/img/20080522/20080522007303.jpg" border=0></A><WBR></WBR><WBR></WBR>图2 电子商务网页 <WBR></WBR></P>
<P style="TEXT-INDENT: 2em"><WBR></WBR><A href="http://www.visionunion.com/admin/data/file/img/20080522/20080522007304.jpg"><IMG src="http://www.visionunion.com/admin/data/file/img/20080522/20080522007304.jpg" border=0></A><WBR></WBR><WBR></WBR></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200862411313596</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200862411313596</guid>
    <pubDate>Thu, 24 Jul 2008 11:31:35 +0800</pubDate>
    <dcterms:modified>2008-07-24T11:31:35+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[极速3.0邮箱2008-07-18更新日志]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/55795320086182243743</link>
    <description><![CDATA[<div><P style="TEXT-INDENT: 2em">读信部分更新</P>
<P style="TEXT-INDENT: 2em">读信和发件箱增加发送状态标示</P>
<P style="TEXT-INDENT: 2em">发出的邮件是发送成功还是被对方拒收？读信页面和发件箱的图标表示即可告诉你答案。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080717_sj62.gif" border=0></P>
<P style="TEXT-INDENT: 2em">增加“打包下载全部附件”功能</P>
<P style="TEXT-INDENT: 2em">针对多于两个附件的邮件增加“打包下载全部附件”功能，方便附件的处理。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080717_sj42.jpg" border=0></P>
<P style="TEXT-INDENT: 2em">优化快捷回复流程</P>
<P style="TEXT-INDENT: 2em">优化读信页面中的快捷回复方式，使用户可以更便捷的回复邮件。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080717_sj5.gif" border=0></P>
<P style="TEXT-INDENT: 2em">选项部分更新</P>
<P style="TEXT-INDENT: 2em">选项页面增加 “发信自动保存”设置</P>
<P style="TEXT-INDENT: 2em">为了方便用户对发送的邮件的保存方式做出更多的选择，在选项的“参数设置”中增加多种邮件保存形式的设定，可以让用户合理的利用邮箱空间。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080717_sj1.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">增加“自助查询”</P>
<P style="TEXT-INDENT: 2em">为了方便查看邮箱动态和积分情况，开辟出“自助查询”功能。可以方便的查看发信和积分情况。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080717_sj2.gif" border=0></P>
<P style="TEXT-INDENT: 2em">在选项中增加“邮箱服务”</P>
<P style="TEXT-INDENT: 2em">在选项中增加“邮箱服务”，可以方便的直达邮箱的各个功能。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080717_sj3.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">其它部分更新</P>
<P style="TEXT-INDENT: 2em">增强对Safari的支持</P>
<P style="TEXT-INDENT: 2em">网易邮箱增强对浏览器Safari的支持，保证在Safari浏览器下可以进行各项邮箱基本操作。</P>
<P style="TEXT-INDENT: 2em"></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/55795320086182243743</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/55795320086182243743</guid>
    <pubDate>Fri, 18 Jul 2008 14:24:37 +0800</pubDate>
    <dcterms:modified>2008-07-18T14:24:37+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[极速3.0邮箱2008-07-10更新日志]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200861532821145</link>
    <description><![CDATA[<div><P style="TEXT-INDENT: 2em"><A href="http://comment.news.163.com/126_kefu_bbs/1260kefu00241ed5.html">发表您的意见&gt;&gt;</A></P>
<P style="TEXT-INDENT: 2em">隆重推出极速3.0正式版</P>
<P style="TEXT-INDENT: 2em">经过精心的策划和研发，2008年7月10日，网易163邮箱全新推出极速3.0正式版!此次的正式版不仅继承了网易邮箱在使用体验、安全稳定性上的超凡表现，而且还带来了更快更稳定的响应速度、更丰富更人性化的界面、更新颖更实用的功能！让您在使用邮箱的同时，也同时享受到极致而贴心的全方位服务，我们相信163极速3.0正式版会给您带来全新的独特体验！</P>
<P style="TEXT-INDENT: 2em">新增生活百宝箱</P>
<P style="TEXT-INDENT: 2em">生活百宝箱简介</P>
<P style="TEXT-INDENT: 2em">“生活百宝箱，天天帮你忙!”,网易邮箱“生活百宝箱”服务上线啦！使用这项服务,您不仅可以方便地获取各类生活常识、生活技巧,还可以轻松查询各类生活信息，让您在使用邮箱的同时，足不出户，即可了解生活的智慧，享受轻松生活的快乐!点击邮箱上方标签的“生活百宝箱”，即可进入生活百宝箱，开始您的体验。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_jieshao.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">便签</P>
<P style="TEXT-INDENT: 2em">最便利的文字记录工具，轻松保存、方便查看。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_bbx_bq1.gif" border=0></P>
<P style="TEXT-INDENT: 2em">万年历</P>
<P style="TEXT-INDENT: 2em">可查看农历、公历、各种重要节日等，信息齐全、简单明了。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_bbx_wnl1.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">航班查询</P>
<P style="TEXT-INDENT: 2em">可查询国内、国际机票信息，助您轻松出行。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_bbx_hbcx1.gif" border=0></P>
<P style="TEXT-INDENT: 2em">火车查询</P>
<P style="TEXT-INDENT: 2em">提供全国各地火车起点/终点/车次的信息的查询。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_bbx_hccx1.gif" border=0></P>
<P style="TEXT-INDENT: 2em">小工具集</P>
<P style="TEXT-INDENT: 2em">手机归属地/邮编区号/IP/身份证查询、英汉/汉英互译，各种小工具，为您提供方便。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_bbx_xgjj1.gif" border=0></P>
<P style="TEXT-INDENT: 2em">城市地图</P>
<P style="TEXT-INDENT: 2em">提供中国境内电子地图搜索服务，想到哪里，就能看到哪里。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_bbx_wzdx1.gif" border=0></P>
<P style="TEXT-INDENT: 2em">如何返回首页？</P>
<P style="TEXT-INDENT: 2em">在“生活百宝箱”的每一个页面顶端，都有页面的导航信息，你可以从这里轻松返回首页，继续体验之旅。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_daohang.gif" border=0></P>
<P style="TEXT-INDENT: 2em">更多功能</P>
<P style="TEXT-INDENT: 2em">除了上述功能，生活百宝箱还提供家常菜谱、倒计时提醒、节日一览表、中国朝代表、生肖属相、 星座、唐诗、宋词、成语词典等功能，有了“生活百宝箱”，生活真方便，快来轻松体验吧！ </P>
<P style="TEXT-INDENT: 2em">其他更新</P>
<P style="TEXT-INDENT: 2em">记事本 - 入口位置修改</P>
<P style="TEXT-INDENT: 2em">本次更新对记事本的位置进行调整，现在点击邮箱左下角“邮箱服务“中的“记事本”，便可以使用记事本服务。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/080710_notebook.gif" border=0> </P>
<P style="TEXT-INDENT: 2em"><A href="http://comment.news.163.com/126_kefu_bbs/1260kefu00241ed5.html">发表您的意见&gt;&gt;</A></P>
<P style="TEXT-INDENT: 2em"></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200861532821145</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200861532821145</guid>
    <pubDate>Tue, 15 Jul 2008 15:28:21 +0800</pubDate>
    <dcterms:modified>2008-07-15T15:28:21+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[学会和同事相处30个原则]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/55795320086153278446</link>
    <description><![CDATA[<div>1.无论发生什么事情，都要首先想到自己是不是做错了。如果自己没错（那是不可能的），那么就站在对方的角度，体验一下对方的感觉。<BR>2.让自己去适应环境，因为环境永远不会来适应你。即使这是一个非常非常痛苦的过程。<BR>3.大方一点。不会大方就学大方一点。如果大方真的会让你很心疼，那就装大方一点。<BR>4.低调一点，低调一点，再低调一点（要比临时工还要低调，可能在别人眼中你还不如一个干了几年的临时工呢）。<BR>5.嘴要甜，平常不要吝惜你的喝彩声。 （会夸奖人。好的夸奖，会让人产生愉悦感，但不要过头到令人反感。）<BR>6.如果你觉得最近一段时间工作顺利的不得了，那你就要加小心了。<BR>7.有礼貌。打招呼时要看着对方的眼睛。以长辈的称呼和年纪大的人沟通，因为你就是不折不扣小子辈。<BR>8.少说多做。言多必失，人多的场合少说话。<BR>9.不要把别人的好，视为理所当然，要知道感恩。<BR>10.手高眼低。<BR>11.遵守时间，但不要期望别人也遵守时间。<BR>12.信首诺言，但不要轻易许诺。更不要把别人对你的承诺一直记在心上并信以为真。<BR>13.不要向同事借钱，如果借了，那么一定要准时还。<BR>14.不要借钱给同事，如果不得不借，那么就当送给他好了。<BR>15.不要推脱责任（即使是别人的责任。偶尔承担一次你会死啊？）。<BR>16.在一个同事的后面不要说另一个同事的坏话。要坚持在背后说别人好话，别担心这好话传不到当事人耳朵里。 如果有人在你面前说某人坏话时，你要微笑。<BR>17.避免和同事公开对立（包括公开提出反对意见，激烈的更不可取）。<BR>18.经常帮助别人，但是不能让被帮的人觉得理所应当。<BR>19.说实话会让你倒大霉。<BR>20.对事不对人；或对事无情，对人要有情；或做人第一，做事其次。<BR>21.经常检查自己是不是又自负了，又骄傲了，又看不起别人了。（即使你有通天之才没有别人的合作和帮助也是白搭）<BR>22.忍耐是人生的必修课。（要忍耐一生的啊，有的人一辈子到死这门功课也不及格）<BR>23.新到一个地方，不要急于融入到其中哪个圈子里去。等到了足够的时间，属于你的那个圈子会自动接纳你。<BR>24.有一颗平常心。没什么大不了的，好事要往坏处想，坏事要往好处想。<BR>25.尽量不要发生办公室恋情，如果实在避免不了，那就在办公室避免任何形式的身体接触，包括眼神。（如果你或者对方已婚，——恭喜你，兄弟。你，死，定，了！！！）<BR>26.会拍马屁（这是和顶头上司沟通的重要途径之一），但小心不要弄脏手。切忌用舌头去舔马屁。<BR>27.资历非常重要。不要和老家伙们耍心眼斗法，否则你回死得很难看的。<BR>28.好心有时不会有好结果，但不能因此而灰心。<BR>29.待上以敬，待下以宽。<BR>30.如果你带领一个团队，在总结工作时要把错误都揽在自己身上，把功劳都记在下属身上。当上司和下属同时在场时要记得及时表扬你的下属。批评人的时候一定要在只有你们两个人的情况下才能进行。</div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/55795320086153278446</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/55795320086153278446</guid>
    <pubDate>Tue, 15 Jul 2008 15:27:08 +0800</pubDate>
    <dcterms:modified>2008-07-15T15:27:08+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[浏览器内存占用测试Firefox 3胜出]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/55795320085301468547</link>
    <description><![CDATA[<div><P style="TEXT-INDENT: 2em">关于WEB浏览器的实际性能实际上并没有很好的测试软件。而由dotnetperls网站则自己编写了一个浏览器测试软件，通过长时间收集浏览器的系统内存 占用数据，从而得出相对准确的浏览器相对内存占用结果。参与测试的浏览器包括Firefox，Safari、IE等等，测试软件每3秒钟截获一次系统内存 占用率，根据3个小时内浏览器打开网站的内存占用，从而得出粗略的性能统计。</P>
<P style="TEXT-INDENT: 2em">根据统计，firefox 3.0在内存控制上有独到的经验，在整个测试中遥遥领先。</P>
<P style="TEXT-INDENT: 2em">参与测试的浏览器版本为Safari 3.1.2、Firefox 3.0、Flock 1.2.2、Opera 9.5、IE 8 beta1。测试环境为Vista SP1，3GB内存。没有安装任何浏览器插件，而Acrobat Reader和Java插件虽然安装了，但是没有打开。而Flock实际上基于Firefox 2.0。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://news.mydrivers.com/img/20080630/S10022015.png" border=0></P>
<P style="TEXT-INDENT: 2em"></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/55795320085301468547</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/55795320085301468547</guid>
    <pubDate>Mon, 30 Jun 2008 13:46:08 +0800</pubDate>
    <dcterms:modified>2008-06-30T13:46:08+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[地震后记]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/5579532008525112236278</link>
    <description><![CDATA[<div><P>离汶川地震已经有40多天了，众所周知的一些原因，博客也停运了40多天，都是在两天前恢复。很多时</P>
<P>候感觉40天是一个十分短的时间，但这40天似乎经历了太多太多。</P>
<P>第一次成天守在家里看CCTV的直播，第一次感受全国动员的力量，第一次为灾难感动，第一次经历国家哀悼日……</P>
<P>我其实是一个很纯粹的城市主义者了，当12号下午看见各地都在说地震的时候，有一种世界末日的感觉，后来知道是汶川地震，想到成都肯定完了，很多人死伤，妻离子散不说，再想到在建的地铁，成哈铁路，都汶高速全部成了未知数，心灰意冷。但是成都没有垮，当天就有很多人去当志愿者，的哥好样的，免费运送伤员和物资，军人好样的，把自己的生命抛在一边，牺牲生命在所不辞，市民好样的，有钱出钱，有力出力，有血出血；政府好样的，温总理第一时间来了四川。四川没有被大家抛弃，没有被大家放弃，相反，四川会在重建中得到更多重视，获得更多机会。</P>
<P>另，40天，居然连房都买了，计划没有变化快，又充分体会到了。</P>
<P>经历的灾难已经过去，经历的等待已经结束，新的生活已经开始，大家努力好好过好每一天吧！</P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/5579532008525112236278</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/5579532008525112236278</guid>
    <pubDate>Wed, 25 Jun 2008 11:22:36 +0800</pubDate>
    <dcterms:modified>2008-06-25T11:22:36+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[逍遥3.0邮箱2008年6月19日更新日志]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200852013620744</link>
    <description><![CDATA[<div><P style="TEXT-INDENT: 2em">写信页面更新</P>
<P style="TEXT-INDENT: 2em">新增－批量上传附件</P>
<P style="TEXT-INDENT: 2em">点击“批量上传附件”，可以同时选择多个附件进行上传，选择完成，附件马上自动上传，并显示上传进度，点击“查看详细”可查看附件各自上传详细进度。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_plsc1.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_plsc2.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_plsc3.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">新增－截图</P>
<P style="TEXT-INDENT: 2em">点击编辑器上的“截图”按钮，即可开始使用邮箱截图功能，把想要截取的窗口调到最前，点击“开始截屏”，按提示开始截图。截图完成，图片添加到编辑器里面。同时自动添加到附件中。（温馨提示: 在编辑器删除图片，附件中的图片仍然保留，请自行删除）</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_jt1.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_jt2.jpg" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_jt3.jpg" border=0> </P>
<P style="TEXT-INDENT: 2em">邮件正文插入本地图片</P>
<P style="TEXT-INDENT: 2em">点击编辑器上的“图片”按钮，即可开始使用插入图片功能，选择“本机图片”即可上传图片。添加完成，图片添加到编辑器里面。同时自动添加到附件中。 （温馨提示: 在编辑器中删除本地图片，附件中的图片仍然保留，请自行删除）</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_bdtp1.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_bdtp2.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_bdtp3.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">读信页面更新</P>
<P style="TEXT-INDENT: 2em">新增 - 查看邮件往来</P>
<P style="TEXT-INDENT: 2em">在邮箱读信页面中新增“查看邮件往来”功能，方便你查看与当前发件人的所有往来邮件。 </P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_dx_yjwl.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">新增 - 诈骗邮件提示</P>
<P style="TEXT-INDENT: 2em">在邮箱读信时新增诈骗邮件提示，当你阅读信件时出现该提示，请注意你收到的邮件可能为可疑诈骗邮件。 </P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_dx_zpts.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">收件箱更新</P>
<P style="TEXT-INDENT: 2em">新增 - 系统邮件提示</P>
<P style="TEXT-INDENT: 2em">新增加的系统邮件提示，方便识别系统邮件，为你提供更安全的服务。 </P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_sx_xtts.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">音乐盒更新</P>
<P style="TEXT-INDENT: 2em">新增 - 音乐盒的设置功能</P>
<P style="TEXT-INDENT: 2em">在音乐盒设置页面增加“随机播放”和“登录后自动播放”的设置，方便你的个性化操作。 </P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_yyh.gif" border=0> </P>
<P style="TEXT-INDENT: 2em">选项更新</P>
<P style="TEXT-INDENT: 2em">新增 - 邮箱服务入口</P>
<P style="TEXT-INDENT: 2em">邮箱选项中新增邮箱服务，方便你享受更多更优质的服务。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.126.com/help/xy3update/dm3_update_res/080619_xx_yxfw.gif" border=0></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200852013620744</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200852013620744</guid>
    <pubDate>Fri, 20 Jun 2008 13:36:20 +0800</pubDate>
    <dcterms:modified>2008-06-20T13:36:20+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[JDK5.0的11个主要新特征]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200841155758966</link>
    <description><![CDATA[<div><P>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 泛型(Generic)<BR>1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说明</P>
<P>增强了java的类型安全，可以在编译期间对容器内的对象进行类型检查，在运行期不必进行类型的转换。而在j2se5之前必须在运行期动态进行容器内对象的检查及转换</P>
<P>减少含糊的容器，可以定义什么类型的数据放入容器</P>
<P>ArrayList&lt;Integer&gt; listOfIntegers; // &lt;TYPE_NAME&gt; is new to the syntax</P>
<P>Integer integerObject;</P>
<P>listOfIntegers = new ArrayList&lt;Integer&gt;(); // &lt;TYPE_NAME&gt; is new to the syntax</P>
<P>listOfIntegers.add(new Integer(10)); // 只能是Integer类型</P>
<P>integerObject = listOfIntegers.get(0); // 取出对象不需要转换</P>
<P>1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用法</P>
<P>声明及实例化泛型类：</P>
<P>HashMap&lt;String,Float&gt; hm = new HashMap&lt;String,Float&gt;();</P>
<P>//不能使用原始类型</P>
<P>GenList&lt;int&gt; nList = new GenList&lt;int&gt;();&nbsp; //编译错误</P>
<P>J2SE 5.0目前不支持原始类型作为类型参数(type parameter)</P>
<P>定义泛型接口：</P>
<P>public interface GenInterface&lt;T&gt; {</P>
<P>&nbsp;&nbsp;&nbsp; void func(T t);</P>
<P>}</P>
<P>定义泛型类：</P>
<P>public class ArrayList&lt;ItemType&gt; { ... }</P>
<P>public class GenMap&lt;T, V&gt; { ... }</P>
<P>例1：</P>
<P>public class MyList&lt;Element&gt; extends LinkedList&lt;Element&gt;</P>
<P>{</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void swap(int i, int j)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element temp = this.get(i);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.set(i, this.get(j));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.set(j, temp);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyList&lt;String&gt; list = new MyList&lt;String&gt;();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.add("hi");</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.add("andy");</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(list.get(0) + " " + list.get(1));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.swap(0,1);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(list.get(0) + " " + list.get(1));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>例2：</P>
<P>public class GenList &lt;T&gt;{</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private T[] elements;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private int size = 0;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private int length = 0;</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public GenList(int size) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elements = (T[])new Object[size];</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.size = size;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public T get(int i) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i &lt; length) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return elements[i];</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void add(T e) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (length &lt; size - 1)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elements[length++] = e;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>泛型方法：</P>
<P>public class TestGenerics{</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public &lt;T&gt; String getString(T obj) { //实现了一个泛型方法</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return obj.toString();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String [] args){</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestGenerics t = new TestGenerics();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String s = "Hello";</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Integer i = 100;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(t.getString(s));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(t.getString(i));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 受限泛型</P>
<P>　　受限泛型是指类型参数的取值范围是受到限制的. extends关键字不仅仅可以用来声明类的继承关系, 也可以用来声明类型参数(type parameter)的受限关系.例如, 我们只需要一个存放数字的列表, 包括整数(Long, Integer, Short), 实数(Double, Float), 不能用来存放其他类型, 例如字符串(String), 也就是说, 要把类型参数T的取值泛型限制在Number极其子类中.在这种情况下, 我们就可以使用extends关键字把类型参数(type parameter)限制为数字</P>
<P>示例</P>
<P>public class Limited&lt;T extends Number&gt; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Limited&lt;Integer&gt; number;&nbsp;&nbsp; //正确</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Limited&lt;String&gt; str;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //编译错误</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>1.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 泛型与异常</P>
<P>类型参数在catch块中不允许出现，但是能用在方法的throws之后。例：</P>
<P>import java.io.*;</P>
<P>interface Executor&lt;E extends Exception&gt; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void execute() throws E;</P>
<P>}</P>
<P>&nbsp;</P>
<P>public class GenericExceptionTest {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String args[]) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Executor&lt;IOException&gt; e = new Executor&lt;IOException&gt;() {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void execute() throws IOException{</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // code here that may throw an</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // IOException or a subtype of</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // IOException</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.execute();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch(IOException ioe) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("IOException: " + ioe);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ioe.printStackTrace();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 泛型的通配符"?"</P>
<P>"?"可以用来代替任何类型, 例如使用通配符来实现print方法。</P>
<P>public static void print(GenList&lt;?&gt; list) {})</P>
<P>1.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 泛型的一些局限型</P>
<P>不能实例化泛型</P>
<P>T t = new T(); //error</P>
<P>不能实例化泛型类型的数组</P>
<P>T[] ts= new T[10];&nbsp;&nbsp; //编译错误</P>
<P>不能实例化泛型参数数</P>
<P>Pair&lt;String&gt;[] table = new Pair&lt;String&gt;(10); // ERROR</P>
<P>类的静态变量不能声明为类型参数类型</P>
<P>public class GenClass&lt;T&gt; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; private static T t;&nbsp;&nbsp;&nbsp; //编译错误</P>
<P>}</P>
<P>泛型类不能继承自Throwable以及其子类</P>
<P>public GenExpection&lt;T&gt; extends Exception{}&nbsp;&nbsp;&nbsp; //编译错误 </P>
<P>不能用于基础类型int等</P>
<P>Pair&lt;double&gt; //error</P>
<P>Pair&lt;Double&gt; //right</P>
<P>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 增强循环(Enhanced for Loop)</P>
<P>旧的循环</P>
<P>LinkedList list = new LinkedList();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>list.add("Hi");</P>
<P>list.add("everyone!");</P>
<P>list.add("Was");</P>
<P>list.add("the");</P>
<P>list.add("pizza");</P>
<P>list.add("good?");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>for (int i = 0; i &lt; list.size(); i++)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println((String) list.get(i));</P>
<P>//或者用以下循环</P>
<P>//for(Iterator iter = list.iterator(); iter.hasNext(); ) {</P>
<P>//Integer stringObject = (String)iter.next();</P>
<P>// ... more statements to use stringObject... </P>
<P>//}</P>
<P>新的循环</P>
<P>LinkedList&lt;String&gt; list = new LinkedList&lt;String&gt;();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>list.add("Hi");</P>
<P>list.add("everyone!");</P>
<P>list.add("Was");</P>
<P>list.add("the");</P>
<P>list.add("pizza");</P>
<P>list.add("good?");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>for (String s : list)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(s);</P>
<P>很清晰、方便，一看便知其用法</P>
<P>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可变参数(Variable Arguments)</P>
<P>实现了更灵活的方法参数传入方式，System.out.printf是个很好的例子</P>
<P>用法：void test(Object … args)</P>
<P>一个很容易理解的例子</P>
<P>public static int add(int ... args){</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int total = 0;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; args.length; i++)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; total += args[i];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return total;</P>
<P>}</P>
<P>public static void main(String[] args){</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int a;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = Varargs.add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(a);</P>
<P>}</P>
<P>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 自动实现装箱和解箱操作(Boxing/Unboxing Conversions)</P>
<P>说明：实现了基本类型与外覆类之间的隐式转换。基本类型至外覆类的转换称为装箱，外覆类至基本类型的转换为解箱。这些类包括</P>
<P>Primitive Type&nbsp;&nbsp;&nbsp;&nbsp; Reference Type</P>
<P>boolean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Boolean</P>
<P>byte&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Byte</P>
<P>char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Character</P>
<P>short&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Short</P>
<P>int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Integer</P>
<P>long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Long</P>
<P>float&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Float</P>
<P>double&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Double</P>
<P>例如，旧的实现方式</P>
<P>Integer intObject;</P>
<P>int intPrimitive;</P>
<P>ArrayList arrayList = new ArrayList();</P>
<P>intPrimitive = 11;</P>
<P>intObject = new Integer(intPrimitive);</P>
<P>arrayList.put(intObject); // 不能放入int类型，只能使Integer</P>
<P>新的实现方式</P>
<P>int intPrimitive;</P>
<P>ArrayList arrayList = new ArrayList();</P>
<P>intPrimitive = 11;</P>
<P>//在这里intPrimitive被自动的转换为Integer类型</P>
<P>arrayList.put(intPrimitive);</P>
<P>5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 静态导入(Static Imports)</P>
<P>很简单的东西，看一个例子：</P>
<P>没有静态导入</P>
<P>Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));</P>
<P>有了静态导入</P>
<P>import static java.lang.Math.*;</P>
<P>sqrt(pow(x, 2) + pow(y, 2));</P>
<P>&nbsp;</P>
<P>其中import static java.lang.Math.*;就是静态导入的语法，它的意思是导入Math类中的所有static方法和属性。这样我们在使用这些方法和属性时就不必写类名。</P>
<P>需要注意的是默认包无法用静态导入，另外如果导入的类中有重复的方法和属性则需要写出类名，否则编译时无法通过。</P>
<P>6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 枚举类(Enumeration Classes)</P>
<P>用法：public enum Name {types, ….}</P>
<P>简单的例子：</P>
<P>public enum Colors {Red, Yellow, Blue, Orange, Green, Purple, Brown, Black}</P>
<P>public static void main(String[] args){</P>
<P>&nbsp;&nbsp;&nbsp; Colors myColor = Colors.Red;</P>
<P>&nbsp;&nbsp;&nbsp; System.out.println(myColor);</P>
<P>}</P>
<P>又一个简单例子：</P>
<P>import java.util.*;</P>
<P>enum OperatingSystems {windows, unix, linux, macintosh}</P>
<P>public class EnumExample1 {</P>
<P>&nbsp;&nbsp;&nbsp; public static void main(String args[])&nbsp; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OperatingSystems os;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os = OperatingSystems.windows;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(os) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case windows:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(“You chose Windows!”);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case unix:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(“You chose Unix!”);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case linux:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(“You chose Linux!”);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case macintosh:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(“You chose Macintosh!”);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(“I don’t know your OS.”);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>应运enum简写的例子：</P>
<P>import java.util.*;</P>
<P>&nbsp;</P>
<P>public class EnumTest</P>
<P>{</P>
<P>&nbsp;&nbsp; public static void main(String[] args)</P>
<P>&nbsp;&nbsp; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scanner in = new Scanner(System.in);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print("Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE) ");</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String input = in.next().toUpperCase();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size size = Enum.valueOf(Size.class, input);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("size=" + size);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("abbreviation=" + size.getAbbreviation());</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (size == Size.EXTRA_LARGE)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("Good job--you paid attention to the _.");</P>
<P>&nbsp;&nbsp; }</P>
<P>}</P>
<P>&nbsp;</P>
<P>enum Size</P>
<P>{</P>
<P>&nbsp;&nbsp; SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL");</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp; private Size(String abbreviation) { this.abbreviation = abbreviation; }</P>
<P>&nbsp;&nbsp; public String getAbbreviation() { return abbreviation; }</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp; private String abbreviation;</P>
<P>}</P>
<P>enum类中拥有方法的一个例子：</P>
<P>enum ProgramFlags {</P>
<P>&nbsp;&nbsp;&nbsp; showErrors(0x01),</P>
<P>&nbsp;&nbsp;&nbsp; includeFileOutput(0x02),</P>
<P>&nbsp;&nbsp;&nbsp; useAlternateProcessor(0x04);</P>
<P>&nbsp;&nbsp;&nbsp; private int bit;</P>
<P>&nbsp;&nbsp;&nbsp; ProgramFlags(int bitNumber) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bit = bitNumber;</P>
<P>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; public int getBitNumber()&nbsp;&nbsp; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(bit);</P>
<P>&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>public class EnumBitmapExample {</P>
<P>&nbsp;&nbsp;&nbsp; public static void main(String args[])&nbsp; {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ProgramFlags flag = ProgramFlags.showErrors;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(“Flag selected is: “ +</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag.ordinal() +</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “ which is “ +</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag.name());</P>
<P>&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 元数据(Meta data)</P>
<P>请参考</P>
<P><A href="http://www-900.ibm.com/developerWorks/cn/java/j-annotate1/">http://www-900.ibm.com/developerWorks/cn/java/j-annotate1/</A></P>
<P><A href="http://www-900.ibm.com/developerworks/cn/java/j-annotate2.shtml">http://www-900.ibm.com/developerworks/cn/java/j-annotate2.shtml</A></P>
<P>8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Building Strings(StringBuilder类)</P>
<P>在JDK5.0中引入了StringBuilder类，该类的方法不是同步(synchronized)的，这使得它比StringBuffer更加轻量级和有效。</P>
<P>9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制台输入(Console Input)</P>
<P>在JDK5.0之前我们只能通过JOptionPane.showInputDialog进行输入，但在5.0中我们可以通过类Scanner在控制台进行输入操作</P>
<P>&nbsp;&nbsp;&nbsp; 例如在1.4中的输入</P>
<P>&nbsp;&nbsp;&nbsp; String input = JOptionPane.showInputDialog(prompt);</P>
<P>int n = Integer.parseInt(input);</P>
<P>double x = Double.parseDouble(input);</P>
<P>s = input;</P>
<P>在5.0中我们可以</P>
<P>Scanner in = new Scanner(System.in);</P>
<P>System.out.print(prompt);</P>
<P>int n = in.nextInt();</P>
<P>double x = in.nextDouble();</P>
<P>String s = in.nextLine();</P>
<P>10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Covariant Return Types(不晓得怎么翻译)</P>
<P>JDK5之前我们覆盖一个方法时我们无法改变被方法的返回类型，但在JDK5中我们可以改变它</P>
<P>例如1.4中我们只能</P>
<P>public Object clone() { ... }</P>
<P>...</P>
<P>Employee cloned = (Employee) e.clone();</P>
<P>但是在5.0中我们可以改变返回类型为Employee</P>
<P>public Employee clone() { ... }</P>
<P>...</P>
<P>Employee cloned = e.clone();</P>
<P>11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 格式化I/O(Formatted I/O)</P>
<P>增加了类似C的格式化输入输出，简单的例子：</P>
<P>public class TestFormat{</P>
<P>&nbsp;&nbsp;&nbsp; public static void main(String[] args){</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int a = 150000, b = 10;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float c = 5.0101f, d = 3.14f;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.printf("%4d %4d%n", a, b);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.printf("%x %x%n", a, b);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.printf("%3.2f %1.1f%n", c, d);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.printf("%1.3e %1.3e%n", c, d*100);</P>
<P>&nbsp;&nbsp;&nbsp; }</P>
<P>}</P>
<P>输出结果为：</P>
<P>150000&nbsp;&nbsp; 10</P>
<P>249f0 a</P>
<P>5.01 3.1</P>
<P>5.010e+00 3.140e+02</P>
<P>下面是一些格式化参数说明(摘自Core Java 2 Volume I - Fundamentals, Seventh Edition)</P>
<P>Table 3-5. Conversions for printf</P>
<P>Conversion Character<BR>&nbsp;Type<BR>&nbsp;Example<BR>&nbsp;<BR>d<BR>&nbsp;Decimal integer<BR>&nbsp;159<BR>&nbsp;<BR>x<BR>&nbsp;Hexadecimal integer<BR>&nbsp;9f<BR>&nbsp;<BR>o<BR>&nbsp;Octal integer<BR>&nbsp;237<BR>&nbsp;<BR>f<BR>&nbsp;Fixed-point floating-point<BR>&nbsp;15.9<BR>&nbsp;<BR>e<BR>&nbsp;Exponential floating-point<BR>&nbsp;1.59E+01<BR>&nbsp;<BR>g<BR>&nbsp;General floating-point (the shorter of e and f)<BR>&nbsp; <BR>&nbsp;<BR>a<BR>&nbsp;Hexadecimal floating point<BR>&nbsp;0x1.fccdp3<BR>&nbsp;<BR>s<BR>&nbsp;String<BR>&nbsp;Hello<BR>&nbsp;<BR>c<BR>&nbsp;Character<BR>&nbsp;H<BR>&nbsp;<BR>b<BR>&nbsp;Boolean<BR>&nbsp;TRUE<BR>&nbsp;<BR>h<BR>&nbsp;Hash code<BR>&nbsp;42628b2<BR>&nbsp;<BR>tx<BR>&nbsp;Date and time<BR>&nbsp;See Table 3-7<BR>&nbsp;<BR>%<BR>&nbsp;The percent symbol<BR>&nbsp;%<BR>&nbsp;<BR>n<BR>&nbsp;The platform-dependent line separator<BR>&nbsp; <BR>&nbsp;</P>
<P>&nbsp;</P>
<P>Table 3-7. Date and Time Conversion Characters</P>
<P>Conversion Character<BR>&nbsp;Type<BR>&nbsp;Example<BR>&nbsp;<BR>C<BR>&nbsp;Complete date and time<BR>&nbsp;Mon Feb 09 18:05:19 PST 2004<BR>&nbsp;<BR>F<BR>&nbsp;ISO 8601 date<BR>&nbsp;2004-02-09<BR>&nbsp;<BR>D<BR>&nbsp;U.S. formatted date (month/day/year)<BR>&nbsp;02/09/2004<BR>&nbsp;<BR>T<BR>&nbsp;24-hour time<BR>&nbsp;18:05:19<BR>&nbsp;<BR>r<BR>&nbsp;12-hour time<BR>&nbsp;06:05:19 pm<BR>&nbsp;<BR>R<BR>&nbsp;24-hour time, no seconds<BR>&nbsp;18:05<BR>&nbsp;<BR>Y<BR>&nbsp;Four-digit year (with leading zeroes)<BR>&nbsp;2004<BR>&nbsp;<BR>y<BR>&nbsp;Last two digits of the year (with leading zeroes)<BR>&nbsp;04<BR>&nbsp;<BR>C<BR>&nbsp;First two digits of the year (with leading zeroes)<BR>&nbsp;20<BR>&nbsp;<BR>B<BR>&nbsp;Full month name<BR>&nbsp;February<BR>&nbsp;<BR>b or h<BR>&nbsp;Abbreviated month name<BR>&nbsp;Feb<BR>&nbsp;<BR>m<BR>&nbsp;Two-digit month (with leading zeroes)<BR>&nbsp;02<BR>&nbsp;<BR>d<BR>&nbsp;Two-digit day (with leading zeroes)<BR>&nbsp;09<BR>&nbsp;<BR>e<BR>&nbsp;Two-digit day (without leading zeroes)<BR>&nbsp;9<BR>&nbsp;<BR>A<BR>&nbsp;Full weekday name<BR>&nbsp;Monday<BR>&nbsp;<BR>a<BR>&nbsp;Abbreviated weekday name<BR>&nbsp;Mon<BR>&nbsp;<BR>j<BR>&nbsp;Three-digit day of year (with leading zeroes), between 001 and 366<BR>&nbsp;069<BR>&nbsp;<BR>H<BR>&nbsp;Two-digit hour (with leading zeroes), between 00 and 23<BR>&nbsp;18<BR>&nbsp;<BR>k<BR>&nbsp;Two-digit hour (without leading zeroes), between 0 and 23<BR>&nbsp;18<BR>&nbsp;<BR>I<BR>&nbsp;Two-digit hour (with leading zeroes), between 01 and 12<BR>&nbsp;06<BR>&nbsp;<BR>l<BR>&nbsp;Two-digit hour (without leading zeroes), between 1 and 12<BR>&nbsp;6<BR>&nbsp;<BR>M<BR>&nbsp;Two-digit minutes (with leading zeroes)<BR>&nbsp;05<BR>&nbsp;<BR>S<BR>&nbsp;Two-digit seconds (with leading zeroes)<BR>&nbsp;19<BR>&nbsp;<BR>L<BR>&nbsp;Three-digit milliseconds (with leading zeroes)<BR>&nbsp;047<BR>&nbsp;<BR>N<BR>&nbsp;Nine-digit nanoseconds (with leading zeroes)<BR>&nbsp;047000000<BR>&nbsp;<BR>P<BR>&nbsp;Uppercase morning or afternoon marker<BR>&nbsp;PM<BR>&nbsp;<BR>p<BR>&nbsp;Lowercase morning or afternoon marker<BR>&nbsp;pm<BR>&nbsp;<BR>z<BR>&nbsp;RFC 822 numeric offset from GMT<BR>&nbsp;-0800<BR>&nbsp;<BR>Z<BR>&nbsp;Time zone<BR>&nbsp;PST<BR>&nbsp;<BR>s<BR>&nbsp;Seconds since 1970-01-01 00:00:00 GMT<BR>&nbsp;1078884319<BR>&nbsp;<BR>E<BR>&nbsp;Milliseconds since 1970-01-01 00:00:00 GMT<BR>&nbsp;1078884319047<BR>&nbsp;</P>
<P>&nbsp;</P>
<P>Table 3-6. Flags for printf</P>
<P>Flag<BR>&nbsp;Purpose<BR>&nbsp;Example<BR>&nbsp;<BR>+<BR>&nbsp;Prints sign for positive and negative numbers<BR>&nbsp;+3333.33<BR>&nbsp;<BR>space<BR>&nbsp;Adds a space before positive numbers<BR>&nbsp;| 3333.33|<BR>&nbsp;<BR>0<BR>&nbsp;Adds leading zeroes<BR>&nbsp;003333.33<BR>&nbsp;<BR>-<BR>&nbsp;Left-justifies field<BR>&nbsp;|3333.33 |<BR>&nbsp;<BR>(<BR>&nbsp;Encloses negative number in parentheses<BR>&nbsp;(3333.33)<BR>&nbsp;<BR>,<BR>&nbsp;Adds group separators<BR>&nbsp;3,333.33<BR>&nbsp;<BR># (for f format)<BR>&nbsp;Always includes a decimal point<BR>&nbsp;3,333.<BR>&nbsp;<BR># (for x or o format)<BR>&nbsp;Adds 0x or 0 prefix<BR>&nbsp;0xcafe<BR>&nbsp;<BR>^<BR>&nbsp;Converts to upper case<BR>&nbsp;0XCAFE<BR>&nbsp;<BR>$<BR>&nbsp;Specifies the index of the argument to be formatted; for example, %1$d %1$x prints the first argument in decimal and hexadecimal<BR>&nbsp;159 9F<BR>&nbsp;<BR>&lt; <BR>&nbsp;Formats the same value as the previous specification; for example, %d %&lt;x prints the same number in decimal and hexadecimal<BR>&nbsp; <BR>&nbsp;</P>
<P>&nbsp;</P>
<P>这里是一些简单的介绍，更详细的说明请参考：</P>
<P>Core Java 2 Volume I - Fundamentals, Seventh Edition</P>
<P>Core Java 2 Volume II - Advanced Features, Seventh Edition</P>
<P>里面都有一些很精彩的描述，中文名称就是《Java核心技术》。只有第七版才有J2SE5.0的介绍，但是第七版好像还没有中文版。本文还参考了Professional Java JDK - 5th Edition.</P>
<P>&nbsp;</P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200841155758966</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200841155758966</guid>
    <pubDate>Sun, 11 May 2008 17:57:58 +0800</pubDate>
    <dcterms:modified>2008-05-11T17:57:58+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[JDK1.5新语法]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200841154225274</link>
    <description><![CDATA[<div><P>1 - 泛型编程<BR>ArrayList&lt;String&gt; list = new ArrayList&lt;String&gt;();<BR>list.add(new String("Hello!"));<BR>System.out.println(list.get(0));</P>
<P>2 - 自动装箱/拆箱<BR>ArrayList list = new ArrayList();<BR>Integer number = new Integer(10);&nbsp; //先要把数字弄进包装类<BR>list.add(number);</P>
<P>//然后想要取出这个数字也极其麻烦，看看这个式子，晕啊！<BR>int i = ((Integer)list.get(0)).intValue();</P>
<P>ArrayList&lt;Integer&gt; list = new ArrayList&lt;Integer&gt;();<BR>list.add(10);<BR>int i = list.get(0);</P>
<P>3 - 增强的循环结构</P>
<P>呵呵，这可是一个非常厉害的东东啊，不能小视。以前的for(;;)循环我想大家都很熟悉，我也不再举例子了，咱们就看看现在这个新的循环吧：</P>
<P>int data[] = { 1, 2, 3, 4, 5 };<BR>for(int j : data)<BR>&nbsp;&nbsp;&nbsp; System.out.println(j);</P>
<P>4 - 枚举类型<BR>这是一个C/C++程序员都比较熟悉的概念，但是以前Java里面没有，现在终于引入了，用法和C/C++中相似：<BR>enum Color {<BR>&nbsp;&nbsp;&nbsp; BLACK,<BR>&nbsp;&nbsp;&nbsp; WHITE,<BR>&nbsp;&nbsp;&nbsp; GREEN<BR>};</P>
<P>Color c = Color.GREEN;</P>
<P>5 - 静态import</P>
<P>double result = Math.sqrt(100);</P>
<P>那个前面的前缀Math是不是有点不爽，要是和C语言里面直接使用sqrt()就好了。OK，现在我们可以了--使用静态import:</P>
<P>import static java.lang.Math.*;</P>
<P>double result = sqrt(100);</P>
<P><BR>6 - 格式化输出</P>
<P><BR>System.out.printf("This is a test: %4.2f\n", 123.123);</P>
<P>这就会打印出：This is a test: 123.12</P>
<P>7 - 从终端读取数据</P>
<P>刚开始接触Java的时候，我怎么也不能用Java在终端像C一样方便的读取数据。要从终端读取一个整数我以前是这么弄的：</P>
<P>try {<BR>&nbsp;&nbsp;&nbsp; BufferedReader reader = new BufferedReader(new<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStreamReader(System.in));<BR>&nbsp;&nbsp;&nbsp; int i = Integer.parseInt(reader.readLine());<BR>} catch(IOException e) { }</P>
<P><BR>现在好了，Java里面引入了一个Scanner()，可以方便的从终端读取数据：</P>
<P>Scanner read = new Scanner(System.in);<BR>int i = read.nextInt();</P>
<P><BR>8 - 不确定的参数个数</P>
<P>void argtest(Object ... args) {<BR>&nbsp;&nbsp;&nbsp; for(int i = 0; i &lt; args.length; i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(i);<BR>}</P>
<P>然后我们可以这样调用这个函数：<BR>argtest(1);<BR>argtest(1, 2, 4, 5, 6); <BR></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200841154225274</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200841154225274</guid>
    <pubDate>Sun, 11 May 2008 17:42:25 +0800</pubDate>
    <dcterms:modified>2008-05-11T17:42:25+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[[2008-5-2]软件更新]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200842150769</link>
    <description><![CDATA[<div>龙卷风网络收音机 2.9.8.1<BR>迅雷 5.9.12.493 ayu版本</div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200842150769</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200842150769</guid>
    <pubDate>Fri, 2 May 2008 13:50:07 +0800</pubDate>
    <dcterms:modified>2008-05-02T13:50:07+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[极速3.0邮箱2008-04-15更新日志]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200831551911331</link>
    <description><![CDATA[<div><P style="TEXT-INDENT: 2em"></P>
<P style="TEXT-INDENT: 2em">写信页面更新</P>
<P style="TEXT-INDENT: 2em">新增－批量上传附件</P>
<P style="TEXT-INDENT: 2em">点击“批量上传附件”，可以同时选择多个附件进行上传，选择完成，附件马上自动上传，并显示上传进度，点击“查看详细”可查看附件各自上传详细进度。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_pl1.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_pl2.gif" border=0></P>
<P style="TEXT-INDENT: 2em">新增－截图</P>
<P style="TEXT-INDENT: 2em">点击编辑器上的“截图”按钮，即可开始使用邮箱截图功能，把想要截取的窗口调到最前，点击“开始截图”，按提示开始截图。截图完成，图片添加到编辑器里面。同时自动添加到附件中。（温馨提示: 在编辑器删除图片，附件中的图片仍然保留，请自行删除）</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_jt1.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_jt2.gif" border=0></P>
<P style="TEXT-INDENT: 2em">邮件正文插入本地图片</P>
<P style="TEXT-INDENT: 2em">点击编辑器上的“图片”按钮，即可开始使用插入图片功能，选择“本机图片”即可上传图片。添加完成，图片添加到编辑器里面。同时自动添加到附件中。</P>
<P style="TEXT-INDENT: 2em">（温馨提示: 在编辑器中删除本地图片，附件中的图片仍然保留，请自行删除）</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_yl1.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_yl2.jpg" border=0></P>
<P style="TEXT-INDENT: 2em">音乐盒更新</P>
<P style="TEXT-INDENT: 2em">音乐盒的设置功能</P>
<P style="TEXT-INDENT: 2em">在音乐盒设置页面增加“随机播放”和“登录后自动播放”的设置，方便你的个性化操作。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_yyh.gif" border=0></P>
<P style="TEXT-INDENT: 2em">选项更新</P>
<P style="TEXT-INDENT: 2em">过滤器 - 界面和操作优化</P>
<P style="TEXT-INDENT: 2em">全新设计的过滤器管理界面，更加直观的显示过滤内容，方便创建、修改和删除过滤器。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_glq.gif" border=0></P>
<P style="TEXT-INDENT: 2em">定时发信 - 界面和流程优化</P>
<P style="TEXT-INDENT: 2em">全新设计的定时发信管理界面，更加直观的显示定时发信内容，方便创建、修改和删除定时发信。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_dsfx.gif" border=0></P>
<P style="TEXT-INDENT: 2em">黑白名单设置 - 界面优化</P>
<P style="TEXT-INDENT: 2em">全新设计的黑白名单管理界面，更加直观的显示黑白名单的内容，方便管理黑白名单。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_hmd.gif" border=0></P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_bmd.gif" border=0></P>
<P style="TEXT-INDENT: 2em">其它更新</P>
<P style="TEXT-INDENT: 2em">网易付费邮箱用户增加尊贵头像</P>
<P style="TEXT-INDENT: 2em">网易的付费邮箱用户，会在通讯录、邮件列表、读信页、写信地址选择栏等处的邮件地址前增加一个金色头像，提升付费用户的关注度。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_tx.gif" border=0></P>
<P style="TEXT-INDENT: 2em">发信成功页面增加“自动添加联系人”的设定</P>
<P style="TEXT-INDENT: 2em">发信成功后可以进行是否“自动添加”进通讯录的设定。方便系统自动将新联系人添加进通讯录，或手动编辑联系人至通讯录。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_xxcg.gif" border=0></P>
<P style="TEXT-INDENT: 2em">邮件图片附件纵向排列</P>
<P style="TEXT-INDENT: 2em">如果邮件中有图片附件，则会将其以缩略图的方式纵向排列，方便浏览和点击。</P>
<P style="TEXT-INDENT: 2em"><IMG src="http://mail.163.com/help/js3_update_img/sj_0415_pic.gif" border=0></P>
<P style="TEXT-INDENT: 2em"></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200831551911331</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200831551911331</guid>
    <pubDate>Tue, 15 Apr 2008 17:19:11 +0800</pubDate>
    <dcterms:modified>2008-04-15T17:19:11+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[python内置类型转换函数]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/55795320083911217391</link>
    <description><![CDATA[<div><P>chr(i)</P>
<P>chr()函数返回ASCII码对应的字符串。</P>
<P>&gt;&gt;&gt; print chr(65)<BR>A<BR>&gt;&gt;&gt; print chr(66)<BR>B<BR>&gt;&gt;&gt; print chr(65)+chr(66)<BR>AB</P>
<P>complex(real[,imaginary])</P>
<P>complex()函数可把字符串或数字转换为复数。</P>
<P>&gt;&gt;&gt; complex("2+1j")<BR>(2+1j)<BR>&gt;&gt;&gt; complex("2")<BR>(2+0j)<BR>&gt;&gt;&gt; complex(2,1)<BR>(2+1j)<BR>&gt;&gt;&gt; complex(2L,1)<BR>(2+1j)</P>
<P>float(x)</P>
<P>float()函数把一个数字或字符串转换成浮点数。</P>
<P>&gt;&gt;&gt; float("12")<BR>12.0<BR>&gt;&gt;&gt; float(12L)<BR>12.0<BR>&gt;&gt;&gt; float(12.2)<BR>12.199999999999999</P>
<P>hex(x)</P>
<P>hex()函数可把整数转换成十六进制数。</P>
<P>&gt;&gt;&gt; hex(16)<BR>'0x10'<BR>&gt;&gt;&gt; hex(123)<BR>'0x7b'</P>
<P>long(x[,base])</P>
<P>long()函数把数字和字符串转换成长整数，base为可选的基数。</P>
<P>&gt;&gt;&gt; long("123")<BR>123L<BR>&gt;&gt;&gt; long(11)<BR>11L</P>
<P>list(x)</P>
<P>list()函数可将序列对象转换成列表。如：</P>
<P>&gt;&gt;&gt; list("hello world")<BR>['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']<BR>&gt;&gt;&gt; list((1,2,3,4))<BR>[1, 2, 3, 4]</P>
<P>int(x[,base])</P>
<P>int()函数把数字和字符串转换成一个整数，base为可选的基数。</P>
<P>&gt;&gt;&gt; int(3.3)<BR>3<BR>&gt;&gt;&gt; int(3L)<BR>3<BR>&gt;&gt;&gt; int("13")<BR>13<BR>&gt;&gt;&gt; int("14",15)<BR>19</P>
<P>min(x[,y,z...])</P>
<P>min()函数返回给定参数的最小值，参数可以为序列。</P>
<P>&gt;&gt;&gt; min(1,2,3,4)<BR>1<BR>&gt;&gt;&gt; min((1,2,3),(2,3,4))<BR>(1, 2, 3)</P>
<P>max(x[,y,z...])</P>
<P>max()函数返回给定参数的最大值，参数可以为序列。</P>
<P>&gt;&gt;&gt; max(1,2,3,4)<BR>4<BR>&gt;&gt;&gt; max((1,2,3),(2,3,4))<BR>(2, 3, 4)</P>
<P>oct(x)</P>
<P>oct()函数可把给出的整数转换成八进制数。</P>
<P>&gt;&gt;&gt; oct(8)<BR>'010'<BR>&gt;&gt;&gt; oct(123)<BR>'0173'</P>
<P>ord(x)</P>
<P>ord()函数返回一个字符串参数的ASCII码或Unicode值。</P>
<P>&gt;&gt;&gt; ord("a")<BR>97<BR>&gt;&gt;&gt; ord(u"a")<BR>97</P>
<P>str(obj)</P>
<P>str()函数把对象转换成可打印字符串。</P>
<P>&gt;&gt;&gt; str("4")<BR>'4'<BR>&gt;&gt;&gt; str(4)<BR>'4'<BR>&gt;&gt;&gt; str(3+2j)<BR>'(3+2j)'</P>
<P>tuple(x)</P>
<P>tuple()函数把序列对象转换成tuple。</P>
<P>&gt;&gt;&gt; tuple("hello world")<BR>('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')<BR>&gt;&gt;&gt; tuple([1,2,3,4])<BR>(1, 2, 3, 4)</P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/55795320083911217391</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/55795320083911217391</guid>
    <pubDate>Wed, 9 Apr 2008 23:02:17 +0800</pubDate>
    <dcterms:modified>2008-04-09T23:02:17+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[mozilla firefox 2.0.0.13 浏览器崩溃 bug]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/55795320083344922222</link>
    <description><![CDATA[<div><P>最近发现firefox最新版本 2.0.0.13 存在js解析缺陷，在解析某些特定网页的时候会导致firefox崩溃。在windows下出问题的文件为 firefox安装目录/js3250.dll。</P>
<P>现在已经有反馈到mozilla官方论坛，这里提供一个非官方解决方案：下载旧版本的js3250.dll覆盖当前文件就OK了。相信mozilla官方在下一版本会修复这个dll文件。</P>
<P>超旧版本下载链接：<A href="http://www.dll-files.com/dllindex/dll-files.shtml?js3250">http://www.dll-files.com/dllindex/dll-files.shtml?js3250</A><BR>如果不爽，可以google一下新版本，或者搜索本机c盘，运气好的话，都能找到很多其他版本js3250.dll覆盖。</P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/55795320083344922222</comments>
    <slash:comments>1</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/55795320083344922222</guid>
    <pubDate>Thu, 3 Apr 2008 16:49:22 +0800</pubDate>
    <dcterms:modified>2008-04-03T17:03:24+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[iframe设置外域cookie问题]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/55795320083311260117</link>
    <description><![CDATA[<div><P>最近遇到一个问题，用iframe，script等请求外域的url设置cookie，在IE下，用httpwatch抓看已经设置成功，但IE下访问外域站点无效，在FF下才OK，郁闷了半天，查到了这个：</P>
<P>PHP：header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"');<BR>ASP：Response.AddHeader "P3P","CP=""NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"""</P>
<P>IE的安全机制(W3C制定)是不允许Iframe里面读取/写入Cookie的。只有在返回的数据头部加入此的代码，Iframe引用的页面才能设置和使用Cookie。</P>
<P>微软官方：<A href="http://msdn2.microsoft.com/en-us/library/ms537341(VS.85).aspx">http://msdn2.microsoft.com/en-us/library/ms537341(VS.85).aspx</A><BR>还有一种傻瓜方法解决，就是把两个站点加入安全站点，IE就没这个问题了。</P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/55795320083311260117</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/55795320083311260117</guid>
    <pubDate>Thu, 3 Apr 2008 11:26:00 +0800</pubDate>
    <dcterms:modified>2008-04-03T11:26:00+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[php时区设定，确保date()返回你想要的本地时间]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200823002220638</link>
    <description><![CDATA[<div><P>问题：echo date('o-m-j H:i'); 输出结果与本地时间相差8小时。<BR>原因：时区未正确设置。<BR>两种解决方法:</P>
<P>&nbsp;&nbsp; 1.加入date_default_timezone_set('Asia/Shanghai');<BR>&nbsp;&nbsp; 2. 修改php.ini<BR>&nbsp;&nbsp; [Date]<BR>&nbsp;&nbsp; ; Defines the default timezone used by the date functions<BR>&nbsp;&nbsp; date.timezone = PRC 注:PRC为中化人民共和国</P>
<P>相关参考如下：<BR>&nbsp;</P>
<P>bool date_default_timezone_set ( string timezone_identifier )</P>
<P>说明</P>
<P>date_default_timezone_set() 设定用于所有日期时间函数的默认时区。 </P>
<P>注: 自 PHP 5.1.0 起（此版本日期时间函数被重写了），如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。 </P>
<P>参数<BR>timezone_identifier <BR>时区标识符，例如 UTC 或 Europe/Lisbon&nbsp; </P>
<P>返回值</P>
<P>本函数永远返回 TRUE（即使 timezone_identifier 参数不合法）。</P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200823002220638</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200823002220638</guid>
    <pubDate>Sun, 30 Mar 2008 12:22:20 +0800</pubDate>
    <dcterms:modified>2008-03-30T12:22:20+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[二行代码解决全部网页木马]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200822904040198</link>
    <description><![CDATA[<div><P><STRONG>解决方案１</STRONG>：</P>
<P><SPAN >iframe{n1ifm:expression(this.src='about:blank',this.outerHTML='');}/*这行代码是解决挂IFRAME木马的哦*/<BR>script{nojs1:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木马被成功隔离!'):'');}</SPAN></P>
<P>原理：将&lt;script&gt;标记的src拿出来转为小写，再看是不是以“http”开头的外域JS脚本文件，如果是，则页面内容清空并写出“木马被成功隔离!”。反之正常显示。</P>
<P>缺点：访客无法看到被感染了&lt;script&gt;木马的页面。</P>
<P><STRONG>解决方案２</STRONG>：</P>
<P><SPAN >iframe{nifm2:expression(this.src='about:blank',this.outerHTML='');}<BR>script{no2js:expression((this.src.toLowerCase().indexOf('http')==0)?document.close():'');}</SPAN></P>
<P>原理：将外域的JS文件的document.write()使用document.close()强制关闭。木马内容还没有来得及写完，只有部分被强制缓存输出了，剩下的不会再写了。</P>
<P><STRONG>解决方案３</STRONG>：</P>
<P><SPAN >iframe{ni3fm:expression(this.src='about:blank',this.outerHTML='');}<BR>script{n3ojs:expression((this.src.toLowerCase().indexOf('http')==0)?document.execCommand('stop'):'');}</SPAN></P>
<P>原理：同到外域的JS文件，立即调用IE私有的execCommand方法来停止页面所有请求，所以接下来的外域JS文件也被强制停止下载了。就像我们点了浏览器的“停止”按钮一样。看来这是JS模拟IE停止按钮的一种方法。</P>
<P><STRONG>解决方案４</STRONG>：</P>
<P><SPAN >iframe{nif4m:expression(this.src='about:blank',this.outerHTML='');}<BR>script{noj4s:expression(if(this.src.indexOf('http')==0)this.src='res://ieframe.dll/dnserror.htm');}</SPAN></P>
<P>原理：将外域的JS文件的src重写成本地IE404错误页面的地址，这样，外域的JS代码不会下载。</P>
<P><STRONG>解决方案</STRONG>5：</P>
<P><SPAN >iframe{nifm5:expression(this.src='about:blank',this.outerHTML='');}<BR>script{noj5s:expression((this.id.toLowerCase().indexOf('lh')==0)?document.write('木马被成功隔离!'):''));}</SPAN></P>
<P>第五种方案的页面HTML源代码&lt;script&gt;中要加入以"lh"为前缀的id，如lhWeatherJSapi，&lt;script src="***/**.js" id="lhSearchJSapi"&gt;&lt;/script&gt;</P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200822904040198</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200822904040198</guid>
    <pubDate>Sat, 29 Mar 2008 12:40:40 +0800</pubDate>
    <dcterms:modified>2008-03-29T12:40:40+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[网易Yeah.net邮箱与Myspace.cn的合作]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/55795320082278235987</link>
    <description><![CDATA[<div><P style="TEXT-INDENT: 2em"><IMG src="http://www.abloxo.com/blog/uploads/200803/27_171104_wayhomeblogbnr.jpg" border=0><BR>网易Yeah.net邮箱与Myspace.cn静悄悄地合作了，当你注册Myspace.cn，Myspace.cn会建议你使用网易Yeah.net邮箱，点击“网易邮箱”的连接，会有一个带有双方Logo的网易Yeah.net邮箱注册页面，让你完成网易Yeah.net邮箱邮箱的注册。<BR><BR>
</P><P style="TEXT-INDENT: 2em"><IMG src="http://www.abloxo.com/blog/uploads/200803/27_171114_wayhomeblog500x360_20080327.jpg" border=0><BR>马上行动吧，注册网易Yeah.net邮箱！注册Myspace.cn！<BR><BR><A title=http://reg.mail.yeah.net/reg/reg1.jsp?from=myspace href="http://reg.mail.yeah.net/reg/reg1.jsp?from=myspace" target=_blank>注册网易Yeah.net邮箱</A><BR><A title=http://signup.myspace.cn/index.cfm?fuseaction=join href="http://signup.myspace.cn/index.cfm?fuseaction=join" target=_blank>注册Myspace.cn</A> 
</P><P style="TEXT-INDENT: 2em">&nbsp;
</P><P style="TEXT-INDENT: 2em">转自：<A href="http://www.abloxo.com/blog/article.asp?id=127">http://www.abloxo.com/blog/article.asp?id=127</A></P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/55795320082278235987</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/55795320082278235987</guid>
    <pubDate>Thu, 27 Mar 2008 20:23:59 +0800</pubDate>
    <dcterms:modified>2008-03-27T20:24:54+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[网易网盘一套简约风格的图标]]></title>	
    <link>http://dongua81.blog.163.com/blog/static/557953200822711162452</link>
    <description><![CDATA[<div><P align=center><A href="http://img.blog.163.com/photo/vvCF3t5zvxcvTPO1rTedjw==/5083438079394890537.jpg" target=_blank><IMG src="http://img.blog.163.com/photo/vvCF3t5zvxcvTPO1rTedjw==/5083438079394890537.jpg"></A></P>
<P>最近，网易网盘静悄悄的更新了，这次更新主要：调整“返回上级目录”到工具栏，改善了上传文件的过程……等细节更新。工具栏的图标也重新绘制，依然保持淡雅简约的风格，同时也使之尽可能地与“极速3.0”和“逍遥3.0”的风格保持一致。</P></div>]]></description>
	    <author><![CDATA[dongua]]></author>
	    <comments>http://dongua81.blog.163.com/blog/static/557953200822711162452</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://dongua81.blog.163.com/blog/static/557953200822711162452</guid>
    <pubDate>Thu, 27 Mar 2008 11:16:02 +0800</pubDate>
    <dcterms:modified>2008-03-27T11:16:02+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[我的密友]]></title>	
    <link></link>
    <description><![CDATA[<div>
			<a href="http://windust.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/gV3UEgP-mgVXgSNNmMT8Jw==/174795960537589267.jpg" border="0" />番茄炒撒旦</a>
			<a href="http://mmlhorse.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/ovci5vcr_Qnk8r8zHtK56w==/2314568733491725654.jpg" border="0" />小小马</a>
			<a href="http://mozirui.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/KMcTuki7e3MsdNvfjCY-xA==/1158832479117979928.jpg" border="0" />莫子重出江湖</a>
			<a href="http://lblpt.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/-DFwz1VdLEwFRkQTEV0lBQ==/5636817883607599715.jpg" border="0" />betty兔</a>
			<a href="http://veekoo.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/ikOclmeSaEnhf4Rx-jiNyw==/2835015965429984006.jpg" border="0" />veekoo</a>
</div>]]></description>
    <guid isPermaLink="false">http://dongua81.blog.163.com/friends</guid>
    <pubDate>Tue, 1 Jan 2008 00:00:00 +0800</pubDate>
    <dcterms:modified>2008-01-01T00:00:00+08:00</dcterms:modified>
  </item>    
 </channel>
</rss>