﻿<?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-BABE</title><link>http://www.blogjava.net/selina/</link><description>A Little Pig
Goes A Long Way</description><language>zh-cn</language><lastBuildDate>Sat, 18 Apr 2026 01:41:14 GMT</lastBuildDate><pubDate>Sat, 18 Apr 2026 01:41:14 GMT</pubDate><ttl>60</ttl><item><title>XML命名规则——Did You Know?</title><link>http://www.blogjava.net/selina/archive/2008/03/14/186229.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Fri, 14 Mar 2008 03:31:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2008/03/14/186229.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/186229.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2008/03/14/186229.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/186229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/186229.html</trackback:ping><description><![CDATA[XML Naming Rules<br />
XML命名规则<br />
<br />
XML elements must follow these naming rules:<br />
XML元素命名必须遵循如下规则：<br />
<ul>
    <li>Names can contain letters, numbers, and other characters</li>
    <li>Names must not start with a number or punctuation character</li>
    <li>Names must not start with the letters xml (or XML, or Xml, etc)</li>
    <li>Names cannot contain spaces</li>
</ul>
<ul>
    <li>可以使用包括字母、数字和其他字符；</li>
    <li>不能以数字或者标点符号开头；</li>
    <li>不能以字串&#8220;xml&#8221;，或者&#8220;XML&#8221;、&#8220;Xml&#8221;之类开头；</li>
    <li>不能包含空格。</li>
