﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-网络秋天-文章分类-技术文章</title><link>http://www.blogjava.net/dm520/category/43110.html</link><description>个人学习blog</description><language>zh-cn</language><lastBuildDate>Fri, 27 May 2011 09:11:01 GMT</lastBuildDate><pubDate>Fri, 27 May 2011 09:11:01 GMT</pubDate><ttl>60</ttl><item><title>下载站的寿命时日不长</title><link>http://www.blogjava.net/dm520/articles/351152.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Fri, 27 May 2011 01:47:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/351152.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/351152.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/351152.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/351152.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/351152.html</trackback:ping><description><![CDATA[<div><span style="color: #444444; font-family: tahoma, arial, 宋体, sans-serif; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">五月中旬，百度旗下的软件下载站天空软件站正式改版，不仅砍掉大量有误导嫌疑的广告，对页面布局进行调整，将重要内容整理后推送至首页，还更换了沿用近13年的LOGO。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　众所周知，下载站的盈利模式十分单一，基本上只能靠广告来维持，所以导致多数下载站广告漫天飞，尤其是在显示下载地址的旁边，穿插了许多不相关的广告链接，导致用户误点，下载不到自己想要的东西。甚至有极个别的网站通过病毒来谋利，惹得网民怨声载道，对下载站逐渐失去信心，整个下载行业都受到冲击，不少下载网站都被迫关闭或转型。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　据透露，天空软件站此次改版的原则是&#8220;清爽、快捷&#8221;，主要表现在去广告、换页面布局等方面。在这个特殊时刻，天空软件站&#8220;砍广告&#8221;的举动，是打破行业&#8220;潜规则&#8221;的行为。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　笔者针对新闻里提到砍掉大量有误导嫌疑的广告进行了测试，搜索了一款软件，如下图，下载页面的&#8220;诱惑下载&#8221;确实没有了，图片有下载指示的，也很明显是其他软件的下载，而不是以前那种满页面都是&#8220;点击下载&#8221;。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: center; "><img alt="天空下载站下载面试" src="http://www.shaobao.tk/uploadfile/2011/0524/20110524101930187.jpg" title="天空下载站下载面试" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; vertical-align: middle; width: 500px; height: 437px; display: inline; " /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　互联网越来越进步，传统的下载网站已经走进末路，因为盈利模式太过单一：页面广告、下载提成。正是由于这种盈利模式的单一化，导致发展中期大量的下载网站如同雨后春笋都冒出来，竞争过于激烈，以至于各大下载网站依靠&#8220;诱惑下载&#8221;来赚取提成。下载站的这种模式把整个下载行业拖入泥潭中，行业逐渐走入低谷，而新型下载模式也渐渐取代传统的下载网站，相信下载网站会逐渐无人问津。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　<strong>软件管家</strong></p><p sizcache="0" sizset="20" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　自从360安全卫士在国内的装机量装机量越来越高，现在已经超过3亿，其他大型网站也都相继提供此类服务，比如QQ电脑管家、百度电脑管家、金山卫士等。这些辅助软件里面都有一个功能，那就是&#8220;软件仓库&#8221;。一般普通网友都会下载这种电脑管家软件，来清理自己电脑上的垃圾以及优化电脑系统，而此类软件又无广告，里面推荐的软件又比较可靠，这让网民们有什么理由又去打开浏览器，输入网址，再去逐个下载电脑必备软件？</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: center; "><img alt="QQ软件仓库" src="http://www.shaobao.tk/uploadfile/2011/0524/20110524101930774.jpg" title="QQ软件仓库" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; vertical-align: middle; width: 500px; height: 323px; display: inline; " /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　<strong>百度开放平台</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　百度的&#8220;开放平台&#8221;就是一个笑话，别人的开放平台是把自己的产品往外面送，百度的&#8220;开放平台&#8221;是把外面的产品往自己里面揽，让用户可以&#8220;足不出百度&#8221;，就能在百度页面上下载所有的软件（此处仅针对本文章的观点）。笔者不相信这种做法对其他下载网站有什么好处，只能说了不起对那些和百度合作的网站，可以垄断那部分流量，但这对于没有和百度合作的下载网站就是晴空霹雳了，因为下载站的大部份流量都是通过搜索引擎，而百度在中国搜索市场占据了80%左右的份额，基本上非主流、小型下载网站都可以直接宣布倒闭。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: center; "><img alt="百度开放平台" src="http://www.shaobao.tk/uploadfile/2011/0524/20110524101930155.jpg" title="百度开放平台" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; vertical-align: middle; width: 500px; height: 445px; display: inline; " /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　<strong>网址导航</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　网址导航近期竞争也非常激烈，不过市场份额都基本上稳定了，也不会有什么太大的变化，以至于各大网址导航的广告费用是越来越高。从以前的按年收费改为现在的按月收费，为了方便随时可以抬高价格。网址导航现在功能越来越多，大部份网址导航都会有软件下载、搜索分成和淘宝客等模块，也是为了赚取除了包月链接广告费以外的其他收入。而这种下载比传统下载站的优势是软件全面、寻找方便、无广告等。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: center; "><img alt="网址导航装机软件" src="http://www.shaobao.tk/uploadfile/2011/0524/20110524101930558.jpg" title="网址导航装机软件" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; vertical-align: middle; width: 500px; height: 205px; display: inline; " /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　<strong>360安全桌面</strong></p><p sizcache="0" sizset="21" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　笔者之前预测360安全桌面会大红大紫，因为这种软件对于初级网民和中级网民确实很方便。不过不知道为什么这款软件非要绑定360安全卫士一起使用，而我又不是用的360安全卫士，所以我至今都没用这款软件。此软件可以说可以360安全卫士上的软件仓库有重复之嫌，但是从软件的创意上来讲，还是值得我们肯定的。只可惜腾讯早预测到这一点，直接推出了新版WebQQ3.0，风头早把360安全桌面盖过，综合以上原因，导致这款软件至今没有什么更好的发展。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: center; "><img alt="360安全桌面" src="http://www.shaobao.tk/uploadfile/2011/0524/20110524101931245.jpg" title="360安全桌面" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; vertical-align: middle; height: 660px; width: 303.32335329341316px; display: inline; " /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　<strong>软件盗版</strong></p><p sizcache="0" sizset="22" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　回到下载网站本身，为了提供更多的软件来吸引网友以后的访问，下载网站一般都会收录非常多的软件，而这些软件有很大部分是盗版软件、违法软件、外挂等。这些都是触及到相关法律的，只是这部分比较混乱，暂时没人来管而已。如果哪天国内像严打电影站、音乐站那样严打盗版下载站，估计这些大型下载站也会落马。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: center; "><img alt="盗版软件" src="http://www.shaobao.tk/uploadfile/2011/0524/20110524101931274.jpg" title="盗版软件" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; vertical-align: middle; width: 500px; height: 447px; display: inline; " /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; word-wrap: break-word; font-size: 14px; line-height: 23px; text-align: justify; ">　　下载网站装机软件输了、盗版软件撤了，还有哪些软件是网民们需要的呢？下载站还能活多久呢？让网民们决定吧。 <a href="http://www.shaobao.tk/index.php?m=content&amp;c=index&amp;a=show&amp;catid=6&amp;id=320" title="来源">烧包资讯</a><br /><br /><br /></p></span></div><img src ="http://www.blogjava.net/dm520/aggbug/351152.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2011-05-27 09:47 <a href="http://www.blogjava.net/dm520/articles/351152.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>google退出中国内地，转向香港</title><link>http://www.blogjava.net/dm520/articles/316295.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Tue, 23 Mar 2010 05:36:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/316295.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/316295.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/316295.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/316295.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/316295.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<h1 style="font: normal normal bold 20px/150% verdana, sans-serif; text-align: left; line-height: 60px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 22px; ">国新办网络局就谷歌退出中国内地发表谈话</h1>
<div>
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="line-height: 25px; font-size: 14px; ">新华网北京3月23日电 国务院新闻办公室网络局负责人今天凌晨就谷歌公司宣布停止按照中国法律规定的对有害信息过滤，将搜索服务由中国内地转至香港发表谈话。<br />
<br />
这位负责人指出，外国公司在中国经营必须遵守中国法律。谷歌公司违背进入中国市场时作出的书面承诺，停止对搜索服务进行过滤，并就黑客攻击影射和指责中国，这是完全错误的。我们坚决反对将商业问题政治化，对谷歌公司的无理指责和做法表示不满和愤慨。<br />
<br />
这位负责人说，1月12日谷歌公司在未事先与我政府有关部门通气的情况下，公开发表声明，声称受到了中国政府支持的黑客攻击，不愿在中国运营受到审查的互联网搜索引擎，并考虑退出中国市场。在谷歌公司一再请求下，为当面听取其真实想法，体现中方诚意，今年1月29日、2月25日中国政府有关部门负责人先后两次与谷歌公司负责人接谈，就其提出的问题作了耐心细致的解释，强调外国公司在中国经营应当遵循中国法律，如谷歌公司愿遵守中国法律，我们依然欢迎谷歌公司在中国经营和发展；如谷歌公司执意将谷歌中国网站的搜索服务撤走，那是谷歌公司自己的事情，但必须按照中国法律和国际惯例，负责任地做好有关善后工作。<br />
<br />
该负责人指出，中国政府鼓励互联网发展和普及，促进互联网对外开放。中国互联网上的交流和言论十分活跃，电子商务等发展迅速。事实证明，中国互联网的投资环境、发展环境是好的。中国将坚定不移地坚持对外开放的方针，欢迎外国企业参与中国互联网发展，并为外商到中国经营发展提供良好服务。中国互联网依然会保持快速发展的势头。<br />
<br />
北京时间3月23日凌晨3时零3分，谷歌公司高级副总裁、首席法律官大卫德拉蒙德公开发表声明，再次借黑客攻击问题指责中国，宣布停止对谷歌中国搜索服务的过滤审查，并将搜索服务由中国内地转至香港。</span></div>
<div><span  style="line-height: 60px; font-size: 20px; color: #990044; font-weight: bold; ">微软张亚勤谈谷歌事件:成熟企业须有长远眼光</span></div>
<div><span  style="line-height: 60px; font-size: 20px; color: #990044; font-weight: bold; ">
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="color: #000000; font-weight: normal; line-height: 18px; font-size: 12px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: center; "><img src="http://news.csdn.net/a//uploads/2010/03/05/20100305-093516-pic1.jpg" alt="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: center; ">图为张亚勤</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">北京3月4日电 列席全国政协十一届三次会议的美国微软全球资深副总裁、亚太研发集团主席张亚勤，4日谈及谷歌退出中国事件，坦言谷歌是我们直接的竞争对手，并称一个成熟的企业必须有长远的眼光。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">张亚勤在接受中新社记者专访时表示，一个企业在任何国家开展业务，必须清楚了解并遵守这个国家的法律。你必须适应环境，环境没有义务为一个物种而改变，如果觉得你的价值与这个国家的价值是对抗、冲突的，你可以不在那里设立公司。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">他还指出，任何跨国公司在中国成立的公司都是中国的公司。法人是在中国，有什么事情应该在中国内部解决，没有必要把它变成国际的事件。这是商业行为，中国也有各种渠道，可以去沟通。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">针对外界关注的互联网信息透明度，张亚勤表示，互联网发展的趋势肯定是越来越开放。随着互联网对社会、个人影响越来越大，透明度会越来越高；同时，互联网本身也需要更清楚的立法，要有更透明的标准，让公众清晰地知道是怎么回事。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">他解释说，互联网作为一种新的媒体，已经建立了一个与现实世界密切联系的虚拟世界。如何将互联网包括进真实世界所制定的法则，可能要有更新的思维方式。这不仅是中国，全球都有这个问题。因为法律与一个国家的社会形态是联系在一起的，所以每个国家的敏感点不太一样。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">他称，互联网整体还是利大于弊，人类应该更聪明地把它作为一个工具而不是被它奴役。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">张亚勤还谈及跨国企业在中国自主创新中的地位。他说，创新对每一个国家都很重要，但应该更开放，不但包括国企、高校，还应该包括在中国境内注册、遵守中国法律的跨国企业。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">张亚勤还建言，政府通过融资等渠道设立基金，并通过市场化的方式及税收等政策扶持真正具有创新能力的企业。</p>
</span></span></div>
<div><span  style="line-height: 25px; font-size: 14px; "><span  style="line-height: 18px; font-size: 12px; ">
<h1 style="font: normal normal bold 20px/150% verdana, sans-serif; text-align: left; line-height: 60px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 22px; ">谷歌中国面临人才流失 遭猎头公司不断挖角</h1>
<div>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">[导读]猎头公司和谷歌竞争对手公司的高管们表示，谷歌在中国前景的不确定使得该公司员工更愿意接受猎头的邀请。此前由于员工忠诚性极高，从谷歌中国公司挖人并不容易。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">北京时间2月25日消息，据国外媒体报道，由于谷歌（Google）退出中国风波的影响，中国科技公司正不断挖角谷歌中国公司。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">猎头公司和谷歌竞争对手公司的高管们表示，谷歌在华退出风波使得该公司员工更愿意接受猎头的邀请。此前由于员工忠诚性极高，从谷歌中国公司挖人并不容易。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">北京猎头公司范德瀚特首席人力资源顾问赵成龙（音译）表示，自从谷歌发表声明称有可能退出中国市场后，他的数位客户已成功挖走了多位谷歌中国雇员。他没有透露客户名称或是谷歌跳槽员工数量，仅表示数量大致与去年他为谷歌中国招募的员工总数相当。赵成龙提到，其它科技公司也意识到了这一机遇，要求他以丰厚补偿为条件从谷歌中国挖角。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">时间距谷歌1月12日声称有可能退出中国市场已过去六周。人力资源专家表示，谷歌在华前景不明导致该公司在稳住现有员工和招募新员工方面都有困难。猎头咨询公司Korn/Ferry International亚洲技术部门主管迈克尔贝金斯（Michael Bekins）表示：最终谷歌需要解决所有这些悬而未决的问题，这是他们的当务之急，中国互联网领域竞争非常激烈。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">据知情人士透露，同样盯上了谷歌中国雇员的还包括微软，该公司希望在中国加强其必应（Bing）搜索引擎的研发。微软已从谷歌招募了一名将于近期履新的设计师。微软发言人尚未对此发表评论。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">旅游点评网站TripAdvisor在华子公司到到网总经理吴皓表示，该中国目前已接触到一些谷歌中国员工。此前到到网认为很难挖到谷歌员工，不过现在部分人已同意与到到网商谈跳槽事宜。TripAdvisor隶属于旅游服务商Expedia。吴皓表示：自从谷歌宣布有可能退出中国市场后，许多科技公司就在考虑争取该公司的雇员。过去我们也曾接触过谷歌员工，但几乎没人愿意离开谷歌。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">网络行业高管们表示，由于谷歌素以良好的工作机遇和丰厚的报酬著称，因此过去想挖到谷歌员工并非易事。猎头公司Eiger Search合伙人艾可崔（Echo Cui）表示，谷歌对求职者的要求非常之高，通常只考虑中国最顶尖大学的毕业生，而且会为热门应聘人选提供业内最具竞争力的报酬。谷歌中国豪华的办公室提供了视频游戏、瑜珈健身房和莎莎舞课程，这在硅谷或许很常见，但鲜有中国公司提供这些。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">据知情人士透露，为了缓解中国雇员对前景的担忧，谷歌不断提供最新信息召开各种会议，并在本月初召开了一年一度的中国新年聚会。公司还邀请员工向经理们倾诉任何担忧或是问题。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">曾任职谷歌中国人力资源、现为库拉诺集团人力资源主管的艾米陈（Amy Cheng）表示，谷歌在许多中国人眼中仍然具有吸引力。就工作影响力而言，很难找到与谷歌相匹的公司。</p>
</div>
</span></span></div>
<div><span  style="line-height: 25px; font-size: 14px; ">
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="line-height: 18px; font-size: 12px; ">
<h1 style="font: normal normal bold 20px/150% verdana, sans-serif; text-align: left; line-height: 60px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 22px; ">谷歌关闭Google.cn 通过香港网站提供服务</h1>
<div>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">3月23日消息，据国外媒体报道，谷歌周一宣布，已正式关闭中国内地网站Google.cn，同时将用户重新定向到谷歌香港网站。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">谷歌称：履行我们不再对Google.cn进行审查的承诺很难，我们希望全世界尽可能多的网民访问到我们的服务，其中包括中国内地用户。但是，在整个谈判过程中，中国政府的态度很明确，自我审查是一个不可商量的法律规定。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">谷歌表示：我们相信，这种通过谷歌香港网站(Google.com.hk)提供未经审查的简体中文搜索服务的做法是可行的，而且完全合法，将在很大程度上提升中国网民所访问的信息量。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">谷歌还表示：我们十分希望中国政府能够尊重我们的决定。另外，关闭Google.cn网站后，谷歌在内地的研发和销售团队将予以保留。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">受该决定影响，谷歌在内地的一部分员工可能将失业，但知情人士称，大部分员工仍将继续为香港网站Google.com.hk服务。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><br />
</p>
</div>
</span></span></div>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/316295.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-03-23 13:36 <a href="http://www.blogjava.net/dm520/articles/316295.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反季节蔬果多作怪 四招教你化解</title><link>http://www.blogjava.net/dm520/articles/315115.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Thu, 11 Mar 2010 01:07:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/315115.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/315115.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/315115.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/315115.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/315115.html</trackback:ping><description><![CDATA[<p>尽管反季节蔬果可能存在种种的问题，但不能不承认，我们已经无法再离开它们了。既然离不开，那么更重要的就是学会更加安全健康地食用反季节蔬菜和水
果。</p>
<p align="center"><strong><img style="width: 484px; height: 334px;" alt="反季节蔬果多作怪 四招教你化解" src="http://i.weather.com.cn/i/c/images/2010/20100310/4b973d23_11a38.jpg"  ?="" height="320" width="450" /><br />
</strong>吃蔬果首选应季的</p>
<p><strong>对策1：首选应季蔬果</strong></p>
<p>现在大部分蔬菜一年四季都可以在菜市场买到，有的人为了尝鲜，经常购买反季节或抢季节的蔬菜，待到应季蔬菜大量上市时都吃腻了。其实这种吃法是不科
学的。</p>
<p>中国农业大学食品学院营养与食品安全系副教授范志红建议，在有可能的情况下，应优先选择应季的农产品，不要追求那些不合时宜的反季节蔬菜和水果，不
妨等到它们出产的季节再吃。</p>
<p>比如说，春天不必一定要吃西瓜，最好等到7月；秋天不一定要贪吃草莓，因为它是5月的美味。更为重要的是，应季蔬菜不但营养丰富充足，味道浓郁纯
正，而且没有施用催熟药剂。番茄长在冬天的大棚里，维生素C的含量只有夏天露天种植产品的一半，口味和营养价值不如自然晚熟的水果。</p>
<p align="center"><img style="width: 480px; height: 317px;" alt="反季节蔬果多作怪 四招教你化解" src="http://i.weather.com.cn/i/c/images/2010/20100310/4b973d41_b77ab.jpg"  ?="" height="300" width="450" /><br />
防农药一洗二浸三烫四焯</p>
<p><strong>对策2：防农药一洗二浸三烫四焯</strong></p>
<p>由于反季节蔬果要预防蔬菜水果农药残留中毒，要注意做好一洗、二浸、三烫、四焯四步措施。</p>
<p>一洗就是反复清洗；二浸就是将蔬菜放在清水中浸泡30~60分钟；三烫是用开水将蔬菜快速烫后捞起，可以去除大部分残留农药；四焯，即将蔬菜烫过捞
起。专家介绍，经过这四个步骤制作出来的蔬菜，可保证残留农药去除95%以上。</p>
<p>另外，农药易残留在蔬菜上，如果能够去皮的蔬菜就尽量去皮，不能去皮的也要好好清洗。对于黄瓜、青椒、胡萝卜、苦瓜等茎类和瓜类蔬菜，可以放上洗涤
灵用温水泡上2分钟，然后用柔软的刷子刷洗，尤其是褶皱处，要多刷几下，再用清水冲洗即可，有必要的话也可以去皮洗净。</p>
<p>对于大白菜、卷心菜等包叶菜类蔬菜，可将外围叶片去掉，内部菜叶用温水泡一下再逐片用流水冲洗。而小叶的菠菜、茼蒿、鸡毛菜、小白菜等，可以将根切
除，放在水里抖动清洗，然后根部向上在水龙头下冲洗，通过水的冲击和震动，去掉残留农药。如有可能，也可以将蔬菜先在热水中焯一下再进行下一步制作。</p>
<p>专家介绍，由于反季节蔬菜更难种植，需要打很多农药，豆角、苦瓜等打药都比较多，不建议吃太多。</p>
<dl id="mainContent">
<p align="center"><img style="width: 450px; height: 339px;" alt="反季节蔬果多作怪 四招教你化解" src="http://i.weather.com.cn/i/c/images/2010/20100310/4b973d37_e4042.jpg"  ?="" height="350" width="450" /><br />
避开长相怪异、个头过大的水果</p>
<p><strong>对策3：避开长相怪异、个头过大的水果</strong></p>
<p>个头硕大的草莓、鲜嫩欲滴的樱桃&#8230;&#8230;虽然刚跨入春季，但市面上已经出现了许多反季节水果。国际注册营养师邹春蕾提醒，这些水果不但营养价值不高，还
可能给身体带来很大危害，儿童尤其要谨慎食用。</p>
<p>挑选水果时，尽量选择那些经过国家专门机构认证或有产地证明的水果，如无公害水果、绿色水果或有机水果。这些经过国家机构认证的水果，在生产管理时
严格按照相关要求，对农药使用进行了严格控制，含农药较少。</p>
<p>对于那些离时令期不远的水果则更要多几分注意，这可能是生产商为了抢先上市而使用了催熟剂，一般对身体都有一定的危害，如用乙烯催熟的产品会表现出
上色过于均匀，用二氧化硫催熟的产品，其表面一般会残留有硫黄的气味等等。</p>
<p>而离时令期较远的反季节水果则一般通过激素来促进生长。它们还有一些奇特的外形，尽量避开过大、长相怪异的水果。</p>
</dl>
<br />
<p align="center"><img style="width: 400px; height: 385px;" alt="反季节蔬果多作怪 四招教你化解" src="http://i.weather.com.cn/i/c/images/2010/20100310/4b973d2d_7a1ad.jpg"  ?="" height="410" width="400" /><br />
削皮来除保鲜剂</p>
<p><strong>对策4：削皮来除保鲜剂</strong></p>
范志红还建议，在同样的产品里，要优先选择本地出产的农产品。因为本地产品不仅成熟度好，营养价值损失小，而且不需要用保鲜剂处理，污染较小，运输
费用、包装费用、冷藏费用等也较低。她提醒消费者，不要盲目追求那些漂洋过海远道而来的进口水果，因为这并不是明智的做法。此外，尽管水果的果皮营养价值
较高，但吃长途跋涉而来的洋水果，或者表皮特别光艳美丽的水果，一定要注意削皮。它们不仅肯定打了蜡，而且极可能经过保鲜剂处理。
<img src ="http://www.blogjava.net/dm520/aggbug/315115.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-03-11 09:07 <a href="http://www.blogjava.net/dm520/articles/315115.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google代码库里的宝藏 web开发的利器</title><link>http://www.blogjava.net/dm520/articles/312474.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Wed, 10 Feb 2010 01:42:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/312474.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/312474.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/312474.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/312474.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/312474.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">Google 代码库是一个类似 SourceForge 的开源社区，大量开发者在那里上传自己的代码或素材同他人分享，Google 代码库于 2006 年启动，至今已积累了大量的好东西，本文从 Google 代码库搜集到 15 个非常出色的工具与素材，它们都基于 GPL， BSD， MIT 或 Creative Common 协议，可以免费使用。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://sixrevisions.com/resources/15-fantastic-finds-on-the-google-code-repository/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-01_google_repository_finds_lead_img.jpg" alt="15 Fantastic Finds on the Google Code Repository" width="550" height="200" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">1.&nbsp;<a href="http://code.google.com/p/twotiny/" style="color: #888888; text-decoration: none; ">Twotiny</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/twotiny/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-02_twotiny.png" alt="Twotiny" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这是一套由 Paul Jarvis 设计的<a href="http://twothirty.com/" style="color: #888888; text-decoration: none; ">微图标</a>系列，这些图标拥有各种尺寸，提供分层 PSD 文件，非常适合做 Web 设计。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">2.&nbsp;<a href="http://code.google.com/p/minify/" style="color: #888888; text-decoration: none; ">Minify</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/minify/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-03_minify.png" alt="Minify" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">多数 CMS 系统都包含内置的代码精简工具，用来过滤生成的页面代码中的空格，注释，以最大程度地加快页面加载速度。该工具可以对 PHP 文件进行精简，对 JavaScript 和 CSS 进行压缩。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">3.&nbsp;<a href="http://code.google.com/p/cleanstickyfooter/" style="color: #888888; text-decoration: none; ">Cleanstickyfooter</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/cleanstickyfooter/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-04_cssstickyfooter.jpg" alt="Cleanstickyfooter" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">该项目由&nbsp;<a href="http://www.trevorsheridan.com/" style="color: #888888; text-decoration: none; ">Trevor Sheridan</a>&nbsp;创建，旨在不借助 CSS Hack 或 CSS z-index 技术实现让 Web 页面的页脚部分自动附着在指定对象下方。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">4.&nbsp;<a href="http://code.google.com/p/sexybuttons/" style="color: #888888; text-decoration: none; ">Sexy Buttons</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/sexybuttons/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-05_sexybuttons.png" alt="Sexy Buttons" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这个 ZIP 压缩包包含了 1500 个各种颜色，各种尺寸的图标，还提供相应的 CSS/HTML 框架来实现 Web 按钮，支持所有主流浏览器。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">5.&nbsp;<a href="http://code.google.com/p/php-email-address-validation/" style="color: #888888; text-decoration: none; ">php-email-address-validation</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这是&nbsp;<a href="http://www.addedbytes.com/" style="color: #888888; text-decoration: none; ">AddedBytes.com</a>&nbsp;的 Dave Child 从 2004 年就开始的一个项目，实现高级 PHP Email 地址验证。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">6.&nbsp;<a href="http://code.google.com/p/hartija/" style="color: #888888; text-decoration: none; ">Hartija CSS Print Framework</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/hartija/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-06_hartija.png" alt="Hartija - CSS Print Framework" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">作为 Web 设计师，我们经常忘记一件事，就是用于打印的 CSS 设计。Hartija 针对页面打印设计了一个干净，巧妙的模式。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">7.&nbsp;<a href="http://code.google.com/p/a-slideshow/" style="color: #888888; text-decoration: none; ">a-slideshow</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/a-slideshow/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-07_aslideshow.jpg" alt="a-slideshow" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这是为 jQuery 1.3 以上版本设计的幻灯插件，这里有个<a href="http://slideshow.hohli.com/docs/demo02.html" style="color: #888888; text-decoration: none; ">演示</a>。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">8.&nbsp;<a href="http://code.google.com/p/jquery-largephotobox/" style="color: #888888; text-decoration: none; ">LargePhotoBox</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/jquery-largephotobox/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-08_largephotobox.jpg" alt="LargePhotoBox" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这是一个 jQuery 插件，用一种很巧妙的方式显示大型图片，点击缩略图，大图很完美地适应浏览器窗口，用鼠标拖动，可以在大图的各个部分浏览。这里有个<a href="http://www.interag.net/largephotobox/" style="color: #888888; text-decoration: none; ">演示</a>。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">9.&nbsp;<a href="http://code.google.com/p/php-akismet-contact/" style="color: #888888; text-decoration: none; ">php-akismet-contact</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这个工具使用 WordPress 的 Akismet 反垃圾回复功能，实现 PHP 表单的反垃圾功能。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">10.&nbsp;<a href="http://code.google.com/p/lovely-css/" style="color: #888888; text-decoration: none; ">lovely-css</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/lovely-css/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-09_lovely-css.png" alt="lovely-css" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这个由&nbsp;<a href="http://www.ohmylovely.com/" style="color: #888888; text-decoration: none; ">Constantinos Demetriadis</a>&nbsp;创建的项目是一个 CSS 框架，基于 960.gs，还拥有一个插件可以扩充该框架。1.0 版基于 MIT 协议，这里有个<a href="http://ohmylovely.com/css-framework/example.html" style="color: #888888; text-decoration: none; ">演示</a>。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">11.&nbsp;<a href="http://code.google.com/p/css3-mediaqueries-js/" style="color: #888888; text-decoration: none; ">css3-mediaqueries-js</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">该工具借助 JavaScript 在所有主流浏览器实现 CSS3 Media Queries 功能，包括 IE。CSS3 Media Queries 根据用户的视窗尺寸调整 CSS ，使你的设计可以被各种浏览器友好访问。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">12.&nbsp;<a href="http://code.google.com/p/wp-constructor/" style="color: #888888; text-decoration: none; ">wp-constructor: WordPress Constructor Theme</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/wp-constructor/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-10_wp-constructor.jpg" alt="wp-constructor: WordPress Constructor Theme" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这个 WordPress 主题由&nbsp;<a href="http://anton.shevchuk.name/" style="color: #888888; text-decoration: none; ">Anton Shevchuk</a>&nbsp;设计，是一个用于 WordPress 2.7+ 的通用主题。使用这个主题，用户可以快速实现个性化博客设计，该项目每天的下载频率超过 1000 次。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">13.&nbsp;<a href="http://code.google.com/p/mysql-db-php-class/wiki/Documentation" style="color: #888888; text-decoration: none; ">mysql-db-php-class</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这是一个 PHP 类，实现 PHP 同 MySQL 的沟通，非常灵活。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">14.&nbsp;<a href="http://code.google.com/p/jquery-twit/" style="color: #888888; text-decoration: none; ">jquery-twit</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><a href="http://code.google.com/p/jquery-twit/" style="color: #888888; text-decoration: none; "><img src="http://images.sixrevisions.com/2010/02/17-11_jquery-twit.png" alt="jquery-twit" width="550" height="250" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; " /></a></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">这个 jQuery 插件可以实现在个人的博客中，显示 Twitter 用户资料。这里有个<a href="http://www.mudaimemo.com/p/twit/" style="color: #888888; text-decoration: none; ">演示</a>。</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">15.&nbsp;<a href="http://code.google.com/p/peertracker/" style="color: #888888; text-decoration: none; ">peertracker</a></h3>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">如果你想创建第二个海盗港湾，这个2010年1月20日刚刚发布的项目可以帮你实现。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">本文来源：<a href="http://sixrevisions.com/resources/15-fantastic-finds-on-the-google-code-repository/" style="color: #888888; text-decoration: none; ">http://sixrevisions.com/resources/15-fantastic-finds-on-the-google-code-repository/</a><br />
中文编译：<a href="http://www.comsharp.com" style="color: #888888; text-decoration: none; "><strong>锐商企业CMS</strong>网站内容管理系统</a>官方站</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/312474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-02-10 09:42 <a href="http://www.blogjava.net/dm520/articles/312474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Flex与Silverlight预览</title><link>http://www.blogjava.net/dm520/articles/311907.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Thu, 04 Feb 2010 03:28:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/311907.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/311907.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/311907.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/311907.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/311907.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: Arial; font-size: 14px; line-height: 21px; ">
<h2 style="margin-top: 0px; font-size: 14px; margin-right: 0px; margin-bottom: 4px; margin-left: 0px; "><a id="ctl03_TitleUrl" href="http://www.cnblogs.com/benben7466/archive/2009/05/10/1453721.html" style="color: #223355; text-decoration: none; ">Flex与Silverlight预览</a></h2>
<div class="postbody">
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">作为下一代的WEB产品市场，现在出现了主流的三大技术Adobe的Flex,JAVA的JavaFX,Microsoft的SilverLight，在现在Web2.0的时代,大家都在</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">研究Ajax的技术，出现了很多的框架，都有可取之处，都有着不足，要满足自己的需求，我常常花时间学习别人的框架，自己找到可取的部份</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">，其实浪费了不少时间，Web2.0的时代技术现在看来，已经处于停止不前的状态了，而现在它们又出来了，难到是Web3.0,Web3.0的标准网上好</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">像有人在谈论，我是没去了解，但现在流行的技术是我比较关注的。</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">1.当前状况<br />
FLEX<br />
我以用接触过一段时间，觉得它还不错，再一个它生成的是FLASH，FLASH已经刻在所有网民的心中了，开发环境Flex Builder——个基于Eclipse</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">的的IDE，用起来挺方便，也容易上手，Flex是基于MXML，用ActionScript 3（AS3）写代码，AS3是一个基于ECMAXcript的脚本语言,支持处理</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">音频、视频，动画，现在在WEB上应用已经很成熟了。3D的支持我也看到相关的DEMO，感觉不错，不过在实际应用还不够成熟，支持平台，可以说现在接入Internet的电脑有90%以上都会支持FLASH，不用担心用户不会操作了。</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">JavaFX<br />
我只是新说过，还没看到过这方面的应用，我还没接触过，先就不提它了</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">SilverLight<br />
刚发布2.0不久，组件，数据通讯的方式又丰富了许多，Silverlight使用的是一种基于XML的语言叫XAML，所有代码可以在.NET上实现，那意味</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">着C#代码可以编译和运行在浏览器内的CLR，开发工具它基于VS2008、XAML和C#（或者VB）；编程方面我很容易上手，已经用VS好几年了，虽然现在微软为了Silverlight出了Microsoft Expression Studio相应的工具来辅助开放，但我觉得都还不成熟，就像我现在用asp写网站的时候我需要Dreamweaver来做布局，可这个Dreamweaver并不好用，所以还是手写，所以在排版上效率不高，不过现在我又看到了Silverlight 3.0的影子，看介绍好像比我现在了解的开发环境优化了许多</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">2.性能比较<br />
FLEX<br />
它生成的文件是SWF文件，但生成的时候会加入支持框架，这会让用户打开页面的时候会感觉下载很慢，当然，这也只是第一打开页面时有这种感觉罢了，FLEX生成的程序，比较复杂的程序都会点很高的CPU，我的Core双核常常会一个核被占用，这点我喜欢，对于未来发展，3D技术我想进入WEB是必然的，它处理的方式，我没详细的了解过，但使用3D技术CPU负载很大。</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">silverlight<br />
它生成的文件xap文件，下载的时候也会慢，还有浏览器支持，必须下载组件，这个东西现在有4MB了，有点感觉不爽，在程序运行时，CPU的负载就比FLASH的少了很多了，3D的支持，它已经能直接支持3DMAX生成的模型，再一个它的3D技术，是把处理交给DirectX,虽然它现在还不成熟，从处理方式上来看，以后，它在对WEB处理应该是没问题了</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">3.交互模式<br />
FLEX<br />
所有的交互大部分是在自己内部进行的，它也支持javascript，现在还不支持网页内嵌,数据交互支持Web Server，还支持socket。</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">silverlight<br />
交互上面，完全支持javascript，和另个的程序通讯也方便，支持网页内嵌，在有些时候，网页还是最比好的处理方式,暂时我体验到的都通过一些网络服务方面的处理WCF,WEB Service等，silverlight2现在也支持Socket了。</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">4安全性<br />
FLEX与silverlight都有一部份开源了，从程序本身的安全性来说，其实没什么安全性，就像FLex生成的程序，能完完全被反编，silverlight生成的程序也不能保存以后不能被反编，但有一点，silverlight程序代码会生成DLL我们可以加密混淆，有处理的方式，在WEB项目中，我们常常用加密数据来保证系统的安全传输，所以只要要知道解密方法，就能破解，在这点上silverlight可以做到安全，Flex很难。</p>
<p style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; ">http://www.cnblogs.com/benben7466/archive/2009/05/10/1453721.html</p>
</div>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/311907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-02-04 11:28 <a href="http://www.blogjava.net/dm520/articles/311907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>全球IP地址余量不足1成 中国新网民或无IP可用</title><link>http://www.blogjava.net/dm520/articles/311791.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Wed, 03 Feb 2010 04:55:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/311791.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/311791.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/311791.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/311791.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/311791.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">29日，记者从中国互联网络信息中心(CNNIC)获悉，全球互联网IP地址刚刚突破了一个新的关键临界点，互联网数字分配机构(IANA)可分配的IPv4地址剩余量已不足10%，明年将全部耗尽，如不及时解决，未来诞生的新网民上网将面临无IP地址可用的境地。CNNIC呼吁，应尽快从国家层面加快部署向下一代互联网协议IPv6地址的平稳过渡，避免在下一代互联网发展中掉队。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><strong>IPv4地址剩不到4亿</strong></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">根据全球互联网地址号码资源分配管理机构(NRO)的公开数据，全球IPv4仅剩不到4亿，2011年即将全部耗尽。NRO秘书长Raul Echeberria表示，随着互联网的普及，手机、笔记本电脑、服务器、路由器等设备都在消耗IP地址，IP地址资源供求出现不平衡。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">CNNIC专家张健认为，因没有IPv地址的主导权，中国的IPv4资源分配只占到了全球的4.5%，而网民基数和增长幅度很大，所以我国面临的IP地址供需缺口形势更为严峻。根据CNNIC发布的《第25次中国互联网络发展状况统计报告》，我国网民规模达到3.84亿，增速达28.9%，IP地址增幅和数量落后于此。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><strong>启动IPv6势在必行</strong></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">张健表示，3G推动下的移动互联网发展，也会产生对IP地址的巨大需求。未来5年中，移动互联网的IP地址的需求预计达到5亿-9亿，目前的IPv4地址资源远无法满足增长迅速的网民需求。如果我们不采取及时的应对措施，届时，运营商、用户和设备提供商将有一系列不良连锁反应。张健认为，面对如此紧缺的IPv4资源，所有互联网管理者应立即采取措施，推进IPv6网络部署的规划。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">清华大学教授李星介绍，互联网协议(IP)作为一项协议标准为网络设备连入网络做唯一的标识。目前IP协议版本分为IPv4和IPv6两种,现在使用的都是IPv4，而下一代互联网的协议IPv6能提供比IPv4更庞大的地址资源，几乎可以不受限制地提供地址。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><strong>实现无缝互通是关键</strong></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">张健告诉记者，世界各国已对IPv6地址的部署摩拳擦掌，欧美等发达国家更是将其上升到国家战略的层面，成立专门的政府工作小组进行相关工作的推进。相比之下，目前我国的IPv6产业链还不完善。根据最新数据:目前中国的IPv6地址为63块，排名全球18，远远落后于巴西(65728块)、美国(15025块)、德国(9861块)、日本(8356块)。不难看出，如果不积极应对，我国可能会输在基于IPv6地址下一代互联网的起跑线上。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">据悉，IPv6为我国教育部统一组织管理、由清华大学带领建立的纯自主研发的技术。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">中国互联网协会理事长胡启恒院士指出，中国必然要去使用IPv6协议，但目前如何能够实现IPv6与IPv4的无缝互通，完成各种应用的转移，成为最关键的问题。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/311791.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-02-03 12:55 <a href="http://www.blogjava.net/dm520/articles/311791.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 战略短视：百度大出血补牢输入法</title><link>http://www.blogjava.net/dm520/articles/311461.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Mon, 01 Feb 2010 02:01:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/311461.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/311461.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/311461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/311461.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/311461.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 14px; line-height: 21px; ">
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">据报道：日前，百度用了3000万的代价将点讯输入法收购于其旗下，将其改称为百度手机输入法，至此，百度成为了中国第四家涉足输入法的大型it企业，第一位将输入法――这个人们眼中的小玩艺郑重推出的，是搜狐的搜狗输入法，而Google则紧随其后，后来则有腾讯用1000万的代价收购了A4输入法，到了今日，有了&#8220;百度&#8221;手机输入法诞生。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">2005年，一位本科刚毕业的年青人马占凯，满怀着理想，拿着自己的发明――利用搜索引擎来改善输入法的词库，找到了百度，希望通过百度能够实现自己的梦想，然而满腔热情的希望，换回来的只是收到百度的一封例行回复，无任何进一步商谈或合作意向。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">无耐的小伙子在不得已之下，将目光换向了搜狐，其结果就是搜狗输入法的问世。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">如今，曾经对输入法不宵一顾的百度，现在却不惜代价要进入输入法领域，在花费了4000万之巨的代价之后，终于迎娶到了输入法进门，然而步子却已经远远地落到了领先者们的后头。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">由于缺乏战略的前瞻性，百度，丧失了一次送上门的机遇，让搜狐冷手白捡到了一个热包子。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "><strong>手机输入法的今天与前景</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">一个完整的手机输入方案，必须包括有拼音输入法、笔画输入法和智能英文输入法，而目前搜狗手机输入法，只是搜狗拼音输入法向手机输入领域的简单移植，撑缺少了一个优秀的笔画输入法作为支，因此，将使得搜狗手机输入法存在着一个严重的系统缺陷。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">根据相关的数据显示，使用笔画输入法的用户为15％以上，源自点讯的百度输入法的百度手机输入法则是一个完整的输入方案，它形成了一个完整的战线。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">占据中国手机输入法绝对领先地位的，是老牌的手机输入法――T9输入法，虽然它的产品质量不如上述两种输入法，但它有两个优势，拥有高达60％以上的市场占有率和与多语种输入法进行捆绑的销售战略，凡使用T9输入法的厂商均可获得免费使用其它语种输入法的特权。因此，在厂商预装市场上，T9输入法的地位仍然很难动摇。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">从输入法的技术发展角度来说，就目前的情况看来，手机输入法的设计者们在概念上还是2G手机输入法的概念，而处于3G时代的今天，人们需要的是3G手机输入法的概念，所以，当有其它有实力的竞争者推出3G手机输入法时，原来的强者在产品的品质方面，将会处于相对弱势之中。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">在这个意义上，目前人们所能看到的输入法，似乎有些跟不上形势。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "><strong>手机输入法的盈利模式</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">手机输入法的盈利模式大体上可以分为两种：一种是直接盈利模式，另一种是间接盈利模式，采取何种方式进行盈利，主要看企业的总体战略而定。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">其中，直接盈利（收费）模式；主要是通过厂商在手机出厂时对输入法进行预装，当然也可以通过用户自行下载安装，付费使用，采取这种模式的主要是产品比较单一的，或者是比较专业的企业，如T9输入法等。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">而间接盈利（免费）模式，把输入法做成一个平台，这有别于一般的不具备平台性的免费软件，采用这种模式的主要是一些综合性的企业，如搜狐、腾讯、Google等，它们注重输入法的平台性，试图通过输入法这个平台来为其主营业务进行辐射，通过输入法所带来的知名度提高品牌的含金量，把输入法当成它们的触角。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">对于百度手机输入法而言，采用间接营利的商业模式，无疑对百度更为有利。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "><strong>输入法已成为战略性平台</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">输入法，是一个在使用非拼音文字的国度之中、使用电脑的一个奇特的现象，特别是对于使用方块汉字的中国来说，输入法显得犹为重要，何曾几时，在电脑刚刚开始进入中国之时，由于无法便捷地使用电脑键盘来输入汉字，使得不少专家学者发出了要废弃汉字的哀呜。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">王永民的五笔，可以说是中国电脑发展史上的一个转折点，随着五笔输入法的出现，汉字输入的效率已经高出了拼音文字的输入效率。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">即便如此，输入法，在人们的眼中，仍然只是一些不入流的小软件，而从事输入法软件行业的，也只有一些小作坊式的企业，并且不少是只有一两个人在做。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">然而就是这样一个小儿科的玩艺，却是人们在使用电脑和上网的行为之中，使用得最为广泛的工具性软件之一，不能想象，缺少了输入法的人们，将会如何使用他们的电脑。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">随着网络时代的到来，人们对平台的商业价值的认识的不断加深，突然发现，输入法原来居然是一个通向网络的绝佳平台之一。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">因此，输入法的战略地位也就随之确立――输入法成为了网络的四大基础平台之一，而其余的三个则分别是：操作系统、浏览器和搜索引擎。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">而所有的这些，并没有被百度所意识到。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "><strong>百度的短视</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">百度，无疑是一个非常出色的企业，它的中文分词技术曾经一度领先世界，这也是百度为何能够在中国战胜搜索巨人Google的主要原因。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">然而，从大多数的情况来看，百度又是一个极度近视的企业，从百度的所作所为来看，百度眼里只有一个&#8220;钱&#8221;字，什么地方正在赚大钱，就可以看见到百度往什么地方钻。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">当腾讯的QQ如日中天，钱赚得是数不过来之时，百度就推出百度的实时通，要进入实时通市场分一杯羹；其结果羊入虎口，一去无回。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">当阿里巴巴在电子商务领域做得的红红火火，淘宝一词已经是街知巷闻之时，闻到了钞票味道的百度，一面流着口水、一面急急忙忙推出&#8220;百度有啊&#8221;，结果现在变成了&#8220;百度没了&#8221;。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">盲目的自大，使得百度屡战屡败。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "><strong>失误不断的原因</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">百度的屡屡失误，主要是有两个原因造成的，一个是急功近利的心态，另一个就是缺乏对技术发展趋势的前瞻性。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">在这些一场场毫无胜算、毫无战略意义的战役中，百度无耐地在强大的敌人面前，溃退了下来。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">在资本的重压之下，为了在股东面前交出一份优秀的成绩表，使得短线行为成为了百度的主旋律，因此，看到什么能赚钱，就不顾自身条件地直扑过去，也不顾这一行为的后果如何，胜了，是否能够增加百度本身的综合竞争能力？败了，是否会对百度产生如何的影响？百度所发动的这些战役，完全没有能够从百度本身的战略发展方向上去考虑，完全没有从战略布局之上的考虑，赚钱成了百度唯一的指标。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">而丧失战略眼光的结果，又使得百度、在另一场竞争之中一败千里，这是一场没有硝烟的战争。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">百度当时并没有意识到，输入法居然会成为网络的一个战略级的平台，白白地放走了一次难得的机遇，这是一次能够让百度增加一个战略性的网络平台，而这个网络的战略平台对其搜索引擎可以实施有效的战略支撑，是一个能够起着百度总体战略基地作用的平台。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">说实在的，能够做到这一点，是一件非常不容易的事情，就连当时的搜狐，也没意识到这一点，搜狐当时之所以接纳输入法，只不过是在在百度的重压之下，要找个机会亮亮相，为搜狐在搜索引擎的大溃败之中挽回一些面子。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">&#8220;输入法的开发，是搜狗的搜索技术发展过程中结出的一个果实，同时也可以提高搜狗的品牌形象。&#8221;搜狐技术副总裁王小川当时就是这样告诉《环球企业家》的。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">关于这一点，就连当时的网络霸主Google也没能意识到这一变化，Google居然仅仅找了两三个软件工程师来全盘负责Google输入法，在无人关心的情况之下，居然闹出了Google输入法的工程师，直接抄用搜狗输入法词库的笑话来。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "><strong>历史在开玩笑</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">虽然百度痛失机遇，却仍然存在着机会，必竞新式输入法的核心，是搜索引擎的副产品――词库。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">这无疑是百度最强大的地方，在在中文搜索领域之中，曾经用中文分词技术将Google打得落花流水的百度，在中文词组的机器处理方面，有着得天独厚的优势，百度原可利用这一优势，在输入法领域之上薄积后发，后来居上。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">可惜的是，当输入法的平台特性已经被大众所认识，就连搜狐也发出公告，在宣布战果时宣称：搜狗输入法为搜狐的搜索引擎获取了约2％的流量之时，短视的百度对此仍然是无动于衷。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">更有甚者，就连以善长摸仿跟进战略著称的腾讯，也以1000万的代价收购A4输入法，并将其作为腾讯的另一个网络平台之后，忙着赚快钱、对技术走向的理解显得迟顿的百度，仍然没有意识到输入法战略地位的重要性。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">只是到了现在，输入法已经被炒作得热火朝天之后，深深地感受到输入法所带来的压力的百度、才猛然从梦中醒来。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">百度输入法，突然成为了百度迫不急待的需求，因此，在几经选择之后，百度看上了点讯输入法，并将收购于旗下，至此，终于为百度输入法的故事画上了一个句号。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">而这个句号，花费了财迷的百度3000万的现钞。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "><strong>亡羊补牢，代价不菲</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">如果百度能够早些时候意识到输入法的战略地位，那怕是在搜狗输入法红透半边天之后，仍然可以自主对输入法进行开发，并且在品质上对搜狗输入法实现超越，因为输入法的核心――对中文词组的自动化处理，仍然是百度的看家本领之一，在这一方面，百度无疑要比搜狐强了不少。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">现在急急忙忙地对一个不同层面的点讯输入法进行收购，损失的，不仅仅是金钱，更重要的是，为使收购所得的点讯输入法上升成为以词组为核心的新型输入法，在整合上仍然需要一定的时间，而时间的价值，往往比现金来得更大。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "><strong>结束语</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">损失了几年大好时光的百度，要想在强手林立的输入法上有所作为，其推广的代价，将会使得百度张目结舌，先入为主，对于巨人之战而言，是不二的法则，而所谓后发制人，后发先致，只能是强者对于弱者才会适用。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/311461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-02-01 10:01 <a href="http://www.blogjava.net/dm520/articles/311461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FileUpload(文件上传)及常见问题解析</title><link>http://www.blogjava.net/dm520/articles/310722.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Mon, 25 Jan 2010 05:31:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/310722.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/310722.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/310722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/310722.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/310722.html</trackback:ping><description><![CDATA[在通过使用FileUpload组件上传的过程中，通过自己的调试，总结如下：<br />
1）使用之前的准备，我用的是commons-fileupload-1.1-dev.jar和commons-io-1.1-dev.jar。<br />
&nbsp; 解释一下：尽管有的资料解释是commons-fileupload-1.0-beta.jar和commons-beanutils.jar，通过调试的结果<br />
&nbsp; 显示并不是需要commons-beanutils.jar文件，而是由于在parseRequest(request)的类有关继承于DiskFileItem<br />
类。
而他有private org.apache.commons.io.output.DeferredFileOutputStream
dfos。这样的就必须使用到commons-io-1.1-dev.jar。因此需要导入该包。否则就出
classNotFound：.DeferredFileOutputStream的错误。<br />
2）由于涉及文件，就涉及到文件系统。然而在java或应用服务器中对于文件系统的访问，就有一定的安全策略。<br />
需要将下列权限添加到您应用程序服务器的安全策略文件中：<br />
permission java.io.FilePermission "&lt;&lt;ALL FILES&gt;&gt;", "read,write,delete";<br />
具体是添加到.."bea"weblogic81"server"lib"weblogic.policy中的.<br />
否则会可能出如下异常错误：<br />
org.apache.commons.fileupload.FileUploadException:<br />
java.lang.reflect.InvocationTargetException<br />
at<br />
org.apache.commons.fileupload.FileUpload.createItem(FileUpload.java:615)<br />
at<br />
org.apache.commons.fileupload.FileUpload.parseRequest(FileUpload.java:474)<br />
at<br />
org.apache.commons.fileupload.FileUpload.parseRequest(FileUpload.java:355)<br />
....<br />
3）对于不同的服务器，在调试的过程中会出各种不一样的结果。这个与具体的服务器有关。<br />
4）由于FileUpload在不断的更新版本，它的很多方法已经不推荐使用了（这与该组件的不断的改进有关）。通过对最新的帮助文档和网上的资料写了一个标准的程序如下：<br />
<span style="color: #ff0000;"><span style="font-size: small;">fileUpload（servlet）文件：</span></span><br />
<span style="font-size: small;">import java.io.IOException;<br />
import java.io.PrintWriter;</span><br />
<span style="font-size: small;">import javax.servlet.ServletException;<br />
import javax.servlet.http.HttpServlet;<br />
import javax.servlet.http.HttpServletRequest;<br />
import javax.servlet.http.HttpServletResponse;</span><br />
<span style="font-size: small;">import org.apache.commons.fileupload.*;<br />
import java.util.*;<br />
import java.util.regex.*;<br />
import java.io.*;<br />
import org.apache.commons.fileupload.servlet.*;<br />
import org.apache.commons.fileupload.disk.DiskFileItemFactory;</span><br />
<span style="font-size: small;">/**<br />
* @author gaolong1<br />
*<br />
* TODO 要更改此生成的类型注释的模板，请转至<br />
* 窗口 － 首选项 － Java － 代码样式 － 代码模板<br />
*/<br />
public class FileUpload extends HttpServlet {</span><br />
<span style="font-size: small;">/**<br />
* Destruction of the servlet. &lt;br&gt;<br />
*/<br />
private String uploadPath = "D:""share""05_Servlet_JSP""apache-tomcat-5.5.17""webapps""drp1.4""images""item"""; // 用于存放上传文件的目录<br />
&nbsp; private File tempPath =new File("D:""addnetFile""tmp"""); // 用于存放临时文件的目录<br />
public void destroy() {<br />
super.destroy(); // Just puts "destroy" string in log<br />
// Put your code here<br />
}</span><br />
<span style="font-size: small;">/**<br />
* The doPost method of the servlet. &lt;br&gt;<br />
*<br />
* This method is called when a form has its tag value method equals to post.<br />
*<br />
* @param request the request send by the client to the server<br />
* @param response the response send by the server to the client<br />
* @throws ServletException if an error occurred<br />
* @throws IOException if an error occurred<br />
*/<br />
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{<br />
&nbsp; res.setContentType( "text/html; charset=GB2312");<br />
PrintWriter out=res.getWriter();<br />
System.out.println(req.getContentLength());<br />
&nbsp; System.out.println(req.getContentType());<br />
&nbsp; DiskFileItemFactory factory = new DiskFileItemFactory();<br />
&nbsp; &nbsp; // maximum size that will be stored in memory<br />
&nbsp; //内存中可以存储数据的最大值(以字节为单位)<br />
&nbsp; &nbsp; factory.setSizeThreshold(4096);<br />
&nbsp; &nbsp; // the location for saving data that is larger than getSizeThreshold()<br />
&nbsp; &nbsp; //设置文件的大小,如果大于SizeThreshold，则存到临时目录里<br />
&nbsp; &nbsp; factory.setRepository(tempPath);<br />
&nbsp; &nbsp; ServletFileUpload upload = new ServletFileUpload(factory);<br />
&nbsp; &nbsp; // maximum size before a FileUploadException will be thrown<br />
&nbsp; // 最大上传文件，单位字节<br />
&nbsp; &nbsp; upload.setSizeMax(1000000);<br />
&nbsp; &nbsp; try{<br />
&nbsp; &nbsp; List fileItems = upload.parseRequest(req);<br />
&nbsp; &nbsp; // assume we know there are two files. The first file is a small<br />
&nbsp; &nbsp; // text file, the second is unknown and is written to a file on<br />
&nbsp; &nbsp; // the server<br />
&nbsp; &nbsp; Iterator iter = fileItems.iterator();</span><br />
<span style="font-size: small;">// 正则匹配，过滤路径取文件名<br />
&nbsp; String regExp=".+""""(.+)$";</span><br />
<span style="font-size: small;">// 过滤掉的文件类型<br />
String[] errorType={".exe",".com",".cgi",".asp"};<br />
&nbsp; Pattern p = Pattern.compile(regExp);<br />
&nbsp; String itemNo = "";<br />
&nbsp; &nbsp; while (iter.hasNext()) {<br />
&nbsp; &nbsp; &nbsp; FileItem item = (FileItem)iter.next();<br />
&nbsp; &nbsp; &nbsp; //从文件域的表单信息中拿到从jsp页面传过来的itemNo,注意FileItem拿到itemNo方式;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; if(item.isFormField()){<br />
&nbsp; &nbsp; &nbsp; if(item.getFieldName().equals("itemNo")){<br />
&nbsp; &nbsp; &nbsp; itemNo = item.getString();<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; //忽略其他不是文件域的所有表单信息<br />
&nbsp; &nbsp; &nbsp; if (!item.isFormField()) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; String name = item.getName();<br />
&nbsp; &nbsp; &nbsp; &nbsp; long size = item.getSize();<br />
&nbsp; &nbsp; &nbsp; &nbsp; if((name==null||name.equals("")) &amp;&amp; size==0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue;<br />
&nbsp; &nbsp; &nbsp; Matcher m = p.matcher(name);<br />
&nbsp; &nbsp; &nbsp; boolean result = m.find();<br />
&nbsp; &nbsp; &nbsp; if (result){<br />
&nbsp; &nbsp; &nbsp; &nbsp; for (int temp=0;temp&lt;errorType.length;temp++){<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (m.group(1).endsWith(errorType[temp])){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; throw new IOException(name+": wrong type");<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; try{</span><br />
<span style="font-size: small;">// &nbsp; &nbsp; 保存上传的文件到指定的目录</span><br />
<span style="font-size: small;">// &nbsp; &nbsp; 在下文中上传文件至数据库时，将对这里改写<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; item.write(new File(uploadPath + itemNo + ".gif"));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; res.sendRedirect("../basedata/item_upload.jsp?itemNo=" + itemNo); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //out.print(name+" "+size+"&lt;br&gt;");<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; catch(Exception e){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; out.println(e);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</span><br />
<span style="font-size: small;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; throw new IOException("fail to upload");<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; catch (IOException e){<br />
&nbsp; &nbsp; &nbsp; out.println(e);<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; catch (FileUploadException e){<br />
&nbsp; &nbsp; &nbsp; &nbsp; out.println(e);<br />
&nbsp; &nbsp; &nbsp; }</span><br />
<span style="font-size: small;">// 保存上传的文件到指定的目录</span><br />
<span style="font-size: small;">// 在下文中上传文件至数据库时，将对这里改写</span><br />
<span style="font-size: small;">&nbsp; }</span><br />
<span style="font-size: small;"><br />
/**<br />
* Initialization of the servlet. &lt;br&gt;<br />
*<br />
* @throws ServletException if an error occure<br />
*/<br />
public void init() throws ServletException {<br />
// Put your code here<br />
}<br />
}<br />
<br />
<br />
<span style="color: #00f000;">对应的请求文件：</span><br />
<span style="font-family: &quot;times&quot;;">&nbsp;</span></span><span style="font-family: 宋体;"><span style="font-size: small;">注意，如果上传需要在</span>
<table style="border: 1px solid #d4eff7; width: 98%;" border="0">
    <tbody>
        <tr>
            <td width="568">&lt;form name="uploadform" method="POST" action="./servlet/FileUpload" ENCTYPE="multipart/form-data"&gt;<br />
            <span style="font-family: times;">&lt;/form&gt;</span><br />
            </td>
        </tr>
    </tbody>
</table>
<span style="font-family: times;">html</span><span style="font-family: 宋体;">表单中加入</span><span style="font-family: times;">ENCTYPE="multipart/form-data"</span><span style="font-family: 宋体;">，</span><span style="font-family: times;">method</span><span style="font-family: 宋体;">设置为</span><span style="font-family: times;">post(</span><span style="font-family: 宋体;">因为要上传图片</span><span style="font-family: times;">),</span><span style="font-family: 宋体;">如：</span><br />
<br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&nbsp; &lt;title&gt;index.html&lt;/title&gt;<br />
&nbsp; &lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&gt;<br />
&nbsp; &lt;meta http-equiv="description" content="this is my page"&gt;<br />
&nbsp; &lt;!--&lt;link rel="stylesheet" type="text/css" href="./styles.css"&gt;--&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&nbsp; &lt;form action="./servlet/FileUpload" method="post" enctype="multipart/form-data" name="form1"&gt;<br />
&lt;input type="file" name="file"&gt;<br />
&lt;input type="submit" name="Submit" value="upload"&gt;<br />
&lt;/form&gt;<br />
&nbsp; &lt;form action="./servlet/HelloWord" method="post"&gt;<br />
&nbsp; &lt;input type="submit"/&gt;<br />
&nbsp; &lt;/form&gt;<br />
&nbsp; &lt;form name="uploadform" method="POST" action="./servlet/FileUpload" ENCTYPE="multipart/form-data"&gt;<br />
&nbsp; &nbsp; &lt;table border="1" width="450" cellpadding="4" cellspacing="2" bordercolor="#9BD7FF"&gt;<br />
&nbsp; &nbsp; &lt;tr&gt;&lt;td width="100%" colspan="2"&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 文件1：&lt;input name="x" size="40" type="file"&gt;<br />
&nbsp; &nbsp; &lt;/td&gt;&lt;/tr&gt;<br />
&nbsp; &nbsp; &lt;tr&gt;&lt;td width="100%" colspan="2"&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 文件2：&lt;input name="y" size="40" type="file"&gt;<br />
&nbsp; &nbsp; &lt;/td&gt;&lt;/tr&gt;<br />
&nbsp; &nbsp; &lt;tr&gt;&lt;td width="100%" colspan="2"&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 文件3：&lt;input name="z" size="40" type="file"&gt;<br />
&nbsp; &nbsp; &lt;/td&gt;&lt;/tr&gt;<br />
&nbsp; &nbsp; &lt;/table&gt;<br />
&nbsp; &nbsp; &lt;br/&gt;&lt;br/&gt;<br />
&nbsp; &nbsp; &lt;table&gt;<br />
&nbsp; &nbsp; &lt;tr&gt;&lt;td align="center"&gt;&lt;input name="upload" type="submit" value="开始上传"/&gt;&lt;/td&gt;&lt;/tr&gt;<br />
&nbsp; &nbsp; &lt;/table&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
注：该代码部分来自网上！</span>
<img src ="http://www.blogjava.net/dm520/aggbug/310722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-25 13:31 <a href="http://www.blogjava.net/dm520/articles/310722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开发 Eclipse 插件</title><link>http://www.blogjava.net/dm520/articles/310577.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Sat, 23 Jan 2010 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/310577.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/310577.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/310577.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/310577.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/310577.html</trackback:ping><description><![CDATA[<span  style="font-family: verdana, nsimsun, sans-serif; font-size: 12px; line-height: 19px; "><blockquote>在本文中，David Gallardo 向您展示了如何使用 Plug-in Development Environment 的代码生成向导来创建 Eclipse 插件。您将学到如何在运行时工作台中运行和调试插件，并且在 Eclipse 中安装完成的插件。David 还研究了与打包插件相关的问题 ― 包括维护版本信息、以插件片段的形式更新功能，以及组合插件来创建完整的功能部件。</blockquote>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="1"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">基于插件的体系结构</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">Eclipse 平台是 IBM 向开发源码社区捐赠的开发框架，它之所以出名并不是因为 IBM 宣称投入开发的资金总数 ― 4 千万美元 ― 而是因为如此巨大的投入所带来的成果：一个成熟的、精心设计的以及可扩展的体系结构。Eclipse 的价值是它为创建可扩展的集成开发环境提供了一个开放源码平台。这个平台允许任何人构建与环境和其它工具无缝集成的工具。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">工具与 Eclipse 无缝集成的关键是<em>插件</em>。除了小型的运行时内核之外，Eclipse 中的所有东西都是插件。从这个角度来讲，所有功能部件都是以同等的方式创建的。从这个角度来讲，所有功能部件都是以同等的方式创建的。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">但是，某些插件比其它插件更重要些。Workbench 和 Workspace 是 Eclipse 平台的两个必备的插件 ― 它们提供了大多数插件使用的扩展点，如图 1 所示。插件需要扩展点才可以插入，这样它才能运行。</p>
<br />
<a name="figure1"><strong>图 1. Eclipse Workbench 和 Workspace：必备的插件支持&nbsp;</strong></a><br />
<img alt="Eclipse Workbench" height="260" src="http://www.ibm.com/developerworks/cn/java/os-ecplug/figure1.gif" width="369" />&nbsp;<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">Workbench 组件包含了一些扩展点，例如，允许您的插件扩展 Eclipse 用户界面，使这些用户界面带有菜单选择和工具栏按钮；请求不同类型事件的通知；以及创建新视图。Workspace 组件包含了可以让您与资源（包括项目和文件）交互的扩展点。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">当然，其它插件可以扩展的 Eclipse 组件并非只有 Workbench 和 Workspace。此外，还有一个 Debug 组件可以让您的插件启动程序、与正在运行的程序交互，以及处理错误 ― 这是构建调试器所必需的。虽然 Debug 组件对于某些类型的应用程序是必需的，但大多数应用程序并不需要它。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">还有一个 Team 组件允许 Eclipse 资源与版本控制系统（VCS）交互，但除非您正在构建 VCS 的 Eclipse 客户机，否则 Team 组件，就象 Debug 组件一样，不会扩展或增强它的功能。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">最后，还有一个 Help 组件可以让您提供应用程序的联机文档和与上下文敏感的帮助。没有人会否认帮助文档是专业应用程序必备的部分，但它并不是插件功能的必要部分。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">上述每个组件提供的扩展点都记录在 Eclipse Platform Help 中，该帮助在 Platform Plug-in Developer 指南的参考部分中。乍一看，尤其是 API 参考大全的 Workbench 部分，一开始会令人望而却步。我们不会深入了解众多可用扩展点的详细信息，而只是粗略地看一个简单插件及其组件。</p>
<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td style="line-height: 19px; "><img width="100%" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" height="1" alt="" /><br />
            <img alt="" width="8" height="6" border="0" src="http://www.ibm.com/i/c.gif" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td style="line-height: 19px; "><img width="100%" height="4" src="http://www.ibm.com/i/c.gif" alt="" /><br />
            <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td valign="middle" style="line-height: 19px; "><img width="16" src="http://www.ibm.com/i/v14/icons/u_bold.gif" height="16" border="0" alt="" /><br />
                        </td>
                        <td valign="top" align="right" style="line-height: 19px; "><a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#main" class="fbox" style="color: #5c81a7; text-decoration: none; font-family: verdana, nsimSun, arial, sans-serif; font-size: 12px; line-height: 13px; "><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="2"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">插件简介</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">创建插件最简单的方法是使用 Plug-in Development Environment（PDE）。PDE 和 Java Development Tooling（JDT）IDE 是 Eclipse 的标准扩展。PDE 提供了一些向导以帮助创建插件，包括我们将在这里研究的&#8220;Hello, world&#8221;示例。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">从 Eclipse 菜单，选择&nbsp;<strong>File=&gt;New=&gt;Other</strong>（或按 Ctrl-N），然后选择 Select 对话框左边的 Plug-in Development 向导。在 Select 对话框的右边，选择 Plug-in Project。按 Next。在下一屏上，输入项目名称；我使用了&nbsp;<code>com.example.hello</code>。再次按 Next。在下一屏上，请注意，插件标识就与项目名称相同。使用项目名称作为插件标识可以将该插件与另一个插件的名称发生冲突的机会减到最小。再按一次 Next。下一屏让您选择是手工创建初始插件代码，还是运行代码生成向导。保留代码生成向导的缺省选项，选择&#8220;Hello, World&#8221;，然后按 Next，如图 2 所示。</p>
<br />
<a name="figure2"><strong>图 2. 选择&#8220;Hello, World&#8221;代码生成向导&nbsp;</strong></a><br />
<img alt="新插件" height="500" src="http://www.ibm.com/developerworks/cn/java/os-ecplug/figure2.gif" width="525" />&nbsp;<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">下一屏要求一些附加信息。请注意这一屏上的信息：它包含了插件名称、版本号、提供者名称和类名。这些是关于插件的重要信息，我们将在稍后研究。可以接受向导提供的缺省值。按 Next。在下一屏幕上，接受包名、类名和消息文本的缺省值。选择&#8220;Add the action set to the resource perspective&#8221;复选框。按 Finish。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">如果接到通知：向导需要启用某些其它插件才能完成，那么按 OK。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">过一会儿，向导将完成，而在您的工作区中将会有一个新的项目，名为&nbsp;<code>com.example.hello</code>，如图 3 所示。</p>
<br />
<a name="figure3"><strong>图 3. PDE 透视图：Welcome to Hello Plug-in&nbsp;</strong></a><br />
<img alt="PDE 透视图" height="450" src="http://www.ibm.com/developerworks/cn/java/os-ecplug/figure3.gif" width="600" />&nbsp;<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">在 Package Explorer 中，工作台的左边是向导创建的一些东西的概述。大多数项都不引人关注：包括项目类路径中的许多&nbsp;<code>.jar</code>&nbsp;文件（这些包括插件和 Java 运行时所需的 Eclipse 类）、一个图标文件夹（包含了工具栏按钮的图形），以及&nbsp;<code>build.properties</code>&nbsp;文件（包含自动构建脚本所使用的变量）。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">这里最有意思的东西是 src 文件夹，它包含了插件和 plugin.xml 文件的源代码 ― plug-in.xml 是插件的清单文件。我们将先查看 plugin.xml。</p>
<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td style="line-height: 19px; "><img width="100%" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" height="1" alt="" /><br />
            <img alt="" width="8" height="6" border="0" src="http://www.ibm.com/i/c.gif" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td style="line-height: 19px; "><img width="100%" height="4" src="http://www.ibm.com/i/c.gif" alt="" /><br />
            <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td valign="middle" style="line-height: 19px; "><img width="16" src="http://www.ibm.com/i/v14/icons/u_bold.gif" height="16" border="0" alt="" /><br />
                        </td>
                        <td valign="top" align="right" style="line-height: 19px; "><a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#main" class="fbox" style="color: #5c81a7; text-decoration: none; font-family: verdana, nsimSun, arial, sans-serif; font-size: 12px; line-height: 13px; "><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="3"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">插件清单文件</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">插件清单文件 plugin.xml 包含了 Eclipse 将插件集成到框架所使用的描述信息。缺省情况下，当第一次创建插件时，会在清单编辑器区域中打开 plugin.xml。编辑器底部的选项卡让您可以选择关于插件的不同信息集合。Welcome 选项卡显示了消息&#8220;Welcome to Hello Plug-In&#8221;，并且简要讨论了所使用的模板和关于使用 Eclipse 实现插件的提示。选择&#8220;Source&#8221;选项卡可以让您查看 plugin.xml 文件的完整源代码。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">让我们看看插件清单文件的各个部分。首先是关于插件的常规信息，包括它的名称、版本号、实现它的类文件的名称和&nbsp;<code>.jar</code>文件名。</p>
<br />
<a name="code1"><strong>清单 1. 插件清单文件 ― 常规信息</strong></a><br />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr>
            <td class="code-outline" style="line-height: 19px; background-color: #eeeeee; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; ">
            <pre class="displaycode" style="margin-top: 0px; margin-bottom: 0px; font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; font-size: 11px; ">&lt;?xmlversion="1.0" encoding="UTF-8"?&gt;
            &lt;plugin
            id="com.example.hello"
            name="Hello Plug-in"
            version="1.0.0"
            provider-name="EXAMPLE"
            class="com.example.hello.HelloPlugin"&gt;
            &lt;runtime&gt;
            &lt;library name="hello.jar"/&gt;
            &lt;/runtime&gt;
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">接着，列出了我们的插件所需的插件：</p>
<br />
<a name="code2"><strong>清单 2. 插件清单文件 ― 必需的插件</strong></a><br />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr>
            <td class="code-outline" style="line-height: 19px; background-color: #eeeeee; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; ">
            <pre class="displaycode" style="margin-top: 0px; margin-bottom: 0px; font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; font-size: 11px; ">   &lt;requires&gt;
            &lt;import plugin="org.eclipse.core.resources"/&gt;
            &lt;import plugin="org.eclipse.ui"/&gt;
            &lt;/requires&gt;
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">列出的第一个插件&nbsp;<code>org.eclipse.core.resources</code>&nbsp;是工作区插件，但实际上我们的插件并不需要它。第二个插件&nbsp;<code>org.eclipse.ui</code>&nbsp;是工作台。我们需要工作台插件，因为我们将扩展它的两个扩展点，正如后面的 extension 标记所指出的。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">第一个 extension 标记拥有点属性&nbsp;<code>org.eclipse.ui.actionSets</code>。操作集合是插件添加到工作台用户界面的一组<em>基值</em>&nbsp;― 即，菜单、菜单项和工具栏。操作集合分组了基值，这样用户可以更方便地管理它们。例如，我们的 Hello 插件的菜单和工具栏项将出现在 Resource 透视图中，因为当在运行代码生成向导时，我们做了这样的选择。如果用户要更改它，可以使用&nbsp;<strong>Window=&gt;Customize Perspective</strong>&nbsp;菜单选项从要在 Resource 透视图中显示的项中除去&#8220;Sample Action Set&#8221;。</p>
<br />
<a name="figure4"><strong>图 4. 定制 Resource 透视图&nbsp;</strong></a><br />
<img alt="Resource 透视图" height="453" src="http://www.ibm.com/developerworks/cn/java/os-ecplug/figure4.gif" width="600" />&nbsp;<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">操作集合包含了两个标记：<em>menu 标记</em>（描述菜单项应该出现在工作台菜单的什么位置，以及如何出现）和<em>action 标记</em>（描述它应该做什么）― 尤其是 action 标记标识了执行操作的类。注：这个类不是上面列出的插件类。</p>
<br />
<a name="code3"><strong>清单 3. 操作集合</strong></a><br />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr>
            <td class="code-outline" style="line-height: 19px; background-color: #eeeeee; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; ">
            <pre class="displaycode" style="margin-top: 0px; margin-bottom: 0px; font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; font-size: 11px; ">   &lt;extension
            point="org.eclipse.ui.actionSets"&gt;
            &lt;actionSet
            label="Sample Action Set"
            visible="true"
            id="com.example.hello.actionSet"&gt;
            &lt;menu
            label="Sample &amp;Menu"
            id="sampleMenu"&gt;
            &lt;separator
            name="sampleGroup"&gt;
            &lt;/separator&gt;
            &lt;/menu&gt;
            &lt;action
            label="&amp;Sample Action"
            icon="icons/sample.gif"
            class="com.example.hello.actions.SampleAction"
            tooltip="Hello, Eclipse world"
            menubarPath="sampleMenu/sampleGroup"
            toolbarPath="sampleGroup"
            id="com.example.hello.actions.SampleAction"&gt;
            &lt;/action&gt;
            &lt;/actionSet&gt;
            &lt;/extension&gt;
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">许多菜单和操作属性的目的相当明显 ― 例如，提供工具提示文本和标识工具栏项的图形。但还要注意 action 标记中的&nbsp;<code>menubarPath</code>：这个属性标识了 menu 标记中定义的哪个菜单项调用 action 标记中定义的操作。有关这个和其它工作台扩展点的详细信息，请参考&nbsp;<em>Platform Plug-in Developer Guide</em>，尤其是&#8220;Plugging into the workbench&#8221;章节（可以从 Eclipse 的帮助菜单中获取该指南）。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">由于我们选择了将插件添加到 Resource 透视图，于是生成了第二个 extension 标记。这个标记会导致当 Eclipse 第一次启动并装入我们的插件时，将插件添加到 Resource 透视图。</p>
<br />
<a name="code4"><strong>清单 4. extension 标记</strong></a><br />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr>
            <td class="code-outline" style="line-height: 19px; background-color: #eeeeee; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; ">
            <pre class="displaycode" style="margin-top: 0px; margin-bottom: 0px; font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; font-size: 11px; ">   &lt;extension
            point="org.eclipse.ui.perspectiveExtensions"&gt;
            &lt;perspectiveExtension
            targetID="org.eclipse.ui.resourcePerspective"&gt;
            &lt;actionSet
            id="com.example.hello.actionSet"&gt;
            &lt;/actionSet&gt;
            &lt;/perspectiveExtension&gt;
            &lt;/extension&gt;
            &lt;/plugin&gt;
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">如果忽略这最后一个 extension，用户就需要使用&nbsp;<strong>Window=&gt;Customize Perspective</strong>&nbsp;将插件添加到 Resource（或其它）透视图。</p>
<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td style="line-height: 19px; "><img width="100%" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" height="1" alt="" /><br />
            <img alt="" width="8" height="6" border="0" src="http://www.ibm.com/i/c.gif" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td style="line-height: 19px; "><img width="100%" height="4" src="http://www.ibm.com/i/c.gif" alt="" /><br />
            <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td valign="middle" style="line-height: 19px; "><img width="16" src="http://www.ibm.com/i/v14/icons/u_bold.gif" height="16" border="0" alt="" /><br />
                        </td>
                        <td valign="top" align="right" style="line-height: 19px; "><a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#main" class="fbox" style="color: #5c81a7; text-decoration: none; font-family: verdana, nsimSun, arial, sans-serif; font-size: 12px; line-height: 13px; "><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="4"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">插件源代码</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">代码生成向导生成了两个 Java 源文件，打开 PDE Package Explorer 中的 src 文件夹就可以看到它们。第一个文件&nbsp;<code>HelloPlugin.java</code>&nbsp;是插件类，它继承了&nbsp;<code>AbstractUIPlugin</code>&nbsp;抽象类。<code>HelloPlugin</code>&nbsp;负责管理插件的生命周期，在更为扩展的应用程序中，它负责维护诸如对话框设置和用户首选项等内容。<code>HelloPlugin</code>&nbsp;要做的事就这么多：</p>
<br />
<a name="code5"><strong>清单 5. HelloPlugin</strong></a><br />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr>
            <td class="code-outline" style="line-height: 19px; background-color: #eeeeee; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; ">
            <pre class="displaycode" style="margin-top: 0px; margin-bottom: 0px; font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; font-size: 11px; ">packagecom.example.hello.actions;
            import org.eclipse.ui.plugin.*;
            import org.eclipse.core.runtime.*;
            import org.eclipse.core.resources.*;
            import java.util.*;
            /**
            * The main plugin class to be used in the desktop.
            */
            public class HelloPlugin extends AbstractUIPlugin {
            //The shared instance.
            private static HelloPlugin plugin;
            //Resource bundle.
            private ResourceBundle resourceBundle;
            /**
            * The constructor.
            */
            public HelloPlugin(IPluginDescriptor descriptor) {
            super(descriptor);
            plugin = this;
            try {
            resourceBundle= ResourceBundle.getBundle(
            "com.example.hello.HelloPluginResources");
            } catch (MissingResourceException x) {
            resourceBundle = null;
            }
            }
            /**
            * Returns the shared instance.
            */
            public static HelloPlugin getDefault() {
            return plugin;
            }
            /**
            * Returns the workspace instance.
            */
            public static IWorkspace getWorkspace() {
            return ResourcesPlugin.getWorkspace();
            }
            /**
            * Returns the string from the plugin's resource bundle,
            * or 'key' if not found.
            */
            public static String getResourceString(String key) {
            ResourceBundle bundle= HelloPlugin.getDefault().getResourceBundle();
            try {
            return bundle.getString(key);
            } catch (MissingResourceException e) {
            return key;
            }
            }
            /**
            * Returns the plugin's resource bundle,
            */
            public ResourceBundle getResourceBundle() {
            return resourceBundle;
            }
            }
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">第二个源文件&nbsp;<code>SampleAction.java</code>&nbsp;包含的类将执行在清单文件的操作集合中指定的操作。<code>SampleAction</code>&nbsp;实现了&nbsp;<code>IWorkbenchWindowActionDelegate</code>&nbsp;接口，它允许 Eclipse 使用插件的代理，这样不是在万不得已的情况下，Eclipse 就无需装入插件（这项优化工作使在装入插件时发生内存和性能方面的问题降到最低）。<code>IWorkbenchWindowActionDelegate</code>&nbsp;接口方法使插件可以与代理进行交互：</p>
<br />
<a name="code6"><strong>清单 6. IWorkbenchWindowActionDelegate 接口方法</strong></a><br />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr>
            <td class="code-outline" style="line-height: 19px; background-color: #eeeeee; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; ">
            <pre class="displaycode" style="margin-top: 0px; margin-bottom: 0px; font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; font-size: 11px; ">package com.example.hello.actions;
            import org.eclipse.jface.action.IAction;
            import org.eclipse.jface.viewers.ISelection;
            import org.eclipse.ui.IWorkbenchWindow;
            import org.eclipse.ui.IWorkbenchWindowActionDelegate;
            import org.eclipse.jface.dialogs.MessageDialog;
            /**
            * Our sample action implements workbench action delegate.
            * The action proxy will be created by the workbench and
            * shown in the UI. When the user tries to use the action,
            * this delegate will be created and execution will be
            * delegated to it.
            * @see IWorkbenchWindowActionDelegate
            */
            public class SampleAction implements IWorkbenchWindowActionDelegate {
            private IWorkbenchWindow window;
            /**
            * The constructor.
            */
            public SampleAction() {
            }
            /**
            * The action has been activated. The argument of the
            * method represents the 'real' action sitting
            * in the workbench UI.
            * @see IWorkbenchWindowActionDelegate#run
            */
            public void run(IAction action) {
            MessageDialog.openInformation(
            window.getShell(),
            "Hello Plug-in",
            "Hello, Eclipse world");
            }
            /**
            * Selection in the workbench has been changed. We
            * can change the state of the 'real' action here
            * if we want, but this can only happen after
            * the delegate has been created.
            * @see IWorkbenchWindowActionDelegate#selectionChanged
            */
            public void selectionChanged(IAction action, ISelection selection) {
            }
            /**
            * We can use this method to dispose of any system
            * resources we previously allocated.
            * @see IWorkbenchWindowActionDelegate#dispose
            */
            public void dispose() {
            }
            /**
            * We will cache window object in order to
            * be able to provide parent shell for the message dialog.
            * @see IWorkbenchWindowActionDelegate#init
            */
            public void init(IWorkbenchWindow window) {
            this.window = window;
            }
            }
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td style="line-height: 19px; "><img width="100%" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" height="1" alt="" /><br />
            <img alt="" width="8" height="6" border="0" src="http://www.ibm.com/i/c.gif" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td style="line-height: 19px; "><img width="100%" height="4" src="http://www.ibm.com/i/c.gif" alt="" /><br />
            <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td valign="middle" style="line-height: 19px; "><img width="16" src="http://www.ibm.com/i/v14/icons/u_bold.gif" height="16" border="0" alt="" /><br />
                        </td>
                        <td valign="top" align="right" style="line-height: 19px; "><a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#main" class="fbox" style="color: #5c81a7; text-decoration: none; font-family: verdana, nsimSun, arial, sans-serif; font-size: 12px; line-height: 13px; "><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="5"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">运行和调试插件</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">当开发 Eclipse 的插件时，必须停止 Eclipse 并用新的插件重新启动它以便进行测试和调试，这很笨拙。幸好，Eclipse PDE 提供了一个自托管（self-hosted）的开发环境，它让您无需将插件安装在工作台的单独实例中即可运行。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">要运行 Hello 插件，选择&nbsp;<strong>Run=&gt;Run As=&gt;Run-time Workbench</strong>&nbsp;来启动另一个 Workbench 实例，而该实例添加了插件的菜单选项和工具栏，如图 5 所示。</p>
<br />
<a name="figure5"><strong>图 5. 在运行时工作台中运行的 Hello 插件&nbsp;</strong></a><br />
<img alt="Hello 插件" height="448" src="http://www.ibm.com/developerworks/cn/java/os-ecplug/figure5.gif" width="600" />&nbsp;<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">我们可以通过单击工具栏按钮或从&#8220;Sample Menu&#8221;菜单激活插件。任何一种方法都会生成一个框，其标题是&#8220;Hello Plug-in&#8221;，内容是&#8220;Hello, Eclipse world&#8221;，以及一个 OK 按钮，按该按钮可以关闭这个框。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">通过选择&nbsp;<strong>Run=&gt;Debug As=&gt;Run-time Workbench</strong>，按类似的方法调试插件。这次，当插件在第二个工作台实例中运行时，我们可以在最初的工作台中单步执行源代码，以及检查变量等。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">一旦插件经过测试并准备发布，我们就需要将它适当打包，以便在 Eclipse 中安装。</p>
<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td style="line-height: 19px; "><img width="100%" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" height="1" alt="" /><br />
            <img alt="" width="8" height="6" border="0" src="http://www.ibm.com/i/c.gif" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td style="line-height: 19px; "><img width="100%" height="4" src="http://www.ibm.com/i/c.gif" alt="" /><br />
            <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td valign="middle" style="line-height: 19px; "><img width="16" src="http://www.ibm.com/i/v14/icons/u_bold.gif" height="16" border="0" alt="" /><br />
                        </td>
                        <td valign="top" align="right" style="line-height: 19px; "><a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#main" class="fbox" style="color: #5c81a7; text-decoration: none; font-family: verdana, nsimSun, arial, sans-serif; font-size: 12px; line-height: 13px; "><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="6"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">打包插件</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">Eclipse 在启动时会查看其插件目录来确定要装入哪些插件。要安装插件，我们需要在插件目录中创建一个子目录，并将程序文件和清单文件复制到那里。建议目录名称能表示插件的标识，并且后面跟下划线和版本号，但是这种做法不是必需的。假设 Eclipse 安装在 C:\eclipse 中；我们要创建一个目录：</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><code>C:\eclipse\plugins\com.example.hello_1.0.0.</code></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">按照 Java 程序的标准，我们的程序文件需要归档到&nbsp;<code>.jar</code>文件中 — 我们的插件清单文件，您也许记得它包含这个项：</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr>
            <td class="code-outline" style="line-height: 19px; background-color: #eeeeee; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; ">
            <pre class="displaycode" style="margin-top: 0px; margin-bottom: 0px; font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; font-size: 11px; ">   &lt;runtime&gt;
            &lt;library name="hello.jar"/&gt;
            &lt;/runtime&gt;
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">要创建&nbsp;<code>hello.jar</code>&nbsp;文件，我们可以通过突出显示项目名称，并从 Eclipse 菜单选择&nbsp;<strong>File=&gt;Export</strong>，以导出插件文件。选择 JAR 文件作为导出方式，按 Next，然后浏览到我们为它创建的目录。下一步，我们还需要将 plugin.xml 文件复制到这个目录。也可以使用&nbsp;<strong>File=&gt;Export</strong>&nbsp;菜单选项（但请要记住选择 File System 作为导出目的地）。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">这就是安装插件所需的全部操作，但您将需要停止并重新启动 Eclipse，以便能识别这个新的插件。从帮助菜单中选择&#8220;About Eclipse Platform&#8221;，可以找到关于已安装插件的信息，包括版本号。在出现的屏幕上有一个按钮是 Plug-in Details；向下滚动列表来寻找 Hello 插件及其版本号。</p>
<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td style="line-height: 19px; "><img width="100%" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" height="1" alt="" /><br />
            <img alt="" width="8" height="6" border="0" src="http://www.ibm.com/i/c.gif" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td style="line-height: 19px; "><img width="100%" height="4" src="http://www.ibm.com/i/c.gif" alt="" /><br />
            <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td valign="middle" style="line-height: 19px; "><img width="16" src="http://www.ibm.com/i/v14/icons/u_bold.gif" height="16" border="0" alt="" /><br />
                        </td>
                        <td valign="top" align="right" style="line-height: 19px; "><a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#main" class="fbox" style="color: #5c81a7; text-decoration: none; font-family: verdana, nsimSun, arial, sans-serif; font-size: 12px; line-height: 13px; "><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="7"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">更新插件版本</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">在目录名称中包含版本号的目的是允许在同一台机器上共存某个插件的多个版本（每次只装入一个版本）。我们可以通过创建一个 Hello 插件的已更新版本来看看这是如何工作的：例如，将 plugin.xml 文件中的版本号更改成&#8220;1.0.1&#8221;，然后将&nbsp;<code>SampleAction.java</code>&nbsp;中的文本更改成&#8220;New and improved Hello, Eclipse world&#8221;。从 Eclipse 菜单中选择&nbsp;<strong>Project=&gt; Rebuild All</strong>。下一步，将项目文件以 JAR 形式导出到新的插件目录，例如，<code>com.example.hello_1.0.1</code>。将修订过的 plugin.xml 文件复制到同一个目录中。当停止并重新启动 Eclipse 时，只会装入已更新的插件。</p>
<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td style="line-height: 19px; "><img width="100%" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" height="1" alt="" /><br />
            <img alt="" width="8" height="6" border="0" src="http://www.ibm.com/i/c.gif" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td style="line-height: 19px; "><img width="100%" height="4" src="http://www.ibm.com/i/c.gif" alt="" /><br />
            <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td valign="middle" style="line-height: 19px; "><img width="16" src="http://www.ibm.com/i/v14/icons/u_bold.gif" height="16" border="0" alt="" /><br />
                        </td>
                        <td valign="top" align="right" style="line-height: 19px; "><a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#main" class="fbox" style="color: #5c81a7; text-decoration: none; font-family: verdana, nsimSun, arial, sans-serif; font-size: 12px; line-height: 13px; "><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="8"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">插件片段和功能部件</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">Eclipse 由插件组成，但在开发 Eclipse 的插件时，还要慎重考虑另外两个级别的组件 ― 插件片段和功能部件。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">插件<em>片段</em>（如名称所暗示的）是完整插件的组成部分 ―&nbsp;<em>目标</em>插件。片段提供的功能与目标插件的功能合并。片段可以用于将插件本地化成各种语言；在无需形成一个全新发行版的情况下，以增量形式将功能部件添加到现有插件，或者提供特定于平台的功能。在许多方面，片段与插件一样。主要的区别就是片段没有插件类 ― 片段的生命周期由其目标插件管理。此外，片段的清单文件叫作 fragment.xml，它列出了目标插件的标识和版本号，以及片段的标识和版本号。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">另一方面，插件<em>功能部件</em>根本不包含编码。在 Eclipse 体系结构术语中，功能部件是将一组相关插件打包到完整的产品中。例如，JDT 是包含了象 Java 编辑器、调试器和控制台这样的插件的功能部件。名为 feature.xml 的清单文件描述了一个功能部件归档文件。在其中，该清单文件包含了对该功能部件所包含的插件和其它资源的引用、关于如何更新该功能部件的信息、版权信息和许可证信息。</p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">在 Eclipse 中，<em>主功能部件</em>设置了 Eclipse 平台的外观。主功能部件旨在确定诸如给予 Eclipse 其身份的闪屏和其它特征之类的东西。Eclipse 只允许一个主功能部件。用这种方式，通过创建一组插件，将它们打包到功能部件中，并且使这个功能部件成为主功能部件，就可以重新创建 Eclipse 的品牌，并将它用于创建全新且不同的产品。如果从 Eclipse.org 下载，缺省主功能部件是&nbsp;<code>eclipse.org.platform</code>。</p>
<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td style="line-height: 19px; "><img width="100%" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" height="1" alt="" /><br />
            <img alt="" width="8" height="6" border="0" src="http://www.ibm.com/i/c.gif" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td style="line-height: 19px; "><img width="100%" height="4" src="http://www.ibm.com/i/c.gif" alt="" /><br />
            <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                    <tr>
                        <td valign="middle" style="line-height: 19px; "><img width="16" src="http://www.ibm.com/i/v14/icons/u_bold.gif" height="16" border="0" alt="" /><br />
                        </td>
                        <td valign="top" align="right" style="line-height: 19px; "><a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#main" class="fbox" style="color: #5c81a7; text-decoration: none; font-family: verdana, nsimSun, arial, sans-serif; font-size: 12px; line-height: 13px; "><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; "><a name="9"><span class="atitle" style="font-family: Arial, sans-serif; font-weight: bold; font-size: 18px; ">后续步骤</span></a></p>
<p style="padding-bottom: 8px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; ">在插件的介绍里我们只是稍微了解一些插件的必要用法。学习插件的更多知识的最佳参考资料是&nbsp;<em>Plug-in Developer's Guide</em>，可以从 Eclipse 中的帮助菜单中获得该指南。该文档包含了编程指南、Eclipse API 和插件扩展点的参考大全、Eclipse.org 上可用的编程示例的指南，以及常见问题列表。另一个优秀参考资料是 Eclipse 本身的源代码。根据您的兴趣，您也许想要查找一些示例，以了解不同工作台功能部件（如视图和编辑器）是如何扩展的，或者如何使用 SWT（Eclipse 图形 API）。此外，下面的<a href="http://www.ibm.com/developerworks/cn/java/os-ecplug/index.html#resources" style="color: #5c81a7; ">参考资料</a>可以帮助您学到更多知识。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/310577.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-23 10:08 <a href="http://www.blogjava.net/dm520/articles/310577.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>百度李一男：CTO不再默不作声</title><link>http://www.blogjava.net/dm520/articles/310212.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Wed, 20 Jan 2010 04:08:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/310212.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/310212.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/310212.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/310212.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/310212.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">不难发现，今年的李一男开始越来越多地出现在媒体面前，尽管依然低调，但相比华为或者港湾时期的他，脸上更多了一分轻松和从容。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">李一男是通信行业的名人，但业内也有传言说在他去4S店看宝马车的时候，连汽车销售员都不会多跟他搭一句话，因为实在看上去貌不惊人。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">今天的李一男，在北京办公室，经常可以看到他的身影，这里是百度的办公室。从2008年10月开始，他的新身份是百度CTO，唯一不变的是他的平头加金丝框眼镜。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">李一男是一个谜，也是一个传奇。他曾经是华为最年轻的副总裁，技术出身的他主导研发了CC08万门数字程控交换机，这帮助华为掘到了第一桶金，当年的李一男只有27岁，在华为副总裁刘平的回忆录中，李一男说话声音不大，甚至有时候很难镇得住场面，但目光如炬。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">李一男是华为的首批创业者之一，得到了华为总裁任正非的欣赏，任正非称他为小李子或者红孩儿。在华为内部，李一男被认为是最有可能接班任正非的候选人，华为的成功和任正非的神秘进一步提高了李一男的神秘感和被关注度。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">就在所有人都以为李一男注定将被作为华为接班人培养时，外表低调、冷静的李一男作出了一个大胆决定：离开华为，独立创业。尽管李一男的离开让任正非心痛不已，但仍然大方地送给他价值2000多万的数据产品，帮助其度过初期的困难时期，这就是后来的港湾网络。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">天不遂人愿。李一男的出走在华为内部引起了极大震动，不少技术骨干也纷纷出走，港湾的数据通信产品开始在市场上与华为直面竞争，李一男也雄心勃勃地提出了港湾的上市构想。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">市场竞争让任正非和李一男这对情同父子的人形同陌路。华为为了挽救丢失的市场，专门成立了打港办，开始处处与港湾针锋相对，港湾因此严重受挫，与此同时，港湾的内部管理也开始出现问题。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">2006年6月，被西门子收购的想法也被华为搅黄了之后，港湾唯一的出路只有被华为收购，根据收购条件，李一男需要回华为工作两年，他的新头衔是副总裁兼首席电信科学家。但是经过这样的波折，李一男已经不可能还是原来的那个小李子。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">终于在华为干满两年之后，李一男还是离开了华为。过去几年的经历已经证明，李一男确实对电信技术有着超人的天赋，但对于企业管理和人情世故，并不在行，因此，他选择了一个偏技术的新岗位，百度的CTO。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">有人说，今天的李一男已经比几年前成熟多了。经常与百度CEO李彦宏在公开场合露面，曾经有一次出现了工作失误，他发了封群体邮件，将所有失误都揽到了自己身上，这种气度让下属心悦诚服。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">他已经不再是当年那个因为一点小事就对下属大发雷霆的李一男，尽管那种作风让他像极了任正非，但任正非让华为越来越成功，李一男却让港湾走上了陌路。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">李一男加入百度之后，百度进入研发的高峰期，每年将投入10亿进行研发，百度相继推出了阿拉丁、凤巢等全新的系统。或许对于李一男来说，专心做好技术研发是他最擅长也最快乐的事情。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/310212.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-20 12:08 <a href="http://www.blogjava.net/dm520/articles/310212.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深度报道：李一男离职对百度技术走向影响多大</title><link>http://www.blogjava.net/dm520/articles/310210.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Wed, 20 Jan 2010 04:05:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/310210.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/310210.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/310210.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/310210.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/310210.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">网易科技的分析文章称，百度首席技术官李一男的离职为百度未来的技术走向增添了变数。此前李一男加盟百度，高调推出了阿拉丁计划和框计算等技术概念，他的离职是否意味着百度的技术战略也会随之变化？</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><strong>李一男曾被委以重任</strong></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">李一男加盟百度，曾一度被业内寄予较高期望。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">来自百度创业团队的首席技术官刘建国离职后，百度很长时间内没有找到CTO，尽管李彦宏也是技术出身，被下属公认是技术嗅觉灵敏，但作为CEO，分身乏术，直到16个月前李一男加盟。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">2008年10月6日，被外界称为技术天才的李一男，作别通信企业华为，加盟百度出任首席技术官。百度创始人、董事会主席兼CEO李彦宏对李一男非常器重，称全世界能做百度CTO的人不超过三人，李一男就是其中一位。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">李彦宏随即对李一男委以重任。这点从李一男负责的项目及汇报体系上就能明显看出。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">在汇报方面，李彦宏从美国找来的旧友、百度首席科学家威廉张、在百度内部地位很高的产品副总裁俞军(已离职)、百度两位技术元老(高级技术总监郭眈及崔珊珊)都被要求向李一男汇报。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">在负责的项目方面，李一男领导百度下一代搜索引擎阿拉丁计划的开发。这是一个由1000人组成的开发团队，占了百度工程师人数的一半。李彦宏在半年前提出了框计算的概念，李一男又开始负责领导框计算的开发。李一男还领导了新广告系统凤巢的开发。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><strong>研发项目进展缓慢</strong></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">百度一年前启动的阿拉丁计划及半年前启动的框计算计划，均属下一代搜索的范畴，与现在的搜索相比，有革命性的改变，因为外界寄予厚望，非常关心它的进展。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">阿拉丁计划高调启动已经一年多，目前外界依然没有看到阿拉丁计划的雏形，这让外界有些不耐烦，有人开始批评百度技术突破太慢。在李一男出任百度CTO之前，有业内人士已经开始抱怨百度的技术突破太慢，甚至指责它变成了一家销售主导的公司。据了解，百度的销售人员规模约为工程师的两倍。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">李彦宏希望李一男的加盟，能够让自己为百度制定的技术战略更快的实施。显然，李一男未能如李彦宏所愿，他负责的实施的阿拉丁计划及框计算计划离推出依然遥遥无期，只有凤巢系统已经上线。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><strong>业内认为李一男离职对百度影响不大</strong></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">一般意义而言，一家公司的CTO是技术掌舵人，其离职会对公司的技术走向产生重大影响，特别是对技术严重依赖的搜索公司而言。但据透露，由于百度的掌舵人李彦宏是技术出身，且技术嗅觉非常敏感，主要的技术战略均由李彦宏制定，因此，负责执行的CTO李一男对百度所能产生的影响就要大打折扣。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">百度内部人士介绍，李一男领导开发的三个项目，阿拉丁、凤巢及框计算，都是由李彦宏提出来的，李一男主要负责将这些开发计划执行下去，一男离开后，这些计划还会继续进行下去。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">李一男离职的当天，百度就内部宣布，两位技术元老高级技术总监郭眈及崔珊珊接替李一男的工作。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><strong>业内专家建议百度反思高管引进机制</strong></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">除了李一男身上的技术天才光环外，外界对这起高管离职事件保持高度关注的另外一个原因是，这是百度十天之内发生的第二起核心高管离职。1月8日，百度宣布分管销售工作的首席运营官叶朋离职。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">叶朋和李一男是百度从外界引进的第一批职业经理人核心高管。百度之前的CTO刘建国、COO朱洪波都来自创业团队，他们在百度上市后离开公司。现在，叶朋和李一男都分别在加入百度一年多的时刻，离开了百度。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">互联网专家谢文认为，百度在找高管方面判断有些失误。业外人士要找到互联网的感觉很难。谢文说，百度应该下决心把班子弄好，它还是需要一个五到七人的核心高管团队。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">著名互联网观察家洪波(keso)认为，百度管理架构曾出现过一段时间真空，百度当家人李彦宏当时有些饥不择食，其引进的叶朋和李一男并非合适人选，他们在加入百度时就为今天已经发生的上任短期内离开埋下了伏笔。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">洪波具体分析说，叶朋之前在摩托罗拉及苹果中国公司工作过，这些行业的特点和互联网相差甚远，要在短期内领导好搜索公司的销售团队，难度可想而知；而李一男尽管是电信技术专家，但对互联网并不熟悉，领导开发互联网技术亦有很大的挑战。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">搜索的业务非常独特，大多数互联网行业之外的人很难融入进去，非互联网的人担任高管，这本身就潜伏着危机。洪波说。李一男加盟百度之时，洪波就预言，这不会是一个长期的安排。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/310210.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-20 12:05 <a href="http://www.blogjava.net/dm520/articles/310210.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google退出中国百度未必一定是受益者</title><link>http://www.blogjava.net/dm520/articles/310063.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Tue, 19 Jan 2010 05:07:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/310063.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/310063.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/310063.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/310063.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/310063.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; ">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">来自：http://xlg163tech.blog.163.com/blog/static/27970530201001892348653/</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">谷歌退出中国扑朔迷离了，说要退出的理由，说得义正辞严，一副捍卫尊严的样子，其实业内明眼人都知道这是个障眼法，审查是谷歌进中国就知道的，受到攻击，哪个网站不受攻击。前几天几个互联网朋友一起吃饭，大家的网站每天都有受攻击，攻击的什么人都有，从专业人士、竞争对手到初学黑客技术的爱好者。至于国家强力部门，美国的FBI不会攻击？傻子才相信这样的故事。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">谷歌要走就走，天要下雨，娘要嫁人，只好随它去。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">这段时间接受这个问题的采访，不同的人有不同的关注点，香港媒体非常有意思的是，更关注的是商业层面的影响，谷歌退出对于产业链的影响，还有就是哪个企业会在这个过程中获益。一般的人，最本能的反应，那肯定是百度，百度是谷歌最大的竞争对手，也是最强有力的竞争对手，现在谷歌退出，30%左右的市场空间出现，这是百度的一大机会，在搜索领域很可能就进入一个垄断的时代了，而且百度业绩也会有较大的增长，这几天股市表现也非常说明问题。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">我一方面感觉这件事对于百度应该是相对比较正面，不过另一方面我还相信这个世界的变化很多最初的感觉都是未来真实的，谷歌的退出，不一定是百度的机会，如果把握不好的话，会对百度不利的转折。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">我们都知道，虽然互联网起来之初，搜索受到大家重视，但是此后门户的概念一度压倒搜索，因此，象搜狐这样以搜索为切入的公司，到了2000年初逐渐不再以搜索为中心，这个过程中，百度坚持了搜索，逐渐奠定了行业的地位。而不久谷歌也进入中国，搜索领域的两强，百度和谷歌基本上瓜分了绝大部分市场，尤为重要的是，谷歌虽然没有拿到中国市场绝大部分市场份额，但是它的强大，它的创新能力，它的经济实力足以令任何一个想进入这个领域的企业胆寒。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">因此，搜索领域基本没有故事了，不论是投资者还是有实力的企业，都不敢下决心来拚这个市场，以至于联想完全放弃了，搜狐基本上对付，腾讯也是做了个搜索引擎，也没有发过力。这样的情况下，本土的百度打受到很多限制的谷歌，就相对容易了一些了。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">今天谷歌的退出，空出了一块真空地带，同时也给了资本市场和一些有实力的企业一个提示，机会又来了，这个市场有机会，又是真空状态，百度发展到现在，有一些用户就是不喜欢，这样的情况下，新的市场需要新的搜索引擎出现。这样看到这块的市场的绝不是百度，它可能是搜狐、腾讯、中搜，甚至是新的资本。搜狐有曾经很有影响的搜狗，它是有搜索品牌，也有现成的产品，只需要做更多的投入。腾讯是目前中国最有实力的互联网公司，它已经做了自己的搜索引擎：搜搜，只是因为搜索对手太强大，腾讯并没有发力去推。现在这块市场出现了真空的状态，腾讯不仅是有钱，它还有大量的QQ用户，也有对互联网产品细致的研究，有强大的推送平台。如果这些公司要在搜索领域发力，它的力量是不能低估的。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; line-height: 22px; text-indent: 2em; ">和过去的谷歌不同的，谷歌是一个美国公司，管理、文化、理念都有不同，本土化一直是困扰着谷歌的问题，然而搜狐、腾讯等都是中国公司，百度知道的，百度能干的那一套，这些公司都能。另一方面无论是搜狐还是腾讯，都通过其他业务积累了大量用户，形成强大的宣传和推送平台，可以更多的进行业务的捆绑。对于百度而言，走掉的猛虎，进来的可能是土狼，它的进攻性会更强。如果进来的还不止一只狼，那它不是能不能扩大市场份额，而是能不能守住市场份额的问题。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/310063.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-19 13:07 <a href="http://www.blogjava.net/dm520/articles/310063.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>百度CTO李一男离职 将转任12580 CEO</title><link>http://www.blogjava.net/dm520/articles/310062.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Tue, 19 Jan 2010 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/310062.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/310062.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/310062.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/310062.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/310062.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span style="font-family: 宋体, serif; font-size: 14px; color: #2b2b2b; line-height: 23px; ">
<p style="font-size: 14px; line-height: 23px; text-indent: 0px; text-align: center; "><img alt="百度CTO 李一男" src="http://img3.cache.netease.com/tech/2010/1/18/20100118124927bb866.jpg" style="vertical-align: top; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; " />&nbsp;<br />
<a href="http://go.tech.163.com/info/detail.jsp?id=5" style="color: #1e50a2; text-decoration: underline; ">百度</a><a href="http://go.tech.163.com/info/detail.jsp?id=5" style="color: #1e50a2; text-decoration: underline; "><img src="http://cimg20.163.com/tech/2008/3/31/20080331145327d1893.png" border="0" style="vertical-align: top; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; "  alt="" /></a>CTO 李一男</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; "><a href="http://tech.163.com/" target="_blank" style="color: #1e50a2; text-decoration: underline; ">网易科技</a>讯 1月18日中午消息，百度首席运营官叶朋离职的第十天，内部员工向<a href="http://go.tech.163.com/info/web/2.html" target="_blank" style="color: #1e50a2; text-decoration: underline; ">网易<img src="http://cimg20.163.com/tech/2008/3/31/20080331145327d1893.png" style="vertical-align: top; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; "  alt="" /></a>科技证实，百度首席技术官李一男近期也将离职，他将出任中国移动旗下12580的运营公司&#8220;无限讯奇&#8221;首席执行官(CEO)。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">李一男的手机一直处于无人接听状态，百度官方亦不愿正面回应。上述百度内部人士告诉网易科技，上述变动已是板上钉钉，百度近期将正式对外宣布。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">巧合的是，李一男将加盟出任CEO的12580前任高管(总裁兼COO)龚宇半个月前跳槽百度，组建百度视频公司并出任CEO。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; "><strong style="font-weight: bold; ">内部员工证实李一男将离职</strong></p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">据上述员工透露，李一男在一个多月前已经提交了辞呈并获得了批准，按照原计划，他将于下个月底离职。百度另外一位内部员工透露，李一男离职后，百度两位高级技术总监郭眈、崔珊珊将接替李的工作。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">对于李一男离职的原因，<a href="http://go.tech.163.com/info/detail.jsp?id=4" style="color: #1e50a2; text-decoration: underline; ">联想<img src="http://cimg20.163.com/tech/2008/3/31/20080331145327d1893.png" border="0" style="vertical-align: top; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; "  alt="" /></a>到百度刚刚经历了一次&#8220;史无前例&#8221;的&#8220;被黑&#8221;，外界揣测李一男离职与此次被黑有内在联系。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">不过，从李一男提出辞职的时间来看，他的离职在百度被黑之前，百度被黑的原因与域名有关，并非技术上有漏洞，CTO李一男的主要工作也是研发百度下一代搜索&#8220;阿拉丁&#8221;，因此，认为李一男的离职与被黑有关显得有些牵强。至于李一男离职的真实原因，外界目前还无从知晓。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">李一男加入百度一年有余，2008年10月，他离开华为，加入百度出任首席技术官，负责百度下一代搜索引擎&#8220;阿拉丁&#8221;的开发。离开华为前，他的职位是高级副总裁兼首席电信科学家。李一男是国内知名的技术专家，被外界称为是&#8220;少年天才&#8221;，他曾是华为最年轻的副总裁，后离开华为创办电信设备商港湾网络，后者被华为收购后，李一男回到华为被&#8220;雪藏&#8221;。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; "><strong style="font-weight: bold; ">李一男将出任12580 CEO</strong></p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">上述百度内部员工透露，李一男离开百度后，将出任12580 CEO。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">12580是中国移动旗下的综合信息服务门户，北京无限讯奇信息技术公司是12580的独家合作伙伴，李一男将加盟的便是北京无限讯奇信息技术公司，业内一般直称这家公司为12580。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">12580基于语音、互联网、WAP、短信、彩信、位置服务等方式提供综合信息，它兼具电信行业和互联网行业的特点。对于电信行业出身、又在搜索公司百度锻炼过一年多的李一男而言，12580或许是个能发挥他优势的公司。不过，作为CEO，协调资源、关系、管理是最主要的工作，对于技术出身的李一男而言，也是个不小的挑战。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">不得不提的一个巧合是，12580前任高管(总裁兼COO)龚宇半个月前跳槽到了百度，负责组建百度视频公司并出任CEO。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; "><strong style="font-weight: bold; ">百度十天之内两核心高管离职</strong></p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">李一男的离职，是百度近期离职的又一核心高管。十天前的1月8日，百度宣布首席运营官叶朋离职。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">十天之后两大核心高管离职，让外界对百度的前途增加了几分担忧。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">不过，百度创始人、董事长兼CEO<a href="http://go.tech.163.com/renwu/data/45.html" style="color: #1e50a2; text-decoration: underline; ">李彦宏</a>似乎并不担心。在上周末举行的百度十周年庆典上，李彦宏还放出豪言，称未来十年的目标是收入增长40倍。(牛立雄)</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; "><strong style="font-weight: bold; ">李一男简介：</strong></p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">1985年，考入华中理工大学少年班。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">1993年6月，毕业后即加入了华为。两天时间升任华为工程师、半个月升任主任工程师、半年升任中央研究部副总经理、两年被提拔为华为公司总工程师/中央研究部总裁、27岁坐上了华为公司的副总裁宝座。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">2000年，李一男带着从华为拿到的价值1000万元的设备北上创建港湾网络。公司迅速发展后，成为华为对手。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">2006年6月，华为收购港湾网络，李一男回到华为，任首席电信科学家、副总裁。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">2007年12月，华为内部公告任命李一男为华为终端公司副总裁。</p>
<p style="font-size: 14px; line-height: 23px; text-indent: 2em; ">2008年10月，百度任命李一男为该公司首席技术官（CTO）。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/310062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-19 13:05 <a href="http://www.blogjava.net/dm520/articles/310062.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>百度：幸福来得太快 启动“捡钱计划”</title><link>http://www.blogjava.net/dm520/articles/309960.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Mon, 18 Jan 2010 07:39:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309960.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309960.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309960.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309960.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309960.html</trackback:ping><description><![CDATA[<p>我感觉大家上班都洋溢着微笑。中文搜索引擎巨头百度相关人士昨日表示。因为受谷歌宣称将撤离中国市场影响，在周三的纳斯达克股市交易中，百度报收于
439.48美元，大涨13.71%。而谷歌昨日最低到573.90美元，最高588.38美元，收盘报于587.09美元，全天仍跌了0.57%。<br />
<br />
因为百度曾实行全员持股策略，目前很多员工手中还持有股权。谷歌如果放弃30%（目前谷歌在中国搜索市场的占有率）多的中国市场份额的话，百度目前60%以上的市场份额有望上涨到90%以上。<br />
<br />
幸福来得太快。百度员工表示。而百度负责广告销售的员工在早上来到公司后，第一件事就是列出谷歌的广告客户名单，开始逐个联系。我们内部调侃这是捡钱计划。<br />
<br />
谷歌的内部员工表示，广告系统还在正常运作，客户的广告都在正常显示。公司没有像外部说所的运作出现问题。只是一些员工代表参与了当天的总部视频会议连线，大家都在等待解决结果。如果一旦解散，广告部的员工大部分会领几个月的补偿，而研发工程师们可能会有人留下。<br />
<br />
原谷歌中国首席营销官（CMO）王怀南透露，谷歌中国员工大部分是负责广告销售，一部分研发人员负责支持中国和全球的研发任务。<br />
<br />
假如谷歌未来真的退出中国市场，花旗分析师凯瑟琳梁在研究报告中称，百度可能会抢到谷歌留下的中国市场份额的大部分。<br />
<br />
目前，谷歌在中国有大量的商业合作关系，包括天涯、迅雷、中国移动（00941.HK）和新浪（SINA.NASDAQ）。如果谷歌一旦撤出，将留下庞大的流量空白。比如新浪就与谷歌有搜索广告分成合作协议，一旦谷歌撤出，留给新浪选择的合作伙伴并不多。<br />
<br />
新华都CEO唐骏表示，其实搜索引擎的用户和广告客户黏性都不高，一旦市场地位出现问题，很容易转化和流失。谷歌在中国不仅有搜索引擎和广告网络，谷歌的操作系统、办公软件和手机平台都在中国市场有布局。中国市场对其全球布局不可或缺。<br />
<br />
有
百度员工表示，从某种意义上说百度CEO李彦宏的预言正在成真。事实上，在2006年的一次论坛上，零点研究集团董事长袁岳问李彦宏：5年以后
Google和百度是什么样的关系？李彦宏说：5年以后，Google和百度之间的关系是百度一枝独秀，从市场份额来说，大家很难看到Google 了。<br />
<br />
而百度和谷歌的竞争关系将发展到中国之外。百度的内部目标是在2012年与谷歌展开划洋而治的竞争，在太平洋西面的日本和东南亚等市场，实现百度全球化的目标。</p>
<p>注：以上内容来源于合作媒体，CSDN未经最终证实，特此申明。</p>
<img src ="http://www.blogjava.net/dm520/aggbug/309960.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-18 15:39 <a href="http://www.blogjava.net/dm520/articles/309960.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>淘宝网首推应用商店“淘宝箱” 大淘宝战略助力ISV掘金网购蓝海</title><link>http://www.blogjava.net/dm520/articles/309927.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Mon, 18 Jan 2010 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309927.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309927.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309927.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309927.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309927.html</trackback:ping><description><![CDATA[<p>2010年1月15日，亚洲最大的网络零售商圈淘宝网宣布，淘宝网应用商店淘宝箱（<a href="http://app.taobao.com/">http://app.taobao.com/</a>）正式对外发布。淘宝箱是基于淘宝
网开放平台的电子商务应用及服务商店，淘宝箱上的应用主要由独立软件开发商（ISV）基于淘宝网开放平台设计和开发，为电子商务中各类人群的需求提供创新
而有效的解决方案。淘宝网负责淘宝箱的运营，用户可以直接在淘宝箱订购并使用应用。而此前举行的赢在淘宝TOP应用大赛中的前30强应用也将成为首批上架
产品。</p>
<p>淘宝网开放平台副总裁王文彬认为，随着淘宝网开放平台上注册开发者的聚集和优秀应用的不断涌现，淘宝箱的适时推出无疑充当了孵化器的角色，即为这些
技术层面的成果提供市场入口。淘宝箱以成熟的系统平台代替大规模的人工运营与业务谈判，让开发者、投资者、客户之间实现精准对接，并最终由市场来检验这些
独立开发者的应用。</p>
<p><strong>淘宝箱应运而生</strong></p>
<p>据了解，此次推出的淘宝箱所涉及到的产品可以分为卖家工具、买家工具、社区插件、淘客工具、手机应用等几大类，以满足电子商务中各类人群的需求。</p>
<p>其中，卖家工具帮助卖家优化店铺管理，满足卖家后台功能上的各种个性化要求。对于买家，提供购物搜索、商品咨询等服务，轻松优化购物体验。此外，淘
宝也鼓励开发者开发外部所有网站使用的应用服务。比如，淘宝箱中的简淘网就是面向广大的论坛主、博客主及其他新闻、社区类网站的应用。通过页面插件形式为
其网站提供页内关键字广告，投放淘宝推广商品，使网站主直接将流量转化为销量。</p>
<p>由于产品客户群和提供的服务类型各异，淘宝为开发者提供了三种明晰的盈利方式：为淘宝用户提供的店铺服务类产品，可以设定月租型等分成模式，终端用
户可以直接通过支付宝购买该服务；而对于帮助淘宝卖家促进交易的应用，开发者可以通过淘客佣金的方式获得收益；一些高流量的免费产品，通过广告模式实现收
益。淘宝方面表示，这些第三方应用均由开发者自主定价，用户可以通过淘宝箱直接在线购买和使用。同时，在产品运营达到一定规模之前，淘宝不会以任何形式收
取费用，只有在一定规模之后，淘宝才会以适当的按比例进行分成。</p>
<p>淘宝网开放平台总监邬强强认为，目前互联网上惯有的第三方应用商品模式中，应用本身是独立的，跟原业务体系本身没有太大关系。而淘宝箱的应用主要是
围绕淘宝已有的数据和业务体系而产生，面向卖家、买家、淘客、中小站长提供优化在线购物的工具和服务，相当于淘宝把自己的核心业务拿出来与开发者共享。同
时，与其它应用商店不同的是，淘宝应用插件的思路更为开阔，并不仅限于淘宝自身网站，可以在任何互联网平台上进行使用。应用本身的运行环境也更加宽泛，包
括windows操作系统和各种手机操作系统等。</p>
<p><strong>赢在淘宝前30强首批入驻淘宝箱</strong></p>
<p>事实上，早在淘宝开放应用商店之前，淘宝就通过淘宝网开放平台开展了一系列针对在线软件独立开发者的扶植举措，鼓励更多开发者加入到这一新领域的开
发行列。</p>
<p>2009年6月淘宝网开放平台推出，通过逐步地开放淘宝业务、自有插件式平台、对外接入标准的形式，将网络零售行业的多年积累、1.7亿的用户资源
与互联网上的每一位开发者共享。2009年9月，赢在淘宝-TOP应用大赛
作为基于淘宝网开放平台的大型开发者互动大赛，在全国范围内拉开帷幕，这一场大赛没有年龄、学历限制，也没有资金等方面门槛，
吸引了平台上的3600多名开发者争相参赛，从选手来看，既有公司，也有大学在读生，也有为了借力淘宝网开放平台创业，毅然辞职的选手。许多参赛者都希望
能在这一平台上，用技术实现自己的创业梦想。截止09年12月31日，淘宝网开放平台提供了超过220个可调用的API，注册开发者突破2.5万，基于淘
宝网开放平台API所开发出的应用已经超过4000款，API日调用次数突破2亿。</p>
<p>随着淘宝网开放平台上优秀应用的不断涌现，在淘宝箱推出之后，赢在淘宝-TOP应用大赛的30强产品成为首批上架的幸运儿，这些应用都是经过赢在淘
宝的层层角逐，在沙箱环境下试用好评率很高的人气产品，许多产品不仅创意十足，而且非常贴近用户需求。</p>
<p>据淘宝方面相关负责人称，除了赢在淘宝选拔之外，开发者还可以通过商务洽谈、项目招投标等方式接入淘宝箱。淘宝箱内每个产品上架前都会由淘宝官方对
产品进行审核，保证上架产品的质量，产品上线运营后，淘宝官方会有一套运营监控机制以支持产品在线上正常、合法的运行。</p>
<p><strong>第三方成熟合作机制，打造大淘宝商务生态圈</strong></p>
<p>第三方应用商店和第三方应用合作已成为近两年互联网上的流行模式。是否具有持续可行的运营及赢利模式成为这些应用商店长久发展的先决条件。</p>
<p>2010年1月15日淘宝网推出应用商店淘宝箱，意味着淘宝网开放平台与独立开发者的合作进入了全新阶段，合作模式正进一步清晰和成熟：首先，赢在
淘宝将作为针对独立开发者的长期选拔机制定期启动，开发者零门槛参加，并通过产品展示体系、产品推广机制、用户试用体系等一系列大赛选拔机制进行优胜劣
汰，其中的佼佼者将获得直接在淘宝箱上架的资格，将技术产品投入商务运作。而淘宝箱为这些开发者提供包括销售收入分成、淘客佣金、广告收益三大独有的盈利
模式。通过市场供需关系和自然选择，带动开发者成长壮大。</p>
<p>在淘宝箱的运营过程中，淘宝还将根据产品所处孵化期、运营期、成熟期等不同阶段，选拔并奖励具有强大发展潜力的创业团队，包括TOP基金每年出资
1000万扶植优秀开发者；对于优质、稳定的产品和服务所提供资质认证，即TOP淘宝动力资质，获得淘宝动力的开发团队可以与TOP建立更加紧密的合作关
系，在品牌、推广、产品设计方面获得相应的支持和授权；以及为大型开发者提供HOSTING的整体解决方案或者云计算平台，为支撑大规模用户的使用提供
IT基础能力。</p>
<p>有业界观点认为，淘宝网开放平台以及淘宝箱的推出，正代表了第三方应用合作的全新可行模式。合作共赢的良性机制势必吸引更多开发人员加入到淘宝网开
放平台开发者的队伍之中，推动淘宝网开放平台基础设施的不断更新优化，实现淘宝网开放平台的活力循环，并推动各行各业定制、创新、进化，最终促成新商业文
明生态圈。</p>
<img src ="http://www.blogjava.net/dm520/aggbug/309927.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-18 10:50 <a href="http://www.blogjava.net/dm520/articles/309927.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>李开复委婉辟谣 事先不知道谷歌要退出中国</title><link>http://www.blogjava.net/dm520/articles/309928.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Mon, 18 Jan 2010 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309928.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309928.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309928.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309928.html</trackback:ping><description><![CDATA[<p>谷歌考虑退出中国市场的爆炸消息又把前任掌门李开复卷入了风暴中心，面对事先获悉谷歌要退出所以先离职的质疑，李开复在新浪微博上委婉辟谣，暗示自
己事先并不知道谷歌要退出中国市场。</p>
<p>1月12日，谷歌公司发展事务副总裁、首席法律顾问大卫多姆德(David
Drummond)在博客中说，谷歌集团已经决定不愿再审查我们在Google.cn上的搜索结果，因此如果可能，公司将在未来几周和中国相关部门讨论在
什么样基础上能够在法律框架内运营未经过滤的搜索引擎。多姆德在博文中表示，谷歌承认这很可能意味着公司将不得不关闭Google.cn，以及我们在中国
的办公室。</p>
<p>1月14日，针对Google谷歌公司计划退出中国市场一事，中国外交部发言人姜瑜作出回应。她表示，中国的互联网是开放的，中国政府鼓励互联网的
发展，鼓励为互联网的健康发展营造良好的环境。</p>
<p>2009年9月4日，谷歌全球副总裁、大中华区总裁李开复宣布正式离职。在《世界因你不同》里李开复披露，他最终放弃Google有史以来最高数目
的股票选择了离职。面对高官厚禄，李开复毅然挂靴而去，引发了业内诸多猜测。</p>
<p>谷歌考虑退出中国市场的消息更是加剧了这种猜测，有业内人士认为，李开复已经知道无法协调谷歌总部和中国互联网环境的关系，甚至早就获悉谷歌要退出
中国市场的决定，所以他选择了离开。</p>
<p>李开复并没有在公开场合对谷歌退出中国市场表态，但他在新浪微博的消息显示，李开复委婉的表示并不知情，暗示自己事先并不知道谷歌要离开的决定。船
长如果知道一个船要沉，是不会弃船的。李开复在围脖上写道。</p>
<p>值得一提的是，早于李开复离职的原谷歌中国首席官郭去疾也表示很多记者和朋友打来电话，希望对谷歌的新闻作采访。我都没有接。不是因为没有任何小道
消息能提供(尽管我的确没有)，而是我不知道在这样戏剧性的时间点，怎样找一个恰当的参照系。我相信重力作用，但人的生命，甚或人类的历史又都太短，很多
时候我们无法判断偶然与必然的区别。是蝴蝶效应?我不知道。(靳继磊)</p>
<p>附：李开复微博原文，A captain would never run away from his duty, if he knew
the ship was sinking.</p>
<img src ="http://www.blogjava.net/dm520/aggbug/309928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-18 10:50 <a href="http://www.blogjava.net/dm520/articles/309928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java SE 6更新，性能大幅提升</title><link>http://www.blogjava.net/dm520/articles/309918.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Mon, 18 Jan 2010 02:23:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309918.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309918.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309918.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309918.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309918.html</trackback:ping><description><![CDATA[<p>据<a href="http://www.developer.com/java/other/article.php/3858751/Sun-Updates-Java-SE-6-for-Performance.htm">InternetNews.com
报道</a>，作为今年的第一次更新，Java SE 6 Update
18（也称为6u18）不仅修复了超过300个bug（够多的啊），而且更值得注意的是，提升了虚拟机HotSpot的性能，这将同时有益于Java和
JavaFX（基于JVM的RIA方案）应用程序。</p>
<p>此外，Java安装器的底层机制被替换，可用性大大提高。</p>
<p>jar文件创建长期存在的一个bug被修复，速度大约提升了20%。</p>
<p>通过减少文本栅格化的内存占用和加速图像处理，UI应用的性能也得到了改善。</p>
<p>总体上内存处理都有改善。在客户JVM中，修改了默认的Java堆配置，加大了初始和最大堆尺寸，与代式垃圾处理相关的设置也进行了调优。</p>
<p>Sun公司的Java平台集团高级营销经历Dave Hofert表示，这一版本标志着Java达到了一个新水平。</p>
<img src ="http://www.blogjava.net/dm520/aggbug/309918.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-18 10:23 <a href="http://www.blogjava.net/dm520/articles/309918.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google创始人布林与谷歌员工开会：未正式退出中国</title><link>http://www.blogjava.net/dm520/articles/309642.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Fri, 15 Jan 2010 02:13:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309642.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309642.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309642.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309642.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309642.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">昨天早上9点半谷歌中国召开了全体员工的视频会议，谷歌的创始人谢尔盖布林与主管系统基础工程部门的副总裁比尔库格伦共同主持了会议，两个人分别表示了谷歌将和政府有关部门协商，以及有可能退出中国的决定。据谷歌中国的员工透露，平时谷歌的创始人很少能和中国员工开视频会议，只有在偶尔的TG IF大会上通过视频能够见到他。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">在听完两位总部高官的讲话后，谷歌按照平时的风格进行了领导人与员工之间的问答。据某员工告诉记者，工程师首先发问，一位工程师不解地问：网络攻击等原因，是否不至于让谷歌做出退出中国的决定？这个决定是否太仓促？谢尔盖表示：我们现在还没有正式做出退出的决定，是否退出取决于和中国政府商谈的结果。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">一位负责政府关系的员工随即提问：谷歌在中国四年一直努力和中国政府保持友好的沟通，在逐渐地和中国政府建立起很好的配合后，做出退出中国的决定是否意味着前功尽弃？而谢尔盖只是淡淡地表示：你过去四年在谷歌中国的政府关系方面做得非常好，我们感谢你的努力！</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">谈到关闭中国办公室后的员工安置问题，布林表示 We will look after them (我们会照顾)。谷歌中国员工透露，按照谷歌以往在其他地区关闭办公室的惯例，总部会根据员工所在的项目和兴趣，在全球范围内为其寻找一个岗位。如果员工因为个人原因无法接受安排，可以拿到一笔丰厚的补偿金。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">一个多小时之后，谷歌中国与总部的视频会议结束了。员工们回到办公室。据记者了解，谷歌中国的工程师们已经丧失了对谷歌全球数据库的访问权限，这让员工无法工作。有许多工程师回到座位以后，开始打网络游戏。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/309642.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-15 10:13 <a href="http://www.blogjava.net/dm520/articles/309642.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>博客大巴劫后重生：断网10日后恢复访问(图)</title><link>http://www.blogjava.net/dm520/articles/309635.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Fri, 15 Jan 2010 01:27:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309635.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309635.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309635.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309635.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309635.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: center; "><img src="http://news.csdn.net/a//uploads/2010/01/14/20100114-103856-pic1.jpg" alt="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: center; "><span style="font-size: 12px; ">重新上线的博客大巴首页</span></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: center; "><img src="http://news.csdn.net/a//uploads/2010/01/14/20100114-103909-pic1.jpg" alt="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: center; "><span style="font-size: 12px; ">博客大巴昨日发表公告</span></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">1月14日上午消息，在断网长达十天之后，博客大巴（<a href="http://www.blogbus.com/" style="color: #888888; text-decoration: none; ">http://www.blogbus.com/</a>）昨晚终于恢复访问。此前多日，与博客大巴一起出现访问故障的51.com，IT168.com均已恢复访问。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">昨日晚上，博客大巴在网站上发表了名为再度启程的公告，以庆祝来之不易的劫后重生。公告表示，目前BlogBus运营一切正常，所有的运营手续和牌照都齐备，网站所有数据都有双重备份，不会出现任何数据丢失的情况。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">1月5日，博客大巴首页出现访问故障，但二级页面访问正常。随后，博客大巴域名遭遇禁止解析，全站无法访问。当时，<strong>博客大巴创始人窦毅向媒体透露，网站被封是因为一篇早已删除掉的违规内容</strong>。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">1月11日，博客大巴客服人员向媒体表示，网站有可能于近日内恢复，针对用户的补偿措施也将于近日内出台，但补偿的范围将仅限于VIP付费用户。不过，最新的官方公告中未提及补偿事宜。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">以下为博客大巴公告全文：</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">博客大巴，再度启程</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">自1月5号以来，博客大巴因blogbus.com域名被服务商停止解析而出现了大规模无法访问的状况，经过我们连日以来与各有关部门的澄清、沟通与协调，现已恢复域名解析，各地用户将逐批恢复正常访问。目前BlogBus运营一切正常，所有的运营手续和牌照都齐备，网站所有数据都有双重备份，不会出现任何数据丢失的情况。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">在这段时间里，我们感动于无数用户的关怀、坚持和等待；谢谢你们的关心和支持，信任和不舍；我们将努力以更用心、更专业的服务回馈广大用户。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">现在，博客大巴再度启程，我们将一起继续驶向更美好的未来。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">我们和你们，一路同行。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/309635.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-15 09:27 <a href="http://www.blogjava.net/dm520/articles/309635.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打开csv文件报错的问题</title><link>http://www.blogjava.net/dm520/articles/309415.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Thu, 14 Jan 2010 02:57:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309415.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309415.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309415.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309415.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309415.html</trackback:ping><description><![CDATA[<h2 class="post-title">文件格式无效 SYLK 打开文件时出现错误信息</h2>
<p><strong>文件格式无效 SYLK 打开文件时出现错误信息</strong></p>
<p><strong>症状</strong></p>
<p>当您尝试打开文本文件或逗号分隔变量 (CSV) 文件, 可能会收到以下错误信息：</p>
<p><strong><font color="#ff0000">SYLK 文件格式无效</font></strong></p>
<p>当您打开一个文本文件或 CSV 文件并且前两个字符的文件是大写字母 " I " 和 " D " 问题。 例如, 文本文件可能包含以下文本：</p>
<p>&nbsp;&nbsp; <strong><font color="#990000">ID, STATUS<br />
&nbsp;&nbsp; 123, open<br />
&nbsp;&nbsp;
456, closed</font></strong>&nbsp;&nbsp;&nbsp; </p>
<p>不会 <strong>注意 </strong>如果前两个字母是字母 " i " 和 " d " 不发生此问题。</p>
<p><strong>替代方法</strong><br />
<script type="text/javascript">loadTOCNode(1, 'workaround');</script>
<br />
</p>
<div class="sbody">如果要在 Excel, 打开文件, 文本编辑器中打开文件并然后在文本的首行起始处插入一个撇号。</div>
<div class="sbody">&nbsp;</div>
<p><strong>更多信息</strong></p>
SYLK 文件是文本文件开头 " ID " 或 " ID_xxxx ", 其中 xxxx 是一个文本字符串。 第一个记录的 SYLK
文件是 ID_Number 记录。 当 Excel 标识此文本的文本文件, 开头它解释文件为 SYLK 文件。 Excel 试图从 SYLK
格式, 转换文件但是因为有 " ID " 字符后没有有效 SYLK 代码无法这样做。 由于 Excel 无法转换文件, 收到错误信息。
<img src ="http://www.blogjava.net/dm520/aggbug/309415.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-14 10:57 <a href="http://www.blogjava.net/dm520/articles/309415.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从office 2003平稳过渡到office 2007</title><link>http://www.blogjava.net/dm520/articles/309411.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Thu, 14 Jan 2010 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309411.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309411.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309411.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309411.html</trackback:ping><description><![CDATA[<p style="text-indent: 2em;">自从微软发布office
2007以后，很多人都开始试用，但一直不敢应用到工作中，主要是怕自己作的2007的文档给别人看时，别人打不开。</p>
<p style="text-indent: 2em;">其实微软早就考虑到了这一点，并发布了Microsoft Office
Word、Excel 和 PowerPoint 2007
文件格式兼容包来支持office2000、officexp、office2003来打开、编辑、修改office2007的文档。</p>
<p style="text-indent: 2em;"><a href="http://www.microsoft.com/downloads/details.aspx?familyid=941B3470-3AE9-4AEE-8F43-C6BB74CD1466&amp;displaylang=zh-cn" target="_blank"><strong>点我下载</strong></a></p>
<p style="text-indent: 2em;">下载这个名为FileFormatConverters.exe的兼容包，双击运行安装。完
成后，在每个office程序支持的文档类型中会多出2个类型来对office2007进行支持。以word2003为例，兼容包安装完成后，会多出
word2007文档(*.docx)和启用了宏的word2007文档(*.docm)两个新文档类型。（图1）</p>
<p style="text-indent: 2em;">
</p>
<center><img src="http://cimg2.163.com/catchpic/3/31/31CDBF186202A188D9CABDAC1DEDC68C.jpg" border="0"  alt="" /></center>
<p style="text-indent: 2em;">另外，还有一部分人只是想安装office2007来玩玩，工作中还是用
office2003。这也没关系，微软对office安装的改进可以让office2007和office2003并存在一个系统中。运行
office2007的安装，选择&#8220;自定义&#8221;安装，安装程序会自动扫描到系统中已经安装的office程序，并提示3种升级安装方式，选择&#8220;保留所有早期
版本&#8221;，（图2）</p>
<p style="text-indent: 2em;">
</p>
<center><img src="http://cimg2.163.com/catchpic/2/27/2762969657977F3530719DB1B9FE6169.jpg" width="550" border="0" height="464" hspace="0"  alt="" /></center>
<p style="text-indent: 2em;">安装完成后，我们可以在程序菜单中看到office2003和office2007。（图
3）</p>
<p style="text-indent: 2em;">
</p>
<center><img src="http://cimg2.163.com/catchpic/F/F1/F1155F032CD1BF0D831AABDC2917F75B.jpg" border="0"  alt="" /></center>
<p style="text-indent: 2em;">注：outlook只能有一个版本存在，要么升级到outlook2007，要么保留以前的
版本。</p>
<p style="text-indent: 2em;">本次office2007的发布，除了将原有的菜单和工具栏改进为格式栏
(Ribbon)，Office 2007最引人注目的变化便是引入了新的文件格式：Office 2007默认使用Office Open
XML作为其文件保存格式，而要想让其向下兼容之前的版本如Microsoft Office 2000、Office XP或Office
2003，则只能使用Office 2007的兼容模式。</p>
<p style="text-indent: 2em;">下面我们将在这些应用程序中默认的文件格式与扩展名作一完整列表。</p>
<p style="text-indent: 2em;">Word 2007 文件格式与扩展名</p>
<p style="text-indent: 2em;">Word 文档 (.docx) [默认] * </p>
<p style="text-indent: 2em;">启用宏的Word 文档 (.docm) *</p>
<p style="text-indent: 2em;">Word模板 (.dotx) </p>
<p style="text-indent: 2em;">启用宏的Word模板</p>
<p style="text-indent: 2em;">Excel 2007 文件格式与扩展名</p>
<p style="text-indent: 2em;">Excel 工作簿 (.xlsx) [默认] *</p>
<p style="text-indent: 2em;">启用宏的Excel工作簿 (.xlsm) *</p>
<p style="text-indent: 2em;">Excel 模板 (.xltx) *</p>
<p style="text-indent: 2em;">启用宏的Excel 模板 (.xltm) *</p>
<p style="text-indent: 2em;">Excel 二进制工作簿 (.xlsb) *</p>
<p style="text-indent: 2em;">Excel 加载项 (.xlam) * </p>
<p style="text-indent: 2em;">PowerPoint 2007 文件格式与扩展名</p>
<p style="text-indent: 2em;">PowerPoint 演示文稿 (.pptx) [default] *</p>
<p style="text-indent: 2em;">启用宏的PowerPoint 演示文稿 (.pptm) *</p>
<p style="text-indent: 2em;">PowerPoint 放映 (.ppsx) * </p>
<p style="text-indent: 2em;">启用宏的PowerPoint 放映 (.ppsm) *</p>
<p style="text-indent: 2em;">PowerPoint 模板 (.potx) * </p>
<p style="text-indent: 2em;">启用宏的PowerPoint 模板 (.potm) * </p>
<p style="text-indent: 2em;">PowerPoint 加载项 (.ppam)专业IT</p>
<p style="text-indent: 2em;">注：标注 * 的文件格式可向下兼容到 Office 2000</p>
<p style="text-indent: 2em;">了解了上述的知识后，我们就可以放心的在工作中应用office2007了。
</p>
<img src ="http://www.blogjava.net/dm520/aggbug/309411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-14 10:25 <a href="http://www.blogjava.net/dm520/articles/309411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【滚动更新】谷歌考虑关闭中国运营及网站</title><link>http://www.blogjava.net/dm520/articles/309271.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Wed, 13 Jan 2010 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/309271.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/309271.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/309271.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/309271.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/309271.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">Google刚刚在官方博客发表了一篇题为《A new approach to China》的文章，透露计划停止在中国过滤搜索结果，意味着Google 中国可能不复存在，该决定由Google在美国的主管部门下达，那些努力让谷歌成为成功网站的中国员工们并不知情，也并未参与。同时，Google可能会终止正在中国运营及网站Google.cn。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">【更新】从目前来看，消息主要来自两处，一处为Google官方博客，一处来自《华盛顿邮报》。以下资料来自TechWeb。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">《华盛顿邮报》报道称，Google周二表示，它们可能退出中国，因为网络攻击瞄准其电子邮件服务。Google在一份声明中表示：攻击者的首要目标是通过电子邮件帐户散播不利活动。最早在12月，谷歌就批露过此事。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">根据到目前为止的调查，Google不认为黑客已经取胜，它在博客中写道：只有两个Gmail帐号被盗取，活动也只仅限于帐户信息和主题列表，而不是电子邮件本身的内容。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">但是Google的高级副总裁和首席法律官David Drummond表示，这些攻击将使我们考虑在中国业务运营的可行性。他还说，希望在法律允许之内寻找到合适运营模式。Drummond称：我们考虑到一种可能性，我们也许不得不关闭Google.cn及中国的办事处。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">Google称至少有20家在型公司受到相拟的攻击，覆盖的行业包括金融、科技、媒体和化学。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">截止发稿前，谷歌中国未对此表态。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">谷歌中国在中国市场的发展并不顺利，先后经历了牌照门，偷税门，搜狗门，涉黄门等一系列波折。谷歌中国前任总裁李开复又于去年宣布挂靴而去。谷歌中国未来走向一直让业内人士充满猜测。近期，更是因为未经中国作家同意擅自扫描文学作品被中国作家谴责。耐人寻味的是，原定于12日下午举行的文著协和谷歌第四轮会谈遭遇变故，谷歌方面突然提出临时取消。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">【更新】来自<span style="color: #5b5b5b; ">网易科技的信息为我们提供了谷歌官方博客的完整信息。</span></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><img src="http://news.csdn.net/a//uploads/2010/01/13/20100113-091558-pic1.jpg" alt="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: left; "><strong>以下为谷歌官方博客全文：</strong></p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: left; ">标题：中国新路径</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: left; ">内文：</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: left; ">与其他很多著名组织一样，我们经常会碰到各种各样的网络攻击。去年12月中旬，我们检测到一次来自中国的，对我们集团网络设备高度精密和有针对性的网络攻击，在此次攻击中，谷歌公司的知识产权遭到窃取。我们很快就查清这并非只是一场单纯的安全事件。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; text-align: left; ">首先，此次攻击并非仅仅针对谷歌。我们在调查中发现，至少有其他20家大型公司也成为了类似的攻击目标，这些公司所在的行业分布广泛---包括互联网、金融、科技、媒体和化工行业。我们目前正在通知这些公司，并与美国有关部门携手展开调查。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/309271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-13 09:45 <a href="http://www.blogjava.net/dm520/articles/309271.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何做好年末总结？</title><link>http://www.blogjava.net/dm520/articles/308644.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Fri, 08 Jan 2010 01:14:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/308644.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/308644.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/308644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/308644.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/308644.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 又到年尾，很多公司都要做年终总结，您认为软件企业怎么做好年终总结？具体到开发部门，可从哪些方面入手？同时，如何通过总结来带动来年的工作和员工士气？&nbsp;陈尚义中软通用产品研发中心总经理年终总结，成绩要讲透，不足之处要讲明，来年规划要清晰，目的是要起到鼓舞人心的作用。成绩一定要写充分，今年干了什么事，取得什么样的效果，克服了什么困难，达到了什么目标等。不要回避挫折和不足...&nbsp;&nbsp;<a href='http://www.blogjava.net/dm520/articles/308644.html'>阅读全文</a><img src ="http://www.blogjava.net/dm520/aggbug/308644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-08 09:14 <a href="http://www.blogjava.net/dm520/articles/308644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>世界最强DIY玩家 自制超级计算机</title><link>http://www.blogjava.net/dm520/articles/308641.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Fri, 08 Jan 2010 01:10:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/308641.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/308641.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/308641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/308641.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/308641.html</trackback:ping><description><![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span  style="color: #666666; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="margin-top: 10px; margin-right: 8px; margin-bottom: 10px; margin-left: 8px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 2em; font-size: 14px; color: #000000; line-height: 23px; "><font face="Arial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">如果要讨论世界最强的DIY玩家,那么Bruce Allen有可能算上一个.他和他一位威斯康辛大学米尔沃基分校的同事,为了研究引力波,共建造了3台超级计算机.</font></p>
<p style="margin-top: 10px; margin-right: 8px; margin-bottom: 10px; margin-left: 8px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 2em; font-size: 14px; color: #000000; line-height: 23px; "><font face="Arial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">事情始于1998年,从那个时候起,他共DIY了3台超级计算机,以用来计算从未被直接观测到的引力波.他最近DIY的一台超级计算机,使用了 1680个四核处理器,从性质上说,这台机器共有6720个处理器核心.在建成之后即在世界超级计算机排行榜名列第58名.目前最新的排名,这台超级计算 机仍然排名在全球500强第79名.</font></p>
<p style="margin-top: 10px; margin-right: 8px; margin-bottom: 10px; margin-left: 8px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 2em; font-size: 14px; color: #000000; line-height: 23px; "><font face="Arial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">据他声称,让他自己DIY的超级计算机的原因之一是,是如果自己造超级计算机,那么就能省下不少的钱,而他自己的工作也会收益良多.他说:&#8220;你自己去一家公司,例如戴尔或IBM,告诉他们,我有200万美元的预算,你看处理器能多少钱卖我.&#8221;&#8220;如果你多去几家看看,你就会发现货比三家的真谛.&#8221;</font></p>
<p style="margin-top: 10px; margin-right: 8px; margin-bottom: 10px; margin-left: 8px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 2em; font-size: 14px; color: #000000; line-height: 23px; "><font face="Arial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">他认为问题的关键是,大牌公司有很多架空的管理高层,&#8220;他们成品是卖的很好,而且你购买这些东西不需要专业知识&#8221;,但是价格自然不会便宜,&#8220;以我的经验,如果我自己做,那么压下来的价格也更多&#8221;.</font></p>
<p style="margin-top: 10px; margin-right: 8px; margin-bottom: 10px; margin-left: 8px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 2em; font-size: 14px; color: #000000; line-height: 23px; "><font face="Arial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">举例来说,他的第一台超级计算机采用了Linux集群,使用了48个Alpha服务器,每台使用一个300Mhz,64位AXP处理器.这种产品当时即将停产.最贵的时候价格为6000美元,但是在产品临近停产时,他买的价格仅有800美元.服务器集群被摆在一间比壁橱稍大的空间,服务器甚至不是机架的,因为机架式系统的价格贵很多.连接服务器使用了3Com的Superstack,速度100Mbit/s,同时使用了以太网交换机.</font></p>
<p style="margin-top: 10px; margin-right: 8px; margin-bottom: 10px; margin-left: 8px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 2em; font-size: 14px; color: #000000; line-height: 23px; "><font face="Arial" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">总费用共计7万美元,这是他同事从国家科学基金会(NSF)要来的,这批经费本用来购买8台SUN高端工作站,他用更强力的Linux集群取而代之.他说,&#8220;大约一年后,我被两个NSF项目经理叫到了跟前解释这件事情,&#8221;&#8220;我说,'这事希望你们别生气,而且今后我还准备这样搞'.结果两个NSF经理笑着说'不会不会,我们非常,非常高兴.'当然,如果事情搞砸了,他们肯定不会那样说.&#8221;</font></p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/308641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-08 09:10 <a href="http://www.blogjava.net/dm520/articles/308641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubunt 9.0.4 ssh 链接太慢的解决方法 </title><link>http://www.blogjava.net/dm520/articles/308320.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Tue, 05 Jan 2010 11:12:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/308320.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/308320.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/308320.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/308320.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/308320.html</trackback:ping><description><![CDATA[<span  style="font-size: 12px; font-family: 'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 16px; ">在/etc/nsswitch.conf里hosts一行去掉dns，访问这些服务就不用解析域名了，</span>
<div><font  face="'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif"><span  style="line-height: 16px;">这个方法我已经实验过了 ，解决问题。</span></font></div>
<img src ="http://www.blogjava.net/dm520/aggbug/308320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2010-01-05 19:12 <a href="http://www.blogjava.net/dm520/articles/308320.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java社区热议Java桌面领域表现</title><link>http://www.blogjava.net/dm520/articles/307098.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Thu, 24 Dec 2009 00:54:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/307098.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/307098.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/307098.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/307098.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/307098.html</trackback:ping><description><![CDATA[<span  style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><strong>编者按：</strong>几天前Javalobby中又出现了一篇名为关于Java你今年最大的想法是什么？的文章。Antonio Sorrentini阐述了他的观点：希望Java在桌面端有更多的技术进步。其实作者去年的时候就阐述了这个愿望，但一年来这一观点并没有在Java社区引来共鸣。Antonio Sorrentini很是不解，为什么Java在桌面端这样糟糕的表现却没有引来开发者的关注。来看原文：</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">我承认即使在JavaFX出现之前Java已经在桌面领域做出了一些重大的提升，比如Swing中的提升；我们现在也有了很棒的OpenGL；DirectX也有了很大的提升；启动时间也显著提升了。没错，Java在去年做了很多显著而有效的工作。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">然而不得不说的是，除此之外其他的仍是一塌糊涂。比如Java sound实际上并不好用，被遗弃的Java3D又如何呢？最近甚至JOGL也被Sun遗弃，包括很久之前的SwingLab；JAI（用作图片处理）多年未真正升级过，看起来也没有在什么地方得到利用，它迫切需要性能上的巨大提升以适应来临的多核GPU时代所有这些应用于桌面领域的Java产品不是被遗弃就是成为鸡肋。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">而且很关键一点是，尽管我们可以用Java创建出桌面应用，但只要我们想开发真正的富桌面应用我们就无法真正使用Java而使用JNI、C/C++和平台依赖的libraries等。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">使用Java构建桌面应用更多的是困难和麻烦，比如即便想要在Java应用内创建一个高效的优良的web浏览器都是一件难事。而且没有用Java编写的图片处理应用，没有一个纯粹的Java web浏览器，没有数字音频应用，没有3D建模器，没有矢量图形编辑器，没有先进的光栅编辑器Java今日在桌面端所到达的高度只能满足那些服务器开发者，因为他们只需要在远程服务时使用电脑桌面上的简单界面。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">过去我们一直说这是因为Java太慢，无法在一个慢的平台上开发出如此复杂的应用。但我们这样说是错的。原因有两点：一，Java从来就没有慢过，即便有些部分曾经慢过，但没有人怀疑当它需要被用到服务器端时它会迅速地得到提升，比如JITs，GCs等。这一点也正是Java语言卓越的地方。二，由于Java平台的天然特性，Java应用总是第一个利用市场上新硬件和新操作系统的应用。一旦JVM被配置到了一个新系统中，几乎不需要任何编辑和调试，Java应用就可以在上面全速运行。比如你在32位的操作系统上开发了一个应用，它就可以全速运行在Windows 7 或者Solaris的64位JVM上。所以所谓的Java太慢根本不能成为Java在桌面端碌碌无为的借口。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">而且，如果你是一个终端用户，你甚至不需要从网站上重新下载应用，这意味着不仅终端用户和开发者得到了速度提升，甚至应用的执行性能的前边也得到了速度提升。今天，JIT在runtime为本地操作优化代码已经做得很棒了，这意味着你可以挖掘出你运行的硬件的全部的能力，这是一个静态编译语言永远也无法竞争过的性能，只是这个性能如果可以运用到桌面端和游戏领域就好了</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">我们总是说：由于Sun总是一个服务器端公司的原因，Java在桌面端一直没有真正的机会。而Oracle的收购让这种境况看起来不会有什么改变。希望这不要再继续下去，为了Sun、Oracle和Java自身的利益，Oracle内部的知名人士应该提醒公司来让他们知道：如果缺乏了在桌面端的能力和效率，必将影响Java的普及率甚至它在服务器端的占有率。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">我们一直以来习惯着Sun主要提供服务器端服务，因而想象着未来更多的处理能力还是出现在服务器端，而客户端不过是连接服务器的简单服务。这种情况已被证明是绝对错误的。因为未来的桌面应用将服务、应用与硬件所有的运算能力相结合，大量的数据和解码、声音、图像、视频被开发者处理，而且用并行编程的方式来实现，既保证了丰富的性能又保证了速度。对开发者来说，未来的服务既需要他们在客户端处理也需要在服务器端处理：执行复杂的搜索、图像、视频以及虚拟3D环境需要服务器端的技术，而远程服务如医学分析、远程教育和远程会议等则需要客户端能力。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">只是令我们感到失望的是历史又一次地重复了，因为至今Java中还没有什么大的动作。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; "><span style="white-space: pre; "> </span>Armin Ehrenreich 在回复中说道：说的好，我完全认同。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">确实迫切需要跨平台的桌面应用技术，而且我不认为C++结合Qt是个好的选择。你说阐述的问题之所以没有引起很多的共鸣，我想是文化上的问题。许多Java社区的人们包括Sun内部的负责人无法理解你所说的，所以我断言Oracle也不会对Java做出什么大的改变。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">客户端现在基本上被微软和Apple包揽。到Cocoa论坛中会发现他们谈论的是GUI的可用性、响应性、终端户如何处理桌面应用等而我们的论坛呢，大部分人认为应用的未来在服务器端。这就是文化上的差异。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">但是桌面技术需要做很多工作，Swing很慢很慢地进化，连同Netbeans平台、Java3D, JOGL等应用勉强成为了桌面端的一个选择。但Sun置此境遇于不顾，只是模仿Flash发布了一款新的脚本语言，但是那些API只有使用JavaFX才可用</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">Jeff Martin回复道：正确的观点，但我有一点不同。Sun真正的问题是他应该吃自己的饭，用自己的力量来用Java写一些实在的桌面应用，这可以证明他们关于Java在桌面端的承诺，证明他们可以写出应用、提升框架和工具。我不认为另一个框架会帮助Java。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">James Sugrue回复道：我同意作者观点，我也很支持桌面端开发。看看现在处于开发中的Eclipse. e4中的一些项目，它们为桌面和浏览器提供了一个解决方案，所以我想还是有一些希望的。但我认为我们不需要过分聚焦于桌面端，JavaFX是正确方向上的一个迈进，只是无法在Swing和Java3D/JOGL中看到应用提升。</p>
<p style="font-size: 14px; line-height: 25px; text-indent: 25px; ">Osvaldo Doederlein回复道：我认为JOGL的支持没有那么糟糕，毕竟它是JavaFX Desktop Runtime的一个依赖。实际上，我们可以写一个非JavaFX的小程序，而且不需要请求本地代码的许可性就可以配置。</p>
</span>
<img src ="http://www.blogjava.net/dm520/aggbug/307098.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2009-12-24 08:54 <a href="http://www.blogjava.net/dm520/articles/307098.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开发人员一定要加入收藏夹的网站</title><link>http://www.blogjava.net/dm520/articles/307015.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Wed, 23 Dec 2009 04:44:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/307015.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/307015.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/307015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/307015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/307015.html</trackback:ping><description><![CDATA[<span  style="font-family: verdana, sans-serif; font-size: 14px; line-height: 21px; "><a href="http://www.gotapi.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.gotapi.com/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：英语<br />
&nbsp;简介：HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。<br />
</span><a href="http://www.w3schools.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.w3schools.com/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：英语<br />
&nbsp;简介：W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。<br />
</span><a href="http://www.xml.org.cn/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.xml.org.cn/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：中文<br />
&nbsp;简介：可以说是XML的中国官方网吧。W3C标准的翻译组织与XML系列技术交流社区.<br />
</span><a href="http://www.connectionstrings.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.connectionstrings.com/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：英语<br />
&nbsp;简介：这里几乎收集了所有的数据库连接字符(connectionstring)了。<br />
</span><a href="http://www.itpub.net/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.itpub.net/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：中文<br />
&nbsp;简介：我个人认为是国内最专业的综合性行业性技术类社区.<br />
</span><a href="http://www.netvtm.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.netvtm.com/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：中文<br />
&nbsp;简介：内容多翻译于w3schools.com，少有原创。不过还是应该鼓励精品翻译。<br />
</span><a href="http://www.regexlib.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.regexlib.com</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：英语<br />
&nbsp;简介：正则表达式库。搜索正则表达式用。<br />
<a href="http://www.rexv.org/" style="text-decoration: none; color: #336699; "><strong><span style="line-height: 18px; color: #336699; ">http://www.rexv.org/</span></strong></a><br />
&nbsp;语言：英语<br />
&nbsp;简介：用Ajax开发的在线正则表达式验证器.<br />
</span><a href="http://www.koders.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.koders.com/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：英语<br />
&nbsp;简介：代码搜索引擎，可以搜索几十种语言的代码。<br />
</span><a href="http://www.123aspx.com/Rotor/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.123aspx.com/Rotor/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：英语<br />
&nbsp;简介：.Net Frameworks的源代码。<br />
</span><a href="http://dotnet.aspx.cc/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://dotnet.aspx.cc/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：中文<br />
&nbsp;简介：孟宪会的资料站，虽资料大多比较简单，却解决了开发中的大部分问题？！<br />
</span><a href="http://www.dofactory.com/Patterns/Patterns.aspx" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.dofactory.com/Patterns/Patterns.aspx</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：英语<br />
&nbsp;简介：23种设计模式的实现参考。特点是UML+精练的示例代码+简洁的解说风格。<br />
</span><a href="http://www.open-open.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.open-open.com/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：中文<br />
&nbsp;简介：Java开源大全,如果你用.NET，照着它的名字前加N找找应该都有吧 ？！：）<br />
</span><a href="http://www.riacn.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.riacn.com/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：中文<br />
&nbsp;简介：我认为是国内少有的RIA专业技术站于交流社区.<br />
</span><a href="http://www.cnpaf.net/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.cnpaf.net/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：中文<br />
&nbsp;简介：中国协议分析网，很全面的协议资料网。<br />
</span><a href="http://www.pinvoke.net/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://www.pinvoke.net/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：英语<br />
&nbsp;简介：通过.net调用win32等非受控API的资料大全。<br />
</span><a href="http://bbs.51js.com/" style="text-decoration: none; color: #336699; "><span style="line-height: 18px; font-size: x-small; color: #336699; "><strong>http://bbs.51js.com/</strong></span></a><br />
<span style="line-height: 18px; font-size: x-small; ">&nbsp;语言：中文<br />
&nbsp;简介：无忧脚本,专业的脚本技术社区。<br />
<a href="http://www.c-sharpcorner.com/" style="text-decoration: none; color: #336699; "><strong><span style="line-height: 18px; color: #336699; ">http://www.c-sharpcorner.com/</span></strong></a><br />
&nbsp;语言：英语<br />
&nbsp;简介：C# Corner,学习c#的好地方.<br />
</span><span style="line-height: 18px; font-size: x-small; "><a href="http://blog.csdn.net/group/experts/" style="text-decoration: none; color: #336699; "><strong><span style="line-height: 18px; color: #336699; ">http://blog.csdn.net/group/experts/</span></strong></a><br />
&nbsp;语言：中文<br />
&nbsp;简介：CSDN专家群,汇集CSDN专家的电子报.<br />
<a href="http://www.codeproject.com/" style="text-decoration: none; color: #336699; "><strong><span style="line-height: 18px; color: #336699; ">http://www.codeproject.com/</span></strong></a><br />
&nbsp;语言：英语<br />
&nbsp;简介：有很多可学习的示例代码，特点是丰富，深入浅出．<br />
<a href="http://www.gotdotnet.com/" style="text-decoration: none; color: #336699; "><strong><span style="line-height: 18px; color: #336699; ">http://www.gotdotnet.com/</span></strong></a><br />
&nbsp;语言：英语<br />
&nbsp;简介：微软开发维护的关于.net framework交流社区.<br />
<a href="http://www.sourceforge.net/" style="text-decoration: none; color: #006bad; "><strong><span style="line-height: 18px; color: #336699; ">http://www.sourceforge.net/</span></strong></a><br />
&nbsp;语言：英语<br />
&nbsp;简介：全球最大的开源软体站点<br />
<a href="http://www.asp.net/QuickStart/" style="text-decoration: none; color: #336699; "><strong><span style="line-height: 18px; color: #336699; ">http://www.asp.net/QuickStart/</span></strong></a><br />
&nbsp;语言：英语<br />
&nbsp;简介：Microsoft .NET Framework SDK QuickStart Tutorials<br />
<a href="http://www.matrix.org.cn/" style="text-decoration: none; color: #336699; "><strong><span style="line-height: 18px; color: #0000ff; ">http://www.matrix.org.cn/</span></strong></a><br />
&nbsp;语言：中文<br />
&nbsp;简介：与 Java 共舞,Java优秀的专业社区,文章质量很高.做.Net的朋友也可以从其借鉴很多知识.</span></span>
<img src ="http://www.blogjava.net/dm520/aggbug/307015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2009-12-23 12:44 <a href="http://www.blogjava.net/dm520/articles/307015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java多线程编程-线程的同步-同步块</title><link>http://www.blogjava.net/dm520/articles/306903.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Tue, 22 Dec 2009 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/306903.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/306903.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/306903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/306903.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/306903.html</trackback:ping><description><![CDATA[<div>Java线程：线程的同步-同步块</div>
<div>&nbsp;</div>
<div>对于同步，除了同步方法外，还可以使用同步代码块，有时候同步代码块会带来比同步方法更好的效果。</div>
<div>&nbsp;</div>
<div>追其同步的根本的目的，是控制竞争资源的正确的访问，因此只要在访问竞争资源的时候保证同一时刻只能一个线程访问即可，因此Java引入了同步代码快的策略，以提高性能。</div>
<div>&nbsp;</div>
<div>在上个例子的基础上，对oper方法做了改动，由同步方法改为同步代码块模式，程序的执行逻辑并没有问题。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>
<div style="border: 1px solid #cccccc; padding: 4px; font-size: 10pt; width: 98%; color: #000000; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee;"><font color="#008000">/** <br />
* Java线程：线程的同步-同步代码块 <br />
* <br />
* @author leizhimin 2009-11-4 11:23:32 <br />
*/</font> <br />
<font color="#0000ff">public</font> <font color="#0000ff">class</font> Test { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">public</font> <font color="#0000ff">static</font> <font color="#0000ff">void</font> main(String[] args) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User u = <font color="#0000ff">new</font> User(<font color="#800000">"张三"</font>, 100); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyThread t1 = <font color="#0000ff">new</font> MyThread(<font color="#800000">"线程A"</font>, u, 20); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyThread t2 = <font color="#0000ff">new</font> MyThread(<font color="#800000">"线程B"</font>, u, -60); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyThread t3 = <font color="#0000ff">new</font> MyThread(<font color="#800000">"线程C"</font>, u, -80); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyThread t4 = <font color="#0000ff">new</font> MyThread(<font color="#800000">"线程D"</font>, u, -30); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyThread t5 = <font color="#0000ff">new</font> MyThread(<font color="#800000">"线程E"</font>, u, 32); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyThread t6 = <font color="#0000ff">new</font> MyThread(<font color="#800000">"线程F"</font>, u, 21); <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t1.start(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t2.start(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t3.start(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t4.start(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t5.start(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t6.start(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
} <br />
<br />
<font color="#0000ff">class</font> MyThread <font color="#0000ff">extends</font> Thread { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">private</font> User u; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">private</font> <font color="#0000ff">int</font> y = 0; <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyThread(String name, User u, <font color="#0000ff">int</font> y) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">super</font>(name); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">this</font>.u = u; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">this</font>.y = y; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">public</font> <font color="#0000ff">void</font> run() { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;u.oper(y); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
} <br />
<br />
<font color="#0000ff">class</font> User { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">private</font> String code; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">private</font> <font color="#0000ff">int</font> cash; <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User(String code, <font color="#0000ff">int</font> cash) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">this</font>.code = code; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">this</font>.cash = cash; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">public</font> String getCode() { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> code; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">public</font> <font color="#0000ff">void</font> setCode(String code) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">this</font>.code = code; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">/** <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 业务方法 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * @param x 添加x万元 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</font> <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">public</font> <font color="#0000ff">void</font> oper(<font color="#0000ff">int</font> x) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">try</font> { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(10L); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">synchronized</font> (<font color="#0000ff">this</font>) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">this</font>.cash += x; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(Thread.currentThread().getName() + <font color="#800000">"运行结束，增加&#8220;"</font> + x + <font color="#800000">"&#8221;，当前用户账户余额为："</font> + cash); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(10L); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <font color="#0000ff">catch</font> (InterruptedException e) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">public</font> String toString() { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#800000">"User{"</font> + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#800000">"code='"</font> + code + '"'' + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#800000">", cash="</font> + cash + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'}'; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br />
}</div>
</div>
<div>&nbsp;</div>
<div>
<div style="border: 1px solid #cccccc; padding: 4px; font-size: 10pt; width: 98%; color: #000000; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee;">线程E运行结束，增加&#8220;32&#8221;，当前用户账户余额为：132 <br />
线程B运行结束，增加&#8220;-60&#8221;，当前用户账户余额为：72 <br />
线程D运行结束，增加&#8220;-30&#8221;，当前用户账户余额为：42 <br />
线程F运行结束，增加&#8220;21&#8221;，当前用户账户余额为：63 <br />
线程C运行结束，增加&#8220;-80&#8221;，当前用户账户余额为：-17 <br />
线程A运行结束，增加&#8220;20&#8221;，当前用户账户余额为：3 <br />
<br />
Process finished with exit code 0</div>
</div>
<div>&nbsp;</div>
<div>注意：</div>
<div>在使用synchronized关键字时候，应该尽可能避免在synchronized方法或synchronized块中使用sleep或者
yield方法，因为synchronized程序块占有着对象锁，你休息那么其他的线程只能一边等着你醒来执行完了才能执行。不但严重影响效率，也不合
逻辑。</div>
<div>同样，在同步程序块内调用yeild方法让出CPU资源也没有意义，因为你占用着锁，其他互斥线程还是无法访问同步程序块。当然与同步程序块无关的线程可以获得更多的执行时间。</div>
<img src ="http://www.blogjava.net/dm520/aggbug/306903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2009-12-22 14:22 <a href="http://www.blogjava.net/dm520/articles/306903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在任务栏显示java程序图标</title><link>http://www.blogjava.net/dm520/articles/306900.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Tue, 22 Dec 2009 05:44:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/306900.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/306900.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/306900.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/306900.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/306900.html</trackback:ping><description><![CDATA[<div>
<script type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text");
if (text && text.length > 300) {
text = text + ""r"n"n本文来自CSDN博客，转载请标明出处：" + location.href;
clipboardData.setData("text", text);
}
}, 100);
}
}
</script>
<script type="text/javascript">                        function StorePage() { d = document; t = d.selection ? (d.selection.type != 'None' ? d.selection.createRange().text : '') : (d.getSelection ? d.getSelection() : ''); void (keyit = window.open('http://www.365key.com/storeit.aspx?t=' + escape(d.title) + '&u=' + escape(d.location.href) + '&c=' + escape(t), 'keyit', 'scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes')); keyit.focus(); }</script>
<p>该代码实现了在系统右下角的任务栏中显示程序的图标，并且最小化程序后单击图标可以显示出来这个程序窗口</p>
<div>
<div>
<div><a href="http://blog.csdn.net/JavaAlpha/archive/2009/12/22/5054824.aspx#" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</a><a href="http://blog.csdn.net/JavaAlpha/archive/2009/12/22/5054824.aspx#" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy to clipboard</a><a href="http://blog.csdn.net/JavaAlpha/archive/2009/12/22/5054824.aspx#" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</a><a href="http://blog.csdn.net/JavaAlpha/archive/2009/12/22/5054824.aspx#" onclick="dp.sh.Toolbar.Command('About',this);return false;">?</a></div>
</div>
<ol start="1">
    <li>import&nbsp;java.awt.Color;&nbsp;&nbsp;&nbsp;</li>
    <li>　　import&nbsp;java.awt.Image;&nbsp;&nbsp;&nbsp;</li>
    <li>　　import&nbsp;java.awt.MenuItem;&nbsp;&nbsp;&nbsp;</li>
    <li>　　import&nbsp;java.awt.PopupMenu;&nbsp;&nbsp;&nbsp;</li>
    <li>　　import&nbsp;java.awt.Toolkit;&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　import&nbsp;javax.swing.JFrame;&nbsp;&nbsp;&nbsp;</li>
    <li>　　import&nbsp;javax.swing.JLabel;&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　public&nbsp;class&nbsp;test&nbsp;extends&nbsp;JFrame&nbsp;&nbsp;&nbsp;</li>
    <li>　　{&nbsp;&nbsp;&nbsp;</li>
    <li>　　long&nbsp;setTime&nbsp;=&nbsp;30*1000;&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　JLabel&nbsp;jl&nbsp;=&nbsp;new&nbsp;JLabel("剩余时间：");&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　JLabel&nbsp;jl1&nbsp;=&nbsp;new&nbsp;JLabel();&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　PopupMenu&nbsp;popupMenu1&nbsp;=&nbsp;new&nbsp;PopupMenu();&nbsp;&nbsp;&nbsp;</li>
    <li>　　MenuItem&nbsp;menuItem1&nbsp;=&nbsp;new&nbsp;MenuItem();&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　public&nbsp;examTime(){&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;this.setLocation(200,&nbsp;200);&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;this.setSize(300,&nbsp;200);&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;isTray();&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;this.setVisible(true);&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;addWindowListener(new&nbsp;WindowAdapter()&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;public&nbsp;void&nbsp;windowIconified(WindowEvent&nbsp;evt)&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;unVisible();&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;}&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;});&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;popupMenu1.setLabel("PopupMenu");&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;menuItem1.setLabel("打开");&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;menuItem1.addActionListener(new&nbsp;ActionListener()&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;public&nbsp;void&nbsp;actionPerformed(ActionEvent&nbsp;evt)&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;showw();&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;}&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;});&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;popupMenu1.add(menuItem1);&nbsp;&nbsp;&nbsp;</li>
    <li>　　}&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　public&nbsp;void&nbsp;unVisible(){&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;this.setVisible(false);&nbsp;&nbsp;&nbsp;</li>
    <li>　　}&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　public&nbsp;void&nbsp;showw(){&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;this.setVisible(true);&nbsp;&nbsp;&nbsp;</li>
    <li>　　}&nbsp;&nbsp;&nbsp;</li>
    <li>　　public&nbsp;void&nbsp;isTray()&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;try&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;if&nbsp;(SystemTray.isSupported())&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{//&nbsp;判断当前平台是否支持系统托盘&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;SystemTray&nbsp;st&nbsp;=&nbsp;SystemTray.getSystemTray();&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;Image&nbsp;image&nbsp;=&nbsp;Toolkit.getDefaultToolkit().getImage(&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;"E:/eclipse/workspace/test/test.gif");//定义托盘图标的图片&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;TrayIcon&nbsp;ti&nbsp;=&nbsp;new&nbsp;TrayIcon(&nbsp;image);&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;ti.setToolTip&nbsp;(&nbsp;"test&nbsp;");&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;ti.setPopupMenu&nbsp;(&nbsp;this.popupMenu1);&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;st.add(ti);&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;}&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;}&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;}&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;}&nbsp;&nbsp;&nbsp;</li>
    <li>　　public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;{&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;new&nbsp;test();&nbsp;&nbsp;&nbsp;</li>
    <li>　　&nbsp;}&nbsp;&nbsp;&nbsp;</li>
    <li>　　}&nbsp;&nbsp;</li>
</ol>
</div>
<textarea style="display: none;" cols="89" rows="21" name="code" class="c-sharp">import java.awt.Color;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class test extends JFrame
{
long setTime = 30*1000;
JLabel jl = new JLabel("剩余时间：");
JLabel jl1 = new JLabel();
PopupMenu popupMenu1 = new PopupMenu();
MenuItem menuItem1 = new MenuItem();
public examTime(){
this.setLocation(200, 200);
this.setSize(300, 200);
isTray();
this.setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowIconified(WindowEvent evt)
{
unVisible();
}
});
popupMenu1.setLabel("PopupMenu");
menuItem1.setLabel("打开");
menuItem1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
showw();
}
});
popupMenu1.add(menuItem1);
}
public void unVisible(){
this.setVisible(false);
}
public void showw(){
this.setVisible(true);
}
public void isTray()
{
try
{
if (SystemTray.isSupported())
{// 判断当前平台是否支持系统托盘
SystemTray st = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage(
"E:/eclipse/workspace/test/test.gif");//定义托盘图标的图片
TrayIcon ti = new TrayIcon( image);
ti.setToolTip ( "test ");
ti.setPopupMenu ( this.popupMenu1);
st.add(ti);
}
}
catch (Exception e)
{
}
}
public static void main(String[] args)
{
new test();
}
}</textarea>
<p><br />
</p>
</div>
<img src ="http://www.blogjava.net/dm520/aggbug/306900.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2009-12-22 13:44 <a href="http://www.blogjava.net/dm520/articles/306900.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>迅雷java面试题（笔试+机试+面试）</title><link>http://www.blogjava.net/dm520/articles/306555.html</link><dc:creator>dm520</dc:creator><author>dm520</author><pubDate>Fri, 18 Dec 2009 07:11:00 GMT</pubDate><guid>http://www.blogjava.net/dm520/articles/306555.html</guid><wfw:comment>http://www.blogjava.net/dm520/comments/306555.html</wfw:comment><comments>http://www.blogjava.net/dm520/articles/306555.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dm520/comments/commentRss/306555.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dm520/services/trackbacks/306555.html</trackback:ping><description><![CDATA[转另一个论坛的帖子： <br />
<br />
迅雷面试回来，用了整整一下午（不知道怎么说了，其中等待时间都快2小时了），自己感觉笔试和上机还可以，但技术面谈这一关答得不太好，现在再次感觉互联
网公司与一般软件公司的区别了，其中一点就是互联网应用在性能上要求很高，谈了一个小时大部分题目感觉都在谈论性能问题，自己在方面一直是弱项，汗啊：（
<br />
<br />
仔细回忆了一下整个面试过程的题目，记录下来，希望大家多多给点意见讨论下啊  <br />
<br />
一、笔试题：  <br />
A)JAVA基础多项选择题，比较简单，略  <br />
<br />
B)问答：  <br />
1）ajax原理、如何实现刷新数据及优点？  <br />
2）门面模式的解释、适用场合？  <br />
3）写6个linux常用命令？  <br />
4）SQL语句题，较简单  <br />
<br />
C)编程：  <br />
1）有三个线程ID分别是A、B、C,请有多线编程实现，在屏幕上循环打印10次ABCABC&#8230;  <br />
2）假如有字符串&#8220;6sabcsssfsfs33&#8221; ，用最有快速的方法去掉字符&#8220;ab3&#8221;，不能用java内置字符串方法（indeOf,substring,replaceAll等）？  <br />
<br />
二、上机题：  <br />
Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数？  <br />
<br />
三、面试题：  <br />
1、说说JVM原理？内存泄露与溢出区别，何时产生内存泄露？  <br />
2、用java怎么实现有每天有1亿条记录的DB存储？mysql上亿记录数据量的数据库如何设计？  <br />
3、mysql支持事务吗？DB存储引擎有哪些？  <br />
4、mvc原理，mvc模式的优缺点,如果让你设计你会怎么改造MVC？  <br />
5、hibernate支持集群吗？如何实现集群？  <br />
6、tomcat 最多支持并发多少用户？  <br />
7、map原理，它是如何快速查找key的？map与set区别？  <br />
8、描术算法，如何有效合并两个文件：一个是1亿条的用户基本信息，另一个是用户每天看电影连续剧等的记录，5000万条。内存只有1G？？？  <br />
9、在1亿条用户记录里，如何快速查询统计出看了5个电影以上的用户？  <br />
10、Spring如何实现IOC与AOP的，说出实现原理？  <br />
<br />
期待大家的探讨，共同提高，多谢
<img src ="http://www.blogjava.net/dm520/aggbug/306555.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dm520/" target="_blank">dm520</a> 2009-12-18 15:11 <a href="http://www.blogjava.net/dm520/articles/306555.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>