</ul>
Any name can be used, no words are reserved.<br />
由于XML没有任何保留字，因此任何名称都可以使用。<br />
<img src ="http://www.blogjava.net/selina/aggbug/186229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2008-03-14 11:31 <a href="http://www.blogjava.net/selina/archive/2008/03/14/186229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>既有鱼肉又有熊掌——浅尝ListOrderedMap</title><link>http://www.blogjava.net/selina/archive/2007/08/14/136692.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Tue, 14 Aug 2007 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2007/08/14/136692.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/136692.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2007/08/14/136692.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/136692.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/136692.html</trackback:ping><description><![CDATA[<p><font style="BACKGROUND-COLOR: #ece9d8">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要有序可以用List，要便于查找可以用Map，那既要有序又便于查找呢？<br></font></p>
<p><font style="BACKGROUND-COLOR: #ece9d8">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近我就遇到了这样一个问题，Java没有给我们提供现成的类，我们完全可以自己开发个类继承List和Map（Java原来就有不可以同时继承List和Map的Bug，因此特意去看了下这个Bug的状态——Closed，呵呵，应该是很老的版本才有的问题，用新版本的朋友不用担心会遇到这个问题），但是完全没必要白花那个力气，因为Apache的<strong>Commons Collections</strong>的Jar包里已经为我们提供了一个相当完备的类来满足我们这样的要求完全是绰绰有余。因此我们现在要做的仅仅是引入Jar包，然后使用这个现成的好东西——<strong>ListOrderedMap</strong>就可以啦。<br></font></p>
<p><font style="BACKGROUND-COLOR: #ece9d8">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;让我们来看看代码：</font><font style="BACKGROUND-COLOR: #ece9d8"></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">ListOrderedMap&nbsp;list&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ListOrderedMap();<br><img id=Codehighlighter1_81_123_Open_Image onclick="this.style.display='none'; Codehighlighter1_81_123_Open_Text.style.display='none'; Codehighlighter1_81_123_Closed_Image.style.display='inline'; Codehighlighter1_81_123_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_81_123_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_81_123_Closed_Text.style.display='none'; Codehighlighter1_81_123_Open_Image.style.display='inline'; Codehighlighter1_81_123_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;objs.length;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_81_123_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_81_123_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;list.put(objs[i].getId(),&nbsp;objs[i]);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 初始化很简单吧，没有一点技术难度，往里边放数据和Map没一点区别，需要注意的是Map我们可以在初始化的时候加上类型，比如Map&lt;String, String&gt;，但是ListOrderedMap不可以，就这么点差别，要记得哦。但是这个差别也是ListOrderedMap让人最不满意的地方，因为这说明他是类型不安全的。<br></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接下来，看看我们都用到了ListOrderedMap的哪些方法：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;themeId&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;((Obj)&nbsp;list.getValue(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)).getThemeId();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;index&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;list.indexOf(key);<br><img id=Codehighlighter1_113_148_Open_Image onclick="this.style.display='none'; Codehighlighter1_113_148_Open_Text.style.display='none'; Codehighlighter1_113_148_Closed_Image.style.display='inline'; Codehighlighter1_113_148_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_113_148_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_113_148_Closed_Text.style.display='none'; Codehighlighter1_113_148_Open_Image.style.display='inline'; Codehighlighter1_113_148_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(index&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;list.size()&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_113_148_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_113_148_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;obj</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Obj)&nbsp;list.getValue(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img id=Codehighlighter1_172_215_Open_Image onclick="this.style.display='none'; Codehighlighter1_172_215_Open_Text.style.display='none'; Codehighlighter1_172_215_Closed_Image.style.display='inline'; Codehighlighter1_172_215_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_172_215_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_172_215_Closed_Text.style.display='none'; Codehighlighter1_172_215_Open_Image.style.display='inline'; Codehighlighter1_172_215_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(index&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_172_215_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_172_215_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;obj</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Obj)&nbsp;list.getValue(index&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>getValue(int index)</strong>直接根据Index取得Value，当然也可以直接根据Index取得Key值，方法名可不是getKey(int index)，而是直接<strong>get(int index)</strong>就可以啦。接着我们想取到当前Key值后面一个Key值所对应的Value，首先用<strong>indexOf(Object key)</strong>取得Index，然后计算其后面的Index再根据此Index取值。如果想取得当前Key值后面一个Key值，则不必要先取Index，这么麻烦，ListOrderedMap里有直接的方法可以取得当前Key值的前一个Key值和后一Key值，分别是<strong>previousKey(Object key)</strong>方法和<strong>nextKey(Object key)</strong>方法，返回null值表示到头（或尾）了，或者没有找到和当前Key值匹配的Key值&nbsp;。个至于这边为什么要有If和Else if，原因很简单，和一般的索引一样，返回值是-1就表示没有找到。我们在这里做了一个循环，而且我的这个ListOrderedMap的数列是确保长度大于0的，所以我把index==list.size()-1的判断放在了前边，如果不能确定长度是否大于0，还是先判断返回值是否为-1为好。<br></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本文只简单介绍了ListOrderedMap的几种比较实用的方法，其他方法使用方法可以参考Apache网站上的相关API：<a href="http://commons.apache.org/collections/api-release/index.html">http://commons.apache.org/collections/api-release/index.html</a></p>
<p>&nbsp;</p>
</font>
<img src ="http://www.blogjava.net/selina/aggbug/136692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2007-08-14 15:30 <a href="http://www.blogjava.net/selina/archive/2007/08/14/136692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>手机上J2ME的3D编程－简单创建3D立方体</title><link>http://www.blogjava.net/selina/archive/2006/03/10/34622.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Fri, 10 Mar 2006 03:07:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2006/03/10/34622.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/34622.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2006/03/10/34622.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/34622.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/34622.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在现实生活中，我们所看到的是一个3维系统。透过双眼，可以看到的是一个丰富多彩的世界。我们所用的照相机，能够拍出很多漂亮的图片。拍摄每张图片时，可以根据拍摄距离的远近可以调整所拍摄画面上的内容。 在虚拟的世界里，可以模拟真实世界。欲将虚拟世界展示出来，就要利用一个虚拟的照相机，将虚拟的世界拍摄出来。 在JSR-184中，虚拟的世界是由World类构造的。虚拟的照相机是Camera类。通过Camera...&nbsp;&nbsp;<a href='http://www.blogjava.net/selina/archive/2006/03/10/34622.html'>阅读全文</a><img src ="http://www.blogjava.net/selina/aggbug/34622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2006-03-10 11:07 <a href="http://www.blogjava.net/selina/archive/2006/03/10/34622.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>哈佛MBA 精粹42条&lt;转载&gt;</title><link>http://www.blogjava.net/selina/archive/2005/08/25/11075.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Thu, 25 Aug 2005 08:22:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2005/08/25/11075.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/11075.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2005/08/25/11075.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/11075.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/11075.html</trackback:ping><description><![CDATA[<P><STRONG>精粹1：弱音板</STRONG><BR>在弹钢琴时，有时你必须这样做。同样在公司里也不例外。任何一个公司都有它的优点和缺点，但不停地张扬它的缺点是无济于事的。强调它的优点，避免它的缺点，这样才能鼓起工作中的士气。</P>
<P><STRONG>精粹2：扬在先<BR></STRONG>批评人之前应该这样做。先把他的优点提出来，就是铺平了批评的道路。切记：即使最有涵的人，也不喜欢指出他做错了事。先进行表扬，让他知道上级是赏识他的，他就会诚心接受批评，否则，他就会憋一肚子怨气。</P>
<P><STRONG>精粹3：以身做则</STRONG><BR>上级的言行举止、外表衣着、私人生活，以及如何对待妻子儿女等，都会成为下属谈论的话题。有时你会觉得事情怪得很，但的确是好事不出门，坏事传千里。“听说了吗？他上星期把妻子打了。”类似丑闻很快会传出去。所以，身为领导，必须做出榜样，要言行一致。领导的行为值得模仿，下级就会做得好；反过来，领导的行为不佳，下级也不会有好行为。</P>
<P><STRONG>精粹4：无旁贷<BR></STRONG>在一单位里，人际关系是最令人头疼的事。今天的问题解决了，明天又产生新的问题，而且类似的问题过几个月后还会出现。这就是领导者天天所面临的问题，但他必须正视它，因为这是他的本职工作。</P>
<P><STRONG>精粹5：象盖房子</STRONG><BR>应不断培养人才。下级知道你诚心给他们锻炼机会，提拔他们，他们会自觉为你出力。尚且每个单位都要求上级要不断培养人才。必须让下级对工作精益求精，这样做你自己也有被提升的机会。</P>
<P><STRONG>精粹6：能断章取义</STRONG><BR>搞好人事关系不仅要读工商管理课本中的某一章，应该读整本书。要使合作者都心情舒畅地合作，不仅是管理部门的工作，而且也是领导者要用全力去做的事。不可以把这方面的工作交给别人做，或认为这只是人事部门的工作，它恰恰是你自己份内的工作。因为人事关系理不顺，你的全部计划也就无法实现。</P>
<P><STRONG>精粹7：抉择</STRONG><BR>在一个村庄里，住着一位睿智的老人，村里有什么疑难问题都来向他请教。有一天聪明又调皮的孩子，想要故意为难那位老人。他捉了一只小鸟，握在手掌中，跑去问老人：“老爷爷，听说您是最有智慧的人，不过我却不相信。如果您能猜出我手中的鸟是活还是死的，我就相信了。”老人注视着小孩子狡锏难矍纾闹?BR&gt;有数，如果他回答小鸟是活的，小孩会暗中加劲把小鸟掐死；如果他回答是死的，小孩就会张开双手让小鸟飞走。老人拍了拍小孩的肩膀笑着说：“这只小鸟的死活，就全看你的了！”每个人的前途与命运，就像那只小鸟一样，完全掌握在你自己的手中。升学也罢，就业也好，创业亦如此，只要奋发努力，均会成功。一位哲人说：人生就是一连串的抉择，每个人的前途与命运，完全掌握在自己手中，只要努力，终会有成。</P>
<P><STRONG>精粹8：目标要明确</STRONG><BR>有一位父亲带着三个孩子，到沙漠去猎杀骆驼。他们到达了目的地。父亲问老大：“你看到了什么呢？”老大回答：“我看到了猎枪、骆驼，还有一望无际的沙漠”。父亲摇摇头说：“不对。”父亲以相同的问题问老二。老二回答：“我看到了爸爸、大哥、弟弟，猎枪、骆驼、还有一望无际的沙漠。”父亲又摇摇头说：“不对。”父亲又以相同问题问老三。老三回答：“我只看到了骆驼。”父亲高兴地点点头说：“答对了。”这个故事告诉我们：一个人若想走上成功之路，首先必须有明确的目标。目标一经确立之后，就要心无旁骛，集中全部精力，勇住直进。</P>
<P><STRONG>精粹9：管仲病榻论相</STRONG><BR>管仲病重，齐桓公亲往探视。君臣就管仲之后择相之事，有一段对话，发人深省。桓公：“群臣之中谁可为相?”管仲：“知臣莫如君。”桓公：“易牙如何?”管仲：“易牙烹其子讨好君主，没有人性。这种人不可接近。”桓公：“竖刁如何?”管仲：“竖刁阉割自己伺侯君主，不通人情。这种人不可亲近。”桓公：“开方如何?”管仲：“开方背弃自己的父母侍奉君主，不近人情。况且他本来是千乘之封的太子，能弃千乘之封，其欲望必然超过千乘。应当远离这种人，若重用必定乱国。”桓公：“鲍叔牙如何?”管仲：“鲍叔牙为人清廉纯正，是个真正的君子。但他对于善恶过于分明，一旦知道别人的过失，“终身不忘，这是他的短处，不可为相。”桓公：“隰朋如何?”管仲：“隰朋对自己要求很高，能做到不耻下问。对不如自己的人哀怜同情；对于国政，不需要他管的他就不打听；对于事务，不需要他了解的，就不过问；别人有些小毛病，他能装作没看见。不得已的话，可择隰朋为相。”(庆)</P>
<P><STRONG>精粹10：从“情侣苹果”谈目标市场定位营销</STRONG><BR>元旦，某高校俱乐部前，一老妇守着两筐大苹果叫卖，因为天寒，问者寥寥。一教授见情形，上前与老妇商量几句，然后走到附近商店买来节日织花用的红彩带，并与老妇一起将苹果两两一扎，接着高叫道：“情侣苹果哟!两元一对!”经过的情侣们甚觉新鲜，用红彩带扎在一起的一对苹果看起来很有情趣，因而买者甚众。不肖一会，尽卖光。老妇感激不尽，赚得颇丰。这是一个成功进行目标市场定位营销的案例。目前市场营销即首先分清众多细分市场之间的差别，并从中选择一个或几个细分市场，针对这几个细分市场开发产品并制定营销组合。那位教授对俱乐部前来往的人群进行的市场细分可谓别出心裁，占比例很大的成双成对的情侣给了他突发灵感，使其觉察到情侣们将是最大的苹果需求市场，而其对产品定位更是心迹奇巧，用红彩带两个一扎，唤为“情侣”苹果，对情侣非常具有吸引力，即使苹果不好销的大冷天也高价畅销了。</P>
<P><STRONG>精粹11：上帝的评判<BR></STRONG>西方国家流传着一个故事：三个商人死后见上帝时，讨论他们在尘世中的功绩。一个商人说：“尽管我经营的生意接近于倒闭，但我和我的家人并不在意，我们生活得非常快乐。”上帝听罢，给他打了50分。第二个商人说：“我很少有时间和家人呆在起，我只关心我的生意。你看，我死之前，是一个亿万富翁!”上帝听罢默不作声，也给他打了50分。这时，第三个商人开口了：“我在尘世时，虽然每天忙着赚钱，但我同时也尽力照顾我的家人，朋友们和我很谈得来，我们经常在钓鱼或打高尔夫球时，就谈成了一笔生意。活着的时候，人生多么有意思啊!”上帝听他讲完，立刻给他打了满分。</P>
<P><STRONG>精粹12：爱若和布若</STRONG><BR>爱若和布若差不多同时受雇于一家超级市场，开始时大家都一样，从最底层干起。可不久爱若受到总经理的青睐，一再被提升，从领班直到部门经理。布若却像被人遗忘了一般，还在最底层混。终于有一天布若忍无可忍，向总经理提出辞呈，并痛斥总经理用人不公平。总经理耐心地听着，他了解这个小伙子，工作肯吃苦，但似乎缺少了点什么，缺什么呢?..他忽然有了个主意。“布若先生，”总经理说：“请您马上到集市上去，看看今天有什么卖的。”布若很快从集市回来说，刚才集市上只有一个农民拉了车土豆卖。“一车大约有多少袋，多少斤?”总经理问。布若又跑去，回来说有10袋。“价格多少?”布若再次跑到集上。总经理望着跑得气喘吁吁的他说：“请休息一会吧，你可以看看爱若是怎么做的。”说完叫来爱若对他说：“爱若先生，请你马上到集市上去，看看今天有什么卖的。”爱若很快从集市回来了，汇报说到现在为止只有一个农民在卖土豆，有10袋，价格适中，质量很好，他带回几个让经理看。这个农民过一会儿还将弄几筐西红柿上市，据他看价格还公道，可以进一些货。这种价格的西红柿总经理可能会要，所以他不仅带回了几个西红柿作样品，而且还把那个农民也带来了，他现在正在外面等回话呢?总经理看了一眼红了脸的布若，说：“请他进来。”爱若由于比布若多想了几步，于是在工作上取得了成功。</P>
<P><STRONG>精粹13：没问题和有问题</STRONG><BR>有一个企业家坐在餐厅的角落里，独自一个人喝着闷酒。一位热心人走上前去，问到：“您一定有什么难解的问题，不妨说出来，让我给您帮帮忙吧！”企业家看了他一眼，冷冷地说：“我的问题太多了，没有人能帮我的忙。”这位热点心人立刻掏出名片，要企业家明天到他的办公室去一趟。第二天，企业家依约前往，这位热心人说：“走，我带你去一个地方。”企业家不知道他葫芦里卖的是什么药。热心人用车子把企业家带到荒郊野地，二人下了车，热心人指着前面的坟场对企业家说：“你看看吧，只有躺在这里的人才统统是没有问题的。”企业家恍然大悟。请记住这样一句话：只要有问题，就有存活的希望。只要敢于正视问题，解决问题，就可以前进。</P>
<P><STRONG>精粹14：垃圾变黄金</STRONG><BR>二十年代的时候，有一位欧洲的神父到山东传教。他看到当地人民生活非常苦，动了恻隐之心，他苦思良策想改善教友们的生活。有一天，神父走过一户人家，看见妇人在门口梳头，有些头发掉在地上。这一幕触发了他的灵感。神父想起了他的家乡欧洲，从工业革命后，工厂纷纷设立，厂内的女工都必须戴发网上工，一来避免头发卷入机器，二来也是一种装饰。如果把妇女掉在地上的头发捡起来，然后编织成发网销到欧洲去，不是可以改善教友们的生活吗？于是，神父就告诉妇女们，在梳头时，务必把落发收集起来。另一方面，他又告诉商人，拿些针线与洋火交换妇人的零碎头发，编织成发网，外销欧洲。他的计划果然实现了。企业家们有句名言：不怕口袋空空，只怕脑袋空空。只要肯动脑筋，垃圾也能变成黄金。</P>
<P><STRONG>精粹15：选定目标不放弃</STRONG><BR>有一位老师在讲台上谆谆勉励学生做事要专心，将来才会有成就。为了具体说明专心的重要，老师叫一名学生上台，双手各持一支粉笔，命其在黑板上同时用右手画方，左手画圆，结果学生画得一团糟。老师说：“这两种图形都画得不像，那是因为分心的缘故。追逐两兔，不如追逐一兔。一个人同时有两个目标的话，到头来一事无成。”这个小故事告诉我们，要成功，只能一次选定一个目标，咬住不放，锲而不舍。再冷的石头，坐上三年也会暖。所以，不论就业或创业，一定要选好自己的目标，在选定了目标之后，万万不可操之过急，要勤奋努力，遭到挫折也不放弃。请记住这样一句名言：成功最大的障碍，就在于放弃。人生就象爬阶梯一样，必须一步一阶，丝毫取巧不得；只要一步一阶，终必抵达山顶。</P>
<P><STRONG>精粹16：学历和实力</STRONG><BR>台湾有一个著名的企业家陈茂榜，他的讲演经常折服所有的听众。尤其是他计数字的本事超人一等，举凡中国和世界各国的面积、人口、国民所得贸易额等，他都如数家珍。事实上，陈茂榜的学历只有小学毕业，但他却荣获了美国圣诺望大学颁发的名誉商学博士学位。一个只有小学文化学历的人，能够荣获名誉博士学位，主要凭持他的实力，这个实力就是一辈子坚持每天晚上不间断的自修。陈茂榜十五岁辍学到一家书店当店员，他每天从早到晚工作十二个小时。但是下班以后，读书就成了他的享受，书店变成了他的书房，或坐或卧，任他遨游。日子一久，他养成了每晚至少读两小时书的习惯。他在书店工作了八年，也读了八年书。陈茂榜说：“学历固然有用的，但更有用的是真才实学。”记住这样一句话吧：一个人的命运，决定于晚上八点到十点之间。</P>
<P><STRONG>精粹17：勤于思考</STRONG><BR>在全世界IBM管理人员的桌上，都摆着一块金属板，上面写着“Think”（想）。这个字的精粹，是IBM创始人华特森（ThomasJ·watson）创造的。有一天，寒风刺骨，阴雨霏霏，华特森一大早就主持了一项销售会议。会议一直进行到下午，气氛沉闷，无人发言，大家逐渐显得焦躁不安。突然，华特森在黑板上写了一个很大的“Think”，然后对大家说：“我们共同缺的是，对每一个问题充分地去思考，别忘了，我们都是靠脑筋赚得薪水的。”从此，“Think”成为了华特森和公司的座右铭。人类的脑细胞约有165亿个，一般人只用了不到1000万个，专家认为最少也要用1/10，即1亿千锤百炼百万个，所以我们真应该动动脑，好好地去思考。古人早就告诫我们：心之官则思，不思则不得也。</P>
<P><STRONG>精粹18：胆量</STRONG><BR>日本三洋电机的创始人井植岁男，成功地把企业越办越好。有一天，他家的园艺师傅对井植说：“社长先生，我看您的事业越做越大，而我却象树上的蝉，一生都坐在树干上，太没出息了。您教我一点创业的秘诀吧？”井植点点头说：“行！我看你比较适合园艺工作。这样吧。在我工厂旁有两万坪空地，我们合作来种树苗吧！树苗1棵多少钱能买到呢？”“40圆。”井植又说：“好！以一坪种两棵计算，扣除走道，2万坪大约种2万千棵，树苗的成本是不是100万元。3年后，1棵可卖多少钱呢？”“大约3000元。”“100万元的树苗成本与肥料费由我支付，以后3年，你负责除草和施肥工作。3年后，我们就可以收入600多万元的利润。到时候我们每人一半。”听到这里，园艺师傅却拒绝说：“哇？我可不敢做那么大的生意！”最后，他还是在井植家中栽种树苗，按月拿取工资，白白失去了致富良机。要成功地赚大钱，非得有胆量不可。一个没有胆识的人，再好的机会到来，也不敢去掌握与尝试；固然他没有失败的机会，但也失去了成功的机运。一位哲人曾经说过：世界上本没有路，我们走过之后，路自然形成了。</P>
<P><STRONG>精粹19：告诉他，他的工作是多么有趣</STRONG><BR>若要求下属表现好，就必须让他们对工作感兴趣，让他们知道，他的工作是整个工作中重要的一环。每项工作都有其自身的意义，这一点必须让下属知道。</P>
<P><STRONG>精粹20：他看上去弱不经风<BR></STRONG>身体赢弱，貌不出众的马斯很受下属的尊重。如果有谁或他们的家属有了病，他就会问候他们，尽可能帮他们解决些问题。如果有谁请他去参加庆贺孩子的周岁生日，他也会欣然前往，难怪在整个公司里，他那个部门工作效率最高。</P>
<P><STRONG>精粹21：鬼鬼祟祟..<BR></STRONG>..做为一个领导，总爱在人家背后刺探秘密，这种人当个侦探还可以，却不是一个好上级。不信任下属，员工的工作情绪无疑会受到挫折。</P>
<P><STRONG>精粹22：其实不然<BR></STRONG>有时你表扬了下属，他不会得意忘形的连自己的鞋子都穿不上了。不少领导者以为表扬下属会使他们骄傲起来，从而不再继续努力。这是个糊涂的概念。每个人都盼着上级会赏识他。如果谁工作做得好，上级表扬了他，他不会因此骄傲，反而会再接再励的。</P>
<P><STRONG>精粹23：真不走运<BR></STRONG>我以为他当真会那样..，我不知道他竟会这样做。这些话我们常听到。误会，误会，总是误会，这主要是由于没有再三调查与证实的缘故。误会总会有的，但有了疑问时问问别人，看看你是不是真的了解了他人的用意。</P>
<P><STRONG>精粹24：闻者足戒<BR></STRONG>一个合格的领导应鼓励下级提问题。如果无法给予满意的答复，就不要乱说一通。应告诉下级，他总会帮助找出答案的。这样才会避免谣言四起，并让每个人都觉得他是集体中的一名重要成员。</P>
<P><STRONG>精粹25：欲速则不达<BR></STRONG>有一个小孩在草地上发现了一个蛹。他把蛹捡起来带回家，要看看蛹是怎样羽化为蝴蝶。过了几天，蛹上出现了一道小裂缝，里面的蝴蝶挣扎了好几个小时，身体似乎被什么东西卡住了，一直出不来。小孩子看着于心不忍，心想；我必须助它一臂之力。于是，他拿起剪刀把蛹剪开，帮助蝴蝶脱蛹而出。可是，这只蝴蝶的身躯臃肿，翅膀干瘪，根本飞不起来，不久就死去了。从这个故事里，我们可以体会到“揠苗助长”、“欲速则不达”的真谛。瓜熟蒂落，水到渠成，蝴蝶必得在蛹中痛苦挣扎，直到它的双翅强壮了，才会破蛹而去。人何尝不是如此呢，煎熬、磨炼、挫折、挣扎，这些都是成长的必经的过程。急于成功的人，别忘了一句哲人的名言：人生必须背负重担，一步一步慢慢地走，稳稳地走，总有一天，你会发现自己是走得最远的人。</P>
<P><STRONG>精粹26：绝不墨守成规<BR></STRONG>有一天，两个和尚结伴从一座庙走到另一座庙去。走到半路，突然被一条河挡住了去路。这条河上没有桥，水并不太深，他们决定涉水而过。正在这时，一位美貌的妇人也来到河边，她说有急事必须过河，可是又怕河水把她冲走。第一个和尚见此情景，毫不犹豫地背起妇人，涉水过河，把她安全地送到了对岸。第二个和尚跟在后面也顺利地过了河。两个和尚默不作声地继续赶路。又走了好几里路，第二个和尚终于憋不住了，突然对第一个和尚说：“师兄，我们和尚绝不能近女色的，刚才你为何犯戒背着那个妇人过河呢？”第一个和尚淡淡地回答：“我一过河就把她放下来了，怎么你走了好几里路，到现在还背着她呢！”一位哲人告诉我们：做人做事不要轻易就被一个成规束缚住了。墨守成规是前进的绊脚石，真正成功的人，本质上流着叛逆的血。</P>
<P><STRONG>精粹27：严于律已<BR></STRONG>有四个和尚，为了修行，他们一起参加禅宗的“不说话修练”。在四个和尚中，有三个道行较高，只有一个道行较浅，由于修炼时必须点灯，所以点灯的工作就由道行浅的和尚D负责。修炼开始了，四个和尚围绕着那盏灯，盘腿打座。几小时过去了，四个人始终默不作声。这时，油灯中的油愈燃愈少，眼看就要枯歇了。D和尚眼睛始终盯着那盏灯，见此情景甚为着急，可是他不敢说话。突然，一阵风吹来，灯被风吹得左摇右晃，眼看就要熄火了。和尚D实在忍不住了，他大叫一声说道：“糟糕！灯熄了！”其他三个和尚，原来都是闭目打坐，始终没有说话。一听到和尚D的叫喊声，三个和尚都睁开了眼晴。和尚C立刻斥责和尚D说：“你叫什么！我们是在做‘不说话修炼’，你怎么能够开口说话呢！”和尚B闻声大怒，他冲着和尚C说：“你不是也说话了吗？太不象说了！”和尚A一直沉默静坐，这时却傲视着另外三个和尚说：“哈哈！只有我没说话了。”看起来，“严以责人，宽以待已”是人性的痛病，那三个得道的和尚在指责别人“说话”之时，却不知道自己也犯下了“说话”的错误了。请记住这样一句名言：我们往往只看见别人的过失，却看不见自己的错误。只有严于律已，才是成就事业的开始。</P>
<P><STRONG>精粹28当机立断<BR></STRONG>华裔电脑名人王安博士，声称影响他一生的最大的教训，发生在他六岁之时。有一天，王安外出玩耍。路经一棵大树的时候。突然有什么东西掉在他的头上。他伸手一抓，原来是个鸟巢。他怕鸟粪弄脏了衣服，于是赶紧用手拨开。鸟巢掉在了地上，从里面滚出了一只嗷嗷待哺的小麻雀。他很喜欢它，决定把它带回去喂养，于是连鸟巢一起带回了家。王安回到家，走到门口，忽然想起妈妈不允许他在家里养小动物。所以，他轻轻地把小麻雀放在门后，葱忙走进室内，请求妈妈的允许。在他的苦苦哀求下，妈妈破例答应了儿子的请求。王安兴奋地跑到门后，不料，小麻雀已经不见了。一只黑猫正在那里意犹未尽地擦试着嘴巴。王安为此伤心了好久。从这件事，王安得到了一个很大的教训：只要是自己认为对的事情，绝不可优柔寡断。必须马上付诸行动。不能做决定的人，固然没有做错事的机会，但也失去了成功的机运。</P>
<P><STRONG>精粹29：企业家如何处理个人危机<BR></STRONG>一般提到危机管理，就想到公司的危机上，事实上，企业家个人的危机处理，更是影响企业的大事。企业家如何在“危”难之中把握“机”会是很重要的。至少需注意以下几点：1、该告诉的人一定要告诉，不该告诉的人则一句不讲。在遇到个人危机时，顶头上司和直属部下，因业务关系一定要把真象告诉他们。2、要回答的问题先想好答案。3、对同事伸出的援助之手，要坦然接受，同事愿意代劳的则让其代劳。4、在面临个人危机的时候，工作表现要更好一点，会给人留下特别深刻的印象。5、为了在感情上需要别人同情和安慰，千万不能找同事诉苦，公私分明，不要给人禁不起风浪的印象。6、事情过后一定要表示感谢。礼多人不怪，还不只是礼貌，更为重要的是公关。遇到个人危机虽属不幸，但处理得好，也可能是个好机会。</P>
<P><STRONG>精粹30：企业管理者“十诫”<BR></STRONG>西方企业界将导致管理失败的原因归结为十大诫律。这“十诫”是：一、诫奋斗目标不明确管理者必须及早明确和认清自己的努力方向和奋斗目标，在自己成长的历史中，学习有关专业的知识技能，积累经验，建立必要的社会关系。否则，便会给前程蒙上阴影。二、诫扭曲雇用关系管理者应接受所雇用企业规章制度的约束，而不能我行我素，以自己的经验、个性、兴趣或理想为由，与企业发生摩擦。三、诫结党营私玩弄权术理者所拥有的权力，只是“足以行使职权”就够了。为谋一已之利而耍手腕、拉帮派，无视企业利益，无疑是给自己制造陷井。四、诫以公司资源充当个人赌注为公司承担风险是管理者应尽职责，但这不等于盲目冒险。假如你认为自己某项决策有完全的把握，而公司的认识却相反乃至反对，那你就不应固执地坚持下去。因为如果把经营企业当成是一场赌博的话，那么你的一意孤行、不顾后果，就等于是拿着别人的赌本下注。五、诫自恃无人替代任何企业都没有一位真正不可缺少的人物。不管你是公司的开朝元老也好，还是公司的中流砥柱也罢，你都不要错误地认为自己的地位无人可以取代。六、诫疏于保护个人的信誉管理者是一项需要取得合作的工作，别人对你是否信服，将直接影响到你的管理成效。但在管理者中，最可怕的是这样一种人：他对上级一味奉迎，而对下属则除了批评之外便无任何鼓励。管理者要维护自己的信誉，最关键的一条，是待人处事采取客观态度。七、诫既无反对勇气，更缺乏接受的胸襟。在工作中意见分歧是极正常的。最糟糕的是这样的管理者：他在决策过程中缺乏提出反对意见的勇气，而在决策已定之后，却又没有接受事实的襟怀，因而导致既定决策未能达到最好的效果。八、诫对企业欠缺归宿感管理者理应忠于自己的企业，但同时又必须胸怀宽阔，管理者才会有一个明确的目标。九、诫荒废专业技能无论工作如何繁忙，管理者都不能放弃进取的机会。要不断丰富自己的知识，提高业务水平；唯如此，才能充满信心去迎接任何挑战。即使有一天离开这个企业，你仍然可在其他单位施展才干。十、诫堵塞跳槽渠道社会上到处都需要管理人才，假如有人向你提出改变环境的建议，你不必未经思考就一口拒绝，倒应该同他作进一步的探讨。为了充分发挥自己的专业特长和才华，跳槽绝不是人格的污点。不能人尽其才，才是最可悲的。切记上述“十诫”虽可避免失败，但避免失败不等于保证成功；如何成功，则有赖于管理者另辟蹊径、各显神通了。</P>
<P><STRONG>精粹31：他是公司里的“老大”<BR></STRONG>也是最大的祸根。大家都是人，都有各自的好恶。任人唯亲会激起他人的不满。如果某人和经理是同乡或是亲戚，因此被提升，这样会使大家士气大减。</P>
<P><STRONG>精粹32：弯着身子<BR></STRONG>尽量公正地待人处事。如果上级对一切事情都能无私公正，下级就会原谅他的许多缺点。有这么一种领导，他们的记忆力有时好时坏。一旦出了问题，他就会推卸责任。还有一种领导会许出各种诺言，但到了落实的时候，他就会一推再推，还会说情况有了变化等等。你守信用，对下级坦诚，他们就会从心里尊重你，服从你。</P>
<P><STRONG>精粹33：看一看<BR></STRONG>未经过商量，他便自作主张乱下“指示”，这会带来什么麻烦？管理人员通情达理，工作人员就会接受任务。但是如果要下级服从你的指示，就必须在下指示之前先与有关的人商量一下。</P>
<P><STRONG>精粹34：不要异想天开<BR></STRONG>你可以向往娶个十全十美的妻子，但却不可以希望下级都是十全十美的人。一位合格领导应该能够尽量发挥现有人员的积极性。人与人之间的差别太大了—有善良的有勤劳的，有懒惰的，有自私自利的。好领导不那么容易气馁，所以他才能卓有成效。</P>
<P><STRONG>精粹35：不走运的比尔<BR></STRONG>他刚安排好度假的日程，突然假期被取消了，在公司里，取消下级既得的利益，会产生很坏影响。因此凡批准一项计划，应该经过谨慎的考虑；一旦批准后，就不要随意取消。</P>
<P><STRONG>精粹36：我是这儿的头儿<BR></STRONG>这是个似乎在示威，他要让所有的人知道他是当官的。实际上这样做什么效果也没有，下级只会认为他是一个自负的混帐。一个人提升后，最重要的是谦虚，千万不要耍威风。</P>
<P><STRONG>精粹37：危机是难以避免的<BR></STRONG>上千个人一起工作，免不了会出乱子。有些事情无法避免的毛病。便要记住，相当多的危机是可以事先防范的。好的管理人员应该预先提醒上级，哪些是可能发生的危机。</P>
<P><STRONG>精粹38：象牙之塔<BR></STRONG>总经理就住在那里，他坚决不让下级知道任何消息。他大概怕消息会传到世界各地，这想法真是大谬不然。如果不信任下级，不让他们知道公司里有哪些业务，他们也用不着为你卖命。</P>
<P><STRONG>精粹39：不少合理化建议<BR></STRONG>没有机会被采纳，因为负责人没有预先跟有关人员商量。你伤了他人的自尊心，就很难得到他人支持。在采取行动之前，一定要先与有关人员磋商。</P>
<P><STRONG>精粹40：步前人后尘<BR></STRONG>这些管理人员已经准备接替前任得到晋升了，因为他已经让下级进行了充分的训练和实习，以便接手做的工作。一个管理人员做得成功与否，要看是否给下属以适当的锻炼机会。</P>
<P><STRONG>精粹41：就象轮子上的齿轮<BR></STRONG>这个比方并不牵强，其实我们对待下级的方法，常常产生同样的情形。他们情绪不高，工作不主动，无精打采。因为他们的工作天天如此，没有人答理他们。也没有告诉他们，他们所制造的是货车还是挖土机的零件，这些零件要被送往何处。应采用另一种办法，为他们着想，让他们知道公司的生产计划，这样他们会产生很高的情绪，生产力会马上提高。</P>
<P><STRONG>精粹42：说服工作<BR></STRONG>管理人员有权力命令下级做事，但若用说服的办法，就会事半功倍的。谁也不愿意被人支使，最好的办法是在分配工作任务的时候，加上“请你”，“如果你不介意的话”，“不知道你是否愿意”这类的语句。这样做，定会产生更理想的效果，下级也会心悦诚服，所以，分配工作任务时，要采取多种方式。</P><img src ="http://www.blogjava.net/selina/aggbug/11075.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2005-08-25 16:22 <a href="http://www.blogjava.net/selina/archive/2005/08/25/11075.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>「Pimsleur」JapaneseⅠ- Lesson Five</title><link>http://www.blogjava.net/selina/archive/2005/08/01/8892.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Mon, 01 Aug 2005 02:01:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2005/08/01/8892.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/8892.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2005/08/01/8892.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/8892.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/8892.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 「Pimsleur」JapaneseⅠ- Lesson Four This is unit five of Pimsleur's Japanese One. Listen to this conversation, a young woman is walking several feet away in front of an American in Tokyo. すみません、すみません...&nbsp;&nbsp;<a href='http://www.blogjava.net/selina/archive/2005/08/01/8892.html'>阅读全文</a><img src ="http://www.blogjava.net/selina/aggbug/8892.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2005-08-01 10:01 <a href="http://www.blogjava.net/selina/archive/2005/08/01/8892.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>「读书笔记」Thinking in Java 3rd Edition - 8: Interfaces &amp; Inner Classes</title><link>http://www.blogjava.net/selina/archive/2005/07/28/8600.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Thu, 28 Jul 2005 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2005/07/28/8600.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/8600.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2005/07/28/8600.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/8600.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/8600.html</trackback:ping><description><![CDATA[<P><STRONG><FONT size=5>8: Interfaces &amp; Inner Classes（接口与内部类）<BR></FONT></STRONG><BR><STRONG><FONT size=4>接口（interface）</FONT></STRONG><BR>当你implements一个interface的时候，你必须把这个interface的方法定义成public的。如果你不这么做，那它就会变成package权限的，这样经过继承，这些方法的访问权限就会受到限制，而这是Java的编译器所不允许的。<BR><STRONG><EM>Java的“多重继承”<BR></EM></STRONG>interface既给了你abstract类的好处，又给了你interface的好处，因此只要基类的设计里面可以不包括妇女干法和成员变量的定义，你就应该优先使用interface。<BR><STRONG><EM>合并接口时的名字冲突<BR></EM></STRONG>在合并的接口里面放上同名方法，通常也会破坏程序的可读性。<BR><STRONG><EM>用继承扩展interface</EM></STRONG><BR>通常情况下，extends只能用于类，但是由于一个interface可以由多个接口拼接而成，因此创建新的interface的时候可以用extends来表示其多个“基接口（base interfaces）”。interface的名字要由逗号分隔。<BR><STRONG><EM>常量的分组<BR></EM></STRONG>interface是一种非常方便的，创建一组常量值的工具。<BR>这种方法通常被称为使用“神奇数字”，并且使得代码的维护变得非常困难。<BR><STRONG><EM>初始化接口中的数据成员<BR></EM></STRONG>这些数据都不算是接口的组成部分，相反它们保存在这个接口的静态存储区内。<BR><STRONG><EM>接口的嵌套</EM></STRONG><BR>实现private接口就成了一种“强制你区定义那个接口的方法，但是又不让你添加任何类型信息（也就是说不允许上传）”的手段了。<BR>接口与接口也可以嵌套，不过接口的规则仍然有效——特别是接口的所有元素都必须是public的这条，因此嵌套在接口中的接口也都自动是public的，它们不能是private的。<BR>特别要注意的是，实现接口的时候，不一定要实现嵌套在里面的接口。同样private接口只能在定义它的类里实现。<BR><BR><STRONG><FONT size=4>内部类<BR></FONT></STRONG>内部类是一种非常有价值的特性，它能让你在逻辑上将相互从属的类组织起来，并且在类的内部控制访问权限。但是切记，内部类和合成是截然不同的，这一点非常重要。<BR><STRONG><EM>内部类与上传</EM></STRONG><BR>普通类（非内部类）是不能被定义成private或protected的；它们只可能是public或package权限的。<BR><STRONG><EM>在方法和作用域里的内部类</EM></STRONG><BR>内部类可以被创建在方法内部，甚至是任何一个作用领域。这么做有两个理由：<BR>1. 就像前面所说的，你在实现某个接口，这样你才能创建并且返回这个接口的reference。<BR>2. 你正在处理一个复杂的问题，需要创建一个类，但是又不想让大家都知道还有这么一个类。<BR><STRONG><EM>匿名内部类</EM></STRONG><BR>如果你在定义匿名内部类的时候，还要用到外面的对象，那编译就会要求你把这个参数的reference声明成final的。如果你忘了，编译的时候就会报错。<BR>实际上实例初始化过程就是匿名内部类的构造函数。当然，它的功能是有限的；你不能重载实例初始化，因此你只能有一个构造函数。<BR><STRONG><EM>与宿主类的关系<BR>嵌套类</EM></STRONG><BR>如果你不需要这种“内部类对象和宿主类对象之间”的联系，那么你可以把内部类定义成static的。潜逃类的意思是：<BR>1. 无须宿主类的对象就能创建嵌套类的对象。<BR>2. 不能在嵌套类的对象里面访问非static的宿主类对象。<BR>普通内部类的成员数据和方法只能到类的外围这一层，因此普通的内部类里不能有static数据，static数据成员或嵌套类。但是，这些东西嵌套类里都可以有。<BR>普通（非static）的内部类需要使用特殊的this reference来与宿主类对象保持联系。而嵌套类不需要这个this reference，这就使得它与static方法有些相似了。<BR><STRONG><EM>引用宿主类的对象<BR>在多层嵌套的类里向外访问<BR>继承内部类</EM></STRONG><BR>等到要创建构造函数的时候，默认的构造函数玩不转了，你必须传给他宿主类对象的reference。此外，你还必须在构造函数里面使用这种语法：<BR>enclosingClassReference.super();<BR>这样才能提供那个必须的reference，而程序也才能编译通过。<BR><STRONG><EM>内部类可以被覆写吗？<BR>本地内部类（Local inner classes）<BR></EM></STRONG>选择本地内部类而不是匿名内部类的唯一原因就是，你必须创建那种类的对象。<BR><STRONG><EM>内部类的标识符（Inner class identifiers）</EM></STRONG><BR><BR><STRONG><FONT size=4>为什么要有内部类？<BR></FONT></STRONG>每个内部类都可以独立地继承某个“实现（implementation）”。因此，内部类不会受“宿主类是否已经继承了别的实现”的约束。<BR>1. 内部类可以有多个实例，而每个又都可以有它自己的，与宿主类对象无关的状态信息。<BR>2. 一个宿主类里可以放上好几个内部类，它们可以用各自不同的方式来实现同一个interface或继承同一个类。<BR>3. 内部类对象创建的时机与宿主类对象的创建没什么关系。<BR>4. 内部类不存在什么让人头晕的“是”关系；他是一个独立的实体。<BR><STRONG><EM>Closure与回调（Closures &amp; Callbacks）</EM></STRONG><BR>创建内部类的时候，别去扩展或者修改宿主类的接口。<BR><STRONG><EM>内部类与控制框架（Inner classes &amp; control frameworks）<BR></EM></STRONG>1. 在一个类里完整地实现整个控制框架，这样就把“实现”里的所有独一无二东西全部都给封装起来了。内部类则用来表示各种解决具体问题所需的action()。<BR>2. 内部类可以让这个实现看上去不至于太古怪，因为它还可以直接访问宿主类的所有成员。要不是这样的话，代码就会变得非常杂乱，这样到最后你肯定会去找一个替代方案的。<BR><BR><STRONG><FONT size=4>总结<BR></FONT></STRONG><BR><STRONG><FONT size=4>练习</FONT></STRONG></P><img src ="http://www.blogjava.net/selina/aggbug/8600.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2005-07-28 10:47 <a href="http://www.blogjava.net/selina/archive/2005/07/28/8600.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>「Pimsleur」JapaneseⅠ- Lesson Four</title><link>http://www.blogjava.net/selina/archive/2005/07/26/8497.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Tue, 26 Jul 2005 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2005/07/26/8497.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/8497.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2005/07/26/8497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/8497.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/8497.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 「Pimsleur」JapaneseⅠ- Lesson Three This is unit four of Pimsleur's Japanese One. Listen to this conversation.すみません、あなたは日本人ですか。はい、私は日本人です。あなたは。私はアメリカ人です。でも、あなたは日本語がよく分かりますね。ええ、少し。でも、まだ、上手じゃありません。いいえ...&nbsp;&nbsp;<a href='http://www.blogjava.net/selina/archive/2005/07/26/8497.html'>阅读全文</a><img src ="http://www.blogjava.net/selina/aggbug/8497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2005-07-26 17:18 <a href="http://www.blogjava.net/selina/archive/2005/07/26/8497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>「读书笔记」Thinking in Java 3rd Edition - 7: Polymorphism</title><link>http://www.blogjava.net/selina/archive/2005/07/26/8469.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Tue, 26 Jul 2005 04:58:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2005/07/26/8469.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/8469.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2005/07/26/8469.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/8469.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/8469.html</trackback:ping><description><![CDATA[<P><STRONG><FONT size=5>7: Polymorphism（多态性）</FONT></STRONG><BR><BR><STRONG><FONT size=4>再访上传（upcasting）</FONT></STRONG><BR><STRONG><EM>把对象的类型忘掉<BR></EM></STRONG><BR><STRONG><FONT size=4>问题的关键<BR></FONT><EM>方法调用的绑定<BR></EM></STRONG>当绑定发生在程序运行之前时（如果有的话，就是由编译器或连接器负责）被称作“前绑定（early binding）”。<BR>“后绑定（late binding）”的意思是要在程序运行的时候，根据对象的类型来决定该绑定哪个方法。后绑定也被称为“动态绑定（dynamic）”或“运行时绑定（run-time binding）”。<BR>除了static和final方法（private方法隐含有final的意思），Java的所有的方法都采用后绑定。也就是说，通常情况下你不必考虑是不是应该采用后绑定——它是自动的。<BR><STRONG><EM>产生正确的行为<BR>可扩展性<BR>错误：“覆写”private的方法<BR></EM></STRONG>只有非private的方法才能被覆写，别用基类的private方法的名字去命名派生类的方法。<BR><BR><STRONG><FONT size=4>抽象类和抽象方法</FONT></STRONG><BR>如果类包含一个或多个抽象方法，那么这个类就必须被定义成abstract的。（否则编译器就会报错了。）<BR>创建一个不包含abstract方法的abstract类，是完全可以的。这种技巧可以用于“不必创建abstract的方法，但是又要禁止别人创建这个类的对象”的场合。<BR><BR><FONT size=4><STRONG>构造函数与多态性<BR></STRONG><FONT size=3>构造函数不是多态的（实际上他们都是static方法，只是声明的时候没有直说）。</FONT><BR></FONT><EM><STRONG>构造函数的调用顺序</STRONG></EM><BR>复杂对象的构造函数的调用顺序：<BR>1. 调用基类的构造函数。这是一个递归过程，因此会先创建继承体系的根，然后是下一级派生类，以此类推，直到最后一个继承类的构造函数。<BR>2. 成员对象按照其声明的顺序进行初始化。<BR>3. 执行继承类的构造函数的正文。<BR><STRONG><EM>继承与清理</EM></STRONG><BR>对象与对象之间有可能会有依赖关系，因此清理的顺序应该与初始化的顺序相反。对数据成员而言，这就是说它们的清理顺序应该与声明的顺序相反（因为数据的初始化是按照声明的顺序进行的）。对基类而言（它采用了C++拆构函数的形式），你应该先进行派生类的清理，再进行基类的清理。<BR><STRONG><EM>多态方法在构造函数中的行为<BR></EM></STRONG>如果你在构造函数里面调用了动态绑定的方法，那么它会使用那个覆写后的版本。<BR>一个好的构造函数应该，“用最少的工作量把对象的状态设置好，而且要尽可能地避免去调用方法。”构造函数唯一能安全调用的方法，就是基类的final方法。（这一条也适合private方法，因为它自动就是final的。）它们不会被覆写，因此也不会产生这种意外的行为。<BR><BR><STRONG><FONT size=4>用继承来进行设计<BR></FONT></STRONG>使用继承来表示行为的不同，而用成员数据来表示不同的状态。<BR><STRONG><EM>纯继承与扩展<BR>下传与运行时的类型鉴别<BR></EM></STRONG><BR><STRONG><FONT size=4>总结</FONT></STRONG><BR><BR><STRONG><FONT size=4>练习</FONT></STRONG></P>
<P align=right><STRONG><A id=Editor_Edit_hlEntryLink title="view: 「读书笔记」Thinking in Java 3rd Edition - 8: Interfaces & Inner Classes" HREF="/selina/archive/2005/07/28/8600.html" target=_self><STRONG><FONT color=#002c99>「读书笔记」Thinking in Java 3rd Edition - 8: Interfaces & Inner Classes</FONT></STRONG></A></STRONG></P><img src ="http://www.blogjava.net/selina/aggbug/8469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2005-07-26 12:58 <a href="http://www.blogjava.net/selina/archive/2005/07/26/8469.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>「读书笔记」Thinking in Java 3rd Edition - 6: Reusing Classes</title><link>http://www.blogjava.net/selina/archive/2005/07/20/8024.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Wed, 20 Jul 2005 01:49:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2005/07/20/8024.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/8024.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2005/07/20/8024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/8024.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/8024.html</trackback:ping><description><![CDATA[<P><FONT size=5><STRONG>6: Reusing Classes（复用类）<BR></STRONG></FONT><BR>第一种非常简单：在新的类里直接创建旧的类的对象。这被称为合成（compostion）。<BR>第二种方法更为精妙。它会创建一个新的，与原来那个类同属一种类型的类。你全盘接受了就类的形式，在没有对它做修改的情况下往里面添加了新的代码。这种神奇的做法被称为继承（inheritance）。<BR><BR><STRONG><FONT size=4>合成所使用的语法</FONT><BR></STRONG>如果你想对reference进行初始化，那么可以在以下几个时间进行：<BR>1. 在定义对象的时候。这就意味着在构造函数调用之前，它们已经初始化完毕了。<BR>2. 在这个类的构造函数里。<BR>3. 在即将使用那个对象之前。这种做法通常被称为“偷懒初始化（lazy initalization）”。如果碰到创建对象的代价很高，或者不是每次都需要创建对象的时候，这种做法就能降低程序的开销了。<BR><BR><STRONG><FONT size=4>继承所使用的语法<BR></FONT></STRONG>继承设计方面有一条通用准则，那就是把数据都设成private的，把方法都设成public的。当然碰到特殊情况还要进行调整，但是这还是一条非常有用的准则。<BR><STRONG><EM>基类的初始化</EM></STRONG><BR>构造行为是从基类“向外”发展的，所以基类会在派生类的构造函数访问它之前先进行初始化。<BR><EM><STRONG>带参数的构造函数<BR></STRONG></EM>如果类没有默认的构造函数（也就是无参数的构造函数），或者你要调用的基类构造函数是带参数的，你就必须用super关键词以及合适的参数明确地调用基类的构造函数。<BR>对派生类构造函数而言，调用基类的构造函数应该是它做的第一件事。<BR><STRONG><EM>捕获基类构造函数抛出的异常</EM></STRONG><BR>编译器会强制你将基类构造函数的调用放在派生类的构造函数的最前面。<BR><BR><STRONG><FONT size=4>把合成和继承结合起来<BR></FONT></STRONG>虽然编译器会强制你对基类进行初始化，并且会要求你在构造函数的开始部分完成初始化，但是它不会检查你是不是进行了成员对象的初始化，因此你只能自己留神了。<BR><STRONG><EM>确保进行妥善地清理<BR></EM></STRONG>先按照创建对象的相反顺序进行类的清理。（一般来说，这要求留着基类对象以供访问。）然后调用基类的清理方法。<BR>最好不要依赖垃圾回收器去做任何与内存回收无关的事情。如果你要进行清理，一定要自己写清理方法，别去用finalize()。<BR><STRONG><EM>名字的遮盖<BR></EM></STRONG><BR><STRONG><FONT size=4>用合成还是继承</FONT></STRONG><BR>合成与继承都能让你将子对象植入新的类（合成是显式的，继承是隐含的）。<BR>合成用于新类要使用旧类的功能，而不是其接口的场合。也就是说，把对象嵌进去，用它来实现新类的功能，但是用户看到的是新类的接口，而不是嵌进去的对象的接口。因此，你得在新类里嵌入private得就类对象。<BR>有时，让用户直接访问新类的各个组成部分也是合乎情理的；这就是说，将成员对象定义成public。<BR>继承要表达的是一种“是（is-a）”关系，而合成表达的是“有（has-a）”关系。<BR><BR><STRONG><FONT size=4>protected</FONT></STRONG><BR>对用户而言，它是private的，但是如果你想继承这个类，或者开发一个也属于这个package的类的话，就可以访问它了。（Java的protected也提供package的权限。）<BR>最好的做法是，将数据成员设成private的；你应该永远保留修改底层实现的权利，然后用protected权限的方法来控制继承类的访问权限。<BR><BR><STRONG><FONT size=4>渐进式的开发</FONT><BR></STRONG><BR><STRONG><FONT size=4>上传</FONT><BR><EM>为什么叫“上传”？</EM></STRONG><BR>把派生类传给基类就是沿着继承图往上送，因此被称为“上传（upcasting）”。上传总是安全的，因为你是把一个较具体的类型转换成较为一般的类型。也就是说派生类是基类的超集（superset）。它可能会有一些基类所没有的方法，但是它最少要有基类的方法。在上传过程中，类的接口只会减小，不会增大。<BR><STRONG><EM>合成还是继承，再深讨</EM></STRONG><BR>运用继承的时候，你应该尽可能的保守，只有在它能带来很明显的好处的时候，你才能用。在判断该使用合成还是继承的时候，有一个简单的办法，就是问一下你是不是会把新类上传给基类。如果你必须上传，那么继承就是必须的，如果不需要上传，那么就该再看看是不是应该用继承了。<BR><BR><STRONG><FONT size=4>final关键词</FONT></STRONG><BR>设计和效率<BR>final的三种用途：数据（data），方法（method）和类（class）<BR><STRONG><EM>final的数据<BR></EM></STRONG>常量能用于下列两个情况：<BR>1. 可以是“编译时的常量（compile-time constant）”，这样就再也不能改了。<BR>2. 也可以是运行时初始化的值，这个值你以后就不想再改了。<BR>如果是编译时的常量，编译器会把常量放到算式里面；这样编译的时候就能进行计算，因此也就降低了运行时的开销。在Java中这种常量必须是primitive型的，而且要用final关键词表示。这种常量的赋值必须在定义的时候进行。<BR>一个既是static又是final的数据成员会只占据一段内存，并且不可修改。<BR>对primitive来说，final会将这个值定义成常量，但是对于对象的reference而言，final的意思则是这个reference是常量。初始化的时候，一旦将reference连到了某个对象，那么它就再也不能指别的对象了。但是这个对象本身是可以修改的；Java没有提供将某个对象作成常量的方法。（但是你可以自己写一个类，这样就可以把类当作常量了。）这种局限性也体现在数组上，因为它也是一个对象。<BR><STRONG><EM>空白的final的数据（Blank finals）</EM></STRONG><BR>Java能让你创建“空白的final数据（blank finals）”，也就是说把数据成员声明成final的，但却没给初始化的值。碰到这种情况，你必须先进行初始化，在世用空白的final数据成员，而且编译器会强制你这么做。不过，空白的final数据也提供了一种更为灵活的运用final关键词方法，比方说，现在对象里的final数据就能在保持不变性的同时又有所不同了。<BR>你一定得为final数据赋值，要么是在定义数据的时候用一个表达式赋值，要么是在构造函数里面进行赋值。为了确保final数据在使用之前已经进行了初始化，这一要求是强制的。<BR><STRONG><EM>Final的参数<BR></EM></STRONG>Java允许你在参数表中声明参数是final的，这样参数也变成final了。也就是说，你不能在方法里让参数 reference指向另一个对象了。<BR><STRONG><EM>Final方法</EM></STRONG><BR>使用final方法的目的有二。第一，为方法上“锁”，进制派生类进行修改。第二个原因就是效率。<BR><STRONG><EM>final和private</EM></STRONG><BR>如果方法是private的，那它就不属于基类的接口。它只能算是被类隐藏起来的，正好有着相同的名字的代码。如果你在派生类里创建了同名的public或protected，或package权限的方法，那么它们同基类中可能同名的方法，没有任何联系。你并没有覆写那个方法，你只是创建了一个新的方法。<BR><STRONG><EM>Final类</EM></STRONG><BR>把整个类都定义成final的（把final关键词放到类的定义部分的前面）就等于在宣布，你不会去继承这个类，你也不允许别人去继承这个类。<BR>final类的数据可以是final的，也可以不是final的，这要由你来决定。无论类是不是final的，这一条都适用于“将final用于数据的”场合。但是，由于final类精致了继承，覆写方法已经不可能了，因此所有的方法都隐含地变成final了。<BR><STRONG><EM>小心使用final</EM></STRONG><BR><BR><FONT size=4><STRONG>初始化与类地装载</STRONG><BR></FONT>第一次使用static数据的时候也是进行初始化的时候。装载的时候，static对象和static代码段会按照它们字面的顺序（也就是在程序中出现的顺序）进行初始化。当然static数据只会初始化一次。<BR><STRONG><EM>继承情况下的初始化</EM></STRONG><BR>1. 装载程序。先装载派生类，然后装载基类。<BR>2. 执行“根基类（root base class）”。先是基类的static初始化，然后是派生类的static初始化。<BR>3. 创建对象。首先，primitive都会被设成它们的缺省值，而reference也会被设成null。然后，调用基类的构造函数，再调用派生类的构造函数。<BR><BR><STRONG><FONT size=4>总结<BR></FONT></STRONG><BR><STRONG><FONT size=4>练习</FONT></STRONG></P>
<P align=right><STRONG><A id=Editor_Edit_hlEntryLink title="view: 「读书笔记」Thinking in Java 3rd Edition - 7: Polymorphism" HREF="/selina/archive/2005/07/26/8469.html" target=_self><STRONG><FONT color=#002c99>「读书笔记」Thinking in Java 3rd Edition - 7: Polymorphism</FONT></STRONG></A></STRONG></P><img src ="http://www.blogjava.net/selina/aggbug/8024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2005-07-20 09:49 <a href="http://www.blogjava.net/selina/archive/2005/07/20/8024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>全球100个最有价值的品牌(The 100 Top Brands)</title><link>http://www.blogjava.net/selina/archive/2005/07/19/7985.html</link><dc:creator>Selina</dc:creator><author>Selina</author><pubDate>Tue, 19 Jul 2005 06:42:00 GMT</pubDate><guid>http://www.blogjava.net/selina/archive/2005/07/19/7985.html</guid><wfw:comment>http://www.blogjava.net/selina/comments/7985.html</wfw:comment><comments>http://www.blogjava.net/selina/archive/2005/07/19/7985.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/selina/comments/commentRss/7985.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/selina/services/trackbacks/7985.html</trackback:ping><description><![CDATA[<FONT color=#000080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这100个品牌中没有一个是我们中国自己的品牌，但是非常奇怪的是很多品牌能有这样好的成绩应该归功于中国这个超级大市场吧。不知道什么时候我们自己的品牌才能出现在这个榜单上，让我们成为真正的大户——销售大户，而不只是消费大户。 <BR></FONT>
<DIV align=center><FONT color=#000080>
<HR>
<IMG height=767 alt="The 100 Top Brands 1.jpg" src="http://www.blogjava.net/images/blogjava_net/selina/The%20100%20Top%20Brands%201.jpg" width=557 border=0><BR><BR><IMG height=767 alt="The 100 Top Brands 2.jpg" src="http://www.blogjava.net/images/blogjava_net/selina/The%20100%20Top%20Brands%202.jpg" width=557 border=0><BR><BR><IMG height=767 alt="The 100 Top Brands 3.jpg" src="http://www.blogjava.net/images/blogjava_net/selina/The%20100%20Top%20Brands%203.jpg" width=557 border=0><BR><BR><IMG height=767 alt="The 100 Top Brands 4.jpg" src="http://www.blogjava.net/images/blogjava_net/selina/The%20100%20Top%20Brands%204.jpg" width=557 border=0></FONT></DIV><img src ="http://www.blogjava.net/selina/aggbug/7985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/selina/" target="_blank">Selina</a> 2005-07-19 14:42 <a href="http://www.blogjava.net/selina/archive/2005/07/19/7985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>