﻿<?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/zhong39/</link><description>手中没有剑，我如何保护她；手中握着剑，我如何抱紧她！</description><language>zh-cn</language><lastBuildDate>Tue, 09 Jun 2026 15:52:46 GMT</lastBuildDate><pubDate>Tue, 09 Jun 2026 15:52:46 GMT</pubDate><ttl>60</ttl><item><title>使用String.split()方法时要注意的问题</title><link>http://www.blogjava.net/zhong39/archive/2007/10/09/151269.html</link><dc:creator>逝去的圣男</dc:creator><author>逝去的圣男</author><pubDate>Tue, 09 Oct 2007 02:06:00 GMT</pubDate><guid>http://www.blogjava.net/zhong39/archive/2007/10/09/151269.html</guid><wfw:comment>http://www.blogjava.net/zhong39/comments/151269.html</wfw:comment><comments>http://www.blogjava.net/zhong39/archive/2007/10/09/151269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhong39/comments/commentRss/151269.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhong39/services/trackbacks/151269.html</trackback:ping><description><![CDATA[<div class="tit">&nbsp;</div>
<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt">
            <div><font face="宋体">在使用<span>String.split</span>方法分隔字符串时，分隔符如果用到一些特殊字符，可能会得不到我们预期的结果。</font> <span>我们看<span>jdk doc</span>中说明:</span> <br />
            <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><span style="font-size: 10pt">public </span><span style="font-size: 12pt"><span style="font-size: 10pt">String</span></span><span style="font-size: 10pt">[] <strong>split</strong>(</span><span style="font-size: 12pt"><span style="font-size: 10pt">String</span> </span><span style="font-size: 10pt">regex)<br />
            <br />
            </span><span style="font-size: 10pt">Splits this string around matches of the given </span><span style="font-size: 12pt"><span style="font-size: 10pt">regular expression</span></span> <span style="font-size: 10pt">. <br />
            &nbsp;&nbsp;&nbsp; </span><span>参数</span><span>regex</span><span>是一个</span><span> regular-expression</span><span>的匹配模式而不是一个简单的</span><span>String</span><span>，他对一些特殊的字符可能会出现你预想不到的结果，比如测试下面的代码：</span> <span style="font-size: 9pt"><br />
            <br />
            </span><span>用竖线</span><span> | </span><span>分隔字符串，你将得不到预期的结果</span> <span><br />
            </span><span>&nbsp;&nbsp;&nbsp; String[] aa = "aaa|bbb|ccc".split("|");<br />
            &nbsp;&nbsp; //String[] aa = "aaa|bbb|ccc".split("\\|"); </span><span>这样才能得到正确的结果</span> <span><br />
            <br />
            </span><span>&nbsp;&nbsp;&nbsp; for (int i = 0 ; i <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("--"+aa[i]); <br />
            &nbsp;&nbsp;&nbsp; } </span></p>
            <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><span>用竖</span><span> * </span><span>分隔字符串运行将抛出</span><span>java.util.regex.PatternSyntaxException</span><span>异常<br />
            ，用加号</span><span> + </span><span>也是如此。</span> </p>
            <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><span>&nbsp;&nbsp;&nbsp; String[] aa = "aaa*bbb*ccc".split("*");<br />
            &nbsp;&nbsp;&nbsp; //String[] aa = "aaa|bbb|ccc".split("\\*"); </span><span>这样才能得到正确的结果</span><span>&nbsp;&nbsp;&nbsp; </span></p>
            <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><span>&nbsp;&nbsp;&nbsp; for (int i = 0 ; i <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("--"+aa[i]); <br />
            &nbsp;&nbsp;&nbsp; } </span></p>
            <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显然，</span><span>+ * </span><span>不是有效的模式匹配规则表达式，用</span><span>"\\*" "\\+"</span><span>转义后即可得到正确的结果。</span> <span>"|" </span><span>分隔串时虽然能够执行，但是却不是预期的目的，</span><span>"\\|"</span><span>转义后即可得到正确的结果。</span> </p>
            <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 还有如果想在串中使用</span><span>"\"</span><span>字符，则也需要转义</span><span>.</span><span>首先要表达</span><span>"aaaa\bbbb"</span><span>这个串就应该用</span><span>"aaaa\\bbbb",</span><span>如果要分隔就应该这样才能得到正确结果：</span> </p>
            <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><span>String[] aa = "aaa\\bbb\\bccc".split("\\\\");</span> </p>
            <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><br />
            最后，请运行这个程序，并更正程序中的错误：<br />
            <br />
            </p>
            <pre>public class Untitled1 {<br />
            public static void main(String[] args) {<br />
            String aa = "123|-|abc|-|edf|-|ghi|-|432|-|dfa";<br />
            String[] a = aa.split("|-|");   //这里改成 aa.split("\\|\\-\\|") 才能得到正确结果<br />
            int i;<br />
            for(i=0;i&lt; a.length;i++)<br />
            System.out.println(a[i]);<br />
            }<br />
            }<br />
            <br />
            <br />
            ========================<br />
            <br />
            在java.lang包中有String.split()方法，返回是一个数组<br />
            我在应用中用到一些，给大家总结一下，仅供大家参考：<br />
            1、如果用&#8220;.&#8221;作为分隔的话，必须是如下写法：String.split("\\."),这样才能正确的分隔开，不能用String.split(".");<br />
            2、如果用&#8220;|&#8221;作为分隔的话，必须是如下写法：String.split("\\|"),这样才能正确的分隔开，不能用String.split("|");<br />
            &#8220;.&#8221;和&#8220;|&#8221;都是转义字符，必须得加"\\";<br />
            3、如果在一个字符串中有多个分隔符，可以用&#8220;|&#8221;作为连字符，比如：&#8220;acount=? <br />
            and uu =? or n=?&#8221;,把三个都分隔出来，可以用String.split("and|or"); </pre>
            </div>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/zhong39/aggbug/151269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhong39/" target="_blank">逝去的圣男</a> 2007-10-09 10:06 <a href="http://www.blogjava.net/zhong39/archive/2007/10/09/151269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写给想当程序员的朋友—一个还不太老的普通程序员的体会 </title><link>http://www.blogjava.net/zhong39/archive/2007/09/20/146719.html</link><dc:creator>逝去的圣男</dc:creator><author>逝去的圣男</author><pubDate>Thu, 20 Sep 2007 03:18:00 GMT</pubDate><guid>http://www.blogjava.net/zhong39/archive/2007/09/20/146719.html</guid><wfw:comment>http://www.blogjava.net/zhong39/comments/146719.html</wfw:comment><comments>http://www.blogjava.net/zhong39/archive/2007/09/20/146719.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhong39/comments/commentRss/146719.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhong39/services/trackbacks/146719.html</trackback:ping><description><![CDATA[<p>软件以程序员为本————《程序员》　</p>
<p>&nbsp;谨以此文献给所有想当程序员的朋友 <br />
<br />
（一） 文章由来及个人经历 <br />
<br />
我是一名计算机专业的本科毕业生，毕业已经1年多了。毕业后从事的是软件编程工作，经常有其他专业的朋友想从事软件编程工作，向我请教如何，因为我自觉涉行不深，不敢信口开河，无奈朋友信任，我不得不郑重考虑一下这个问题了，来帮助朋友选择和回报朋友的信任。 <br />
<br />
这也就是此文的由来。 <br />
<br />
还是先谈谈我个人的经历吧。（是不是有点俗套，但我觉得了解我的经历，有助于理解我话的含义；我一向认为不了解古龙的生活经历的，不会真正读懂古龙的作品和古龙笔下的英雄的）我本科就读于南方一所著名的高校（因为自己的不成气，愧谈母校名谓），学的就是计算机专业。上本科时，几乎没有认真的听完一门专业课程，上课看报纸睡大觉，下课看录像看小说看球赛，临考抱佛脚，每次考试和课程设计都是蒙混过关。（于之相对是，我选修的工商管理和经济贸易方面的课到是听得不亦乐乎，考的分数颇高，也许这才是我的真正兴趣所在。） <br />
<br />
总而言之，大学是混过来了，对专业的理解和掌握程度，应该没有达到毕业要求的合格水平。（也很后悔，但是有什么用呢，当时不知道珍惜；如果上天再给我一次机会的话，我一定会抓住，多看点美国大片少看点港片；现在，重回校园是我的一大理想）但是大学的学习使我有了一个简单的知识框架（总算学费没白交），我对一个朋友这样形容过我的这个知识框架，&#8220;它不是钢筋铸的，是稻草扎的&#8221;，哈哈哈，不要笑，真的，我敢说很多本科毕业的朋友的本专业的知识框架也只不过是&#8220;稻草扎的&#8221;。直到现在，我一直觉得自己的基础知识还是很薄弱，一直想抓点时间，把基础书本好好的温习一下。（此项任务正在计划和实施中） <br />
<br />
毕业后，分配到某研究所工作。当领导让我选择自己以后的工作方向时，我毫不犹豫的选择了软件（也不知道到底是对还是错，但我决不后悔）。此研究所主要是以<font color="#3366cc">硬件</font>为核心搞<font color="#3366cc">通信</font>控制设备的研发生产；软件是辅助，所以也不受什么重视，很多搞软件的人都跳槽走了，留下来的大都是一些已经废掉和行将废掉的&#8220;伪/萎&#8221;程序员（名副其实的&#8220;软件人员&#8221;）。在这里感觉不到什么高紧张和高技术程度的研究和开发；<font color="#3366cc">软件开发</font>的技术含量极低，以致于大部分人只有半年的学习和开发经验，以后都是这些知识和经验的重复利用。（我问过其他到研究所工作的同学，他们说都一样，呜呼，我们的国防科研开发呀）对于软件的开发，领导的意志和老掉牙的经验在新课题的技术采用和开发中起了决定性作用，没有明确的需求，没有明确的开发计划和进度，大家在一天一天一周一周的浪费着宝贵的时间，最后开发出来的东西修来改去，直至它变成垃圾。 我越来越认识到一点，要么象那些废人一样废掉，要么自己去努力寻求出路，反正别指望从工作中得到什么高明的经验了（教训倒也许有）。期间发生了一些感情上的纠纷，严重的影响了学习计划和效果，直到现在浮躁的心仍然有些浮躁。 <br />
<br />
期间，我读了一些书，看了一些文章，编过一些小例程，搞了一些没有什么技术含量的开发工作，也和一些前辈和高手们谈过聊过。 我一直在思考几个问题；如何学习软件开发？如何搞软件开发，国外的软件开发到底其秘诀在何处？为何我们的软件业一直在低水平徘徊？我们难道真的离了Microsoft就活不了？我们的程序员到底在浪费时间干些什么？软件开发到底是如何分类的？我们如何走自己的民族软件之路？ <br />
<br />
我想了很久，一些想通了，一些还在想。但我知道有一点是肯定的，那就是我们一定要靠我们自己走出自己的软件之路！跟在别人屁股后面永远受制于人！ <br />
<br />
好了，关于经历和牢骚就先写这些吧，该进入我们的正题了。 <br />
<br />
（二） 你适合当程序员吗，你知道编程序是怎么回事吗？ <br />
<br />
1、 程序员意味着要编程序。（如果你仅仅想得到一份高薪水的工作，喝喝咖啡就等老板发薪水，我奉劝你还是另找一份更合适的工作，譬如练摊，真的，兄弟，这份工作不适合你） <br />
<br />
2、你是学文的还是学理的，编程序也许需要浪漫，但更需要逻辑和严谨。（说坦白点就是，在你没有找到乐趣以前，它很枯燥） <br />
<br />
3、你有对新技术追求的热情吗？你有刨根问底的探索精神吗？（热情绝对是最重要的！你仔细思考一下自己的性格适合当程序员吗？） <br />
<br />
4、当程序员决不是什么好差事，时刻需要学习，需要思考。（直到你成为那个可以引导别人去学习和思考的人，你才可以偷偷的嘿嘿笑，又一群傻蛋） <br />
<br />
5、程序员的未来很迷茫。（但我认为关键看你自己！我希望你是一个有追求的人，不仅仅是混碗饭吃。因为真正的乐趣在于创造；如果你能改变软件业的历史，那才是英雄；不想成为Bill Gates，不想成为Dennis Ritchie和 Bjarne Stroustrup，我会说你没有追求。有个关于程序员未来的笑话，也许你还没听过，你该听一听，摘抄如下： <br />
一个程序员对自己的未来很迷茫，于是去问上帝。 <br />
&#8220;万能的上帝呀，请你告诉我，我的未来会怎样？&#8221; <br />
上帝说&#8220;我的孩子，你去问Lippman，他现在领导的程序员的队伍可能是地球上最大的&#8221; <br />
于是他去问Lippman。 <br />
Lippman说&#8220;程序员的未来就是驾驭程序员&#8221; <br />
这个程序员对这个未来不满意，于是他又去问上帝。 <br />
&#8220;万能的上帝呀，请你告诉我，我的未来会怎样？&#8221; </p>
<p><br />
上帝说&#8220;我的孩子，你去问Gates，他现在所拥有的财产可能是地球上最多的&#8221; <br />
于是他去问Gates。 <br />
Gates说&#8220;程序员的未来就是榨取程序员&#8221; <br />
这个程序员对这个未来不满意，于是他又去问上帝。 <br />
&#8220;万能的上帝呀，请你告诉我，我的未来会怎样？&#8221; <br />
上帝说&#8220;我的孩子，你去问侯捷，他写的计算机书的读者可能是地球上最多的&#8221;</p>
<p>&nbsp;<br />
于是他去问侯捷。 <br />
侯捷说&#8220;程序员的未来就是诱惑程序员&#8221; <br />
这个程序员对这个未来不满意，于是他又去问上帝。 <br />
&#8220;万能的上帝呀，请你告诉我，我的未来会怎样？&#8221; <br />
上帝摇摇头&#8220;唉，我的孩子，你还是别当程序员了&#8221;） <br />
<br />
6、当程序员还是很有乐趣的。（当你学到新知识时，当你有新的思想见解时，当你有新的产品问世时，和知己探讨你的成果时&#8230;我问你，觉得这些是乐趣吗？） <br />
<br />
7、当程序员不易也不难。（世间事有难易乎？为之&#8230;；不为&#8230;。你有决心和信心吗？） <br />
<br />
8、你真的要当程序员？是你自己的想法？ <br />
<br />
9、你舍得花钱买书吗？（读好书绝对是学习编程的最佳捷径。你一定会说，现在电脑书籍真T.M.D贵，没法子，谁让知识和技术在人家的脑袋，在人家的书里呢；等你写书时可以把价格定低一点，记着还有好多没钱但想买书的兄弟很困难呀。要舍得买书，买好书，不好的的书不如不读，其害大于其益，关于买什么书，你可以问高手或看候捷的书评；准备一个小本子记录你想买的书的名字，逛书店时看看，如果好就买下，记住要读，别光买不看。） </p>
<p>10、我告诉你，程序就是：任何有目的的、预想好的动作序列，它是一种软件。 <br />
<br />
11、编程序就是编写程序。 <br />
<br />
12、你想好了吗？（如果你想好了还是决定要当程序员，可以继续往下读；否则，你可以继续寻找别的出路了。） <br />
（三） 一个程序员应该具备的基础知识和概念 <br />
<br />
1、计算机是有什么组成的，CPU是什么东西，其工作原理是什么。（对于这些以及下面将要提到的概念我不会告诉你什么答案，你可以看相应的教材，关于教材我会在下一部分详述，记住理解最重要！） <br />
<br />
2、机器语言和微指令集的概念。 <br />
<br />
3、程序的概念。 <br />
<br />
4、<a href="http://dev.21tx.com/language/masm/" target="_blank"><font color="#3366cc">汇编</font></a>语言是低级语言但不是机器语言。 <br />
<br />
5、高级语言主要有那些？（C，C＋＋，Basic，Pascal，Fortran，<a href="http://dev.21tx.com/dotnet/csharp/" target="_blank"><font color="#3366cc">C#</font></a>，<a href="http://dev.21tx.com/java/" target="_blank"><font color="#3366cc">Java</font></a>等等；如果你是中国软件业的英雄，你也写一门语言，最好不用英语） 6、编译程序和解释程序的概念和其原理。（编译器是高手和专家编写的） <br />
<br />
7、HTML、<a href="http://dev.21tx.com/web/xml/" target="_blank"><font color="#3366cc">XML</font></a>等是标识性语言。 <br />
<br />
8、Prolog是人工智能语言。 <br />
<br />
9、<a href="http://dev.21tx.com/os/" target="_blank"><font color="#3366cc">操作系统</font></a>OS的概念和原理。（<a href="http://dev.21tx.com/os/windows/" target="_blank"><font color="#3366cc">Windows</font></a>98，Windows2000，Windows NT，WindowsXP，UNIX，<a href="http://dev.21tx.com/os/linux/" target="_blank"><font color="#3366cc">Linux</font></a>，等等都是OS，还有一些实时OS，嵌入OS，编这些的绝对是高手） <br />
<br />
10、Windows编程说白了就是Windows API的调用。（中国的程序员很多只是会编windows程序，用的是<a href="http://dev.21tx.com/language/vb/" target="_blank"><font color="#3366cc">VB</font></a>，我的建议是这些程序员顶多只是低级编码员，我称其是coder） <br />
<br />
11、<a href="http://dev.21tx.com/language/vc/" target="_blank"><font color="#3366cc">VC</font></a>＋＋、VB、BC、<a href="http://dev.21tx.com/language/bcb/" target="_blank"><font color="#3366cc">BCB</font></a>、<a href="http://dev.21tx.com/language/delphi/" target="_blank"><font color="#3366cc">Delphi</font></a>、VF等都只是编程的工具和环境，不是编程语言。 <br />
<br />
12、面向结构的设计概念。 <br />
<br />
13、面向对象的概念。（好好理解，兄弟，这个东西还是很重要的） <br />
<br />
14、<a href="http://dev.21tx.com/softengine/" target="_blank"><font color="#3366cc">软件工程</font></a>的概念和原理。（如果你想当老总就需要好好研究了，系统分析员比编码员要高一个等级，薪水也高哟） <br />
<br />
15、<a href="http://dev.21tx.com/database/" target="_blank"><font color="#3366cc">数据库</font></a>的概念。（要熟悉一些著名的数据库系统和语言的名字，如Orcle，SQL，<a href="http://dev.21tx.com/database/db2/" target="_blank"><font color="#3366cc">DB2</font></a>，DyBase等） <br />
<br />
16、了解网络概念。 <br />
<br />
17、了解多媒体概念。 <br />
<br />
18、熟悉和掌握数据结构和基本算法。 <br />
<br />
19、是不是要求太高了，别着急慢慢来，进步在不知不觉之中。（一旦开始学习，一个月以后你就会有一个基本的概念；两个月以后你就会感觉自己有了全面的基础知识；当你知道编程序是怎么回事时，说明你已经入门了。也有很多人编了很多年程序还没有入门呢，你不会希望自己步其后尘吧。要有信心和耐心。沉不住气怎么能成大事？！） <br />
<br />
（四） 教材推荐 <br />
<br />
――－推荐的教材主要还是针对概念来的，最好选用名校的教学用书。 <br />
<br />
1、《计算机组成原理》（熟悉） <br />
<br />
2、《数据结构》（掌握） <br />
<br />
3、《操作系统》（了解-&gt;熟悉） <br />
<br />
4、《The C language》（掌握） <br />
<br />
5、《编译原理》（了解原理） <br />
<br />
6、《汇编语言》（了解） <br />
<br />
7、《计算机网络》（了解） <br />
<br />
8、《软件工程》（了解） <br />
<br />
9、《关系数据库》（熟悉） <br />
<br />
10、《The C＋＋Languege 》（掌握） <br />
<br />
11、《面向对象设计》（掌握；结合<a href="http://dev.21tx.com/language/c/" target="_blank"><font color="#3366cc">C++</font></a>学习） <br />
<br />
（五）一些经验和体会 <br />
<br />
1、真正的程序员用C++；（一位专家说的） <br />
<br />
2、动手去编程序； <br />
<br />
3、动脑去思考； <br />
<br />
4、要有良好的编程风格； <br />
<br />
5、读书，读好书，尽量读原版书！（我反复强调这一点，读书要有选择，坚持读好书，名家出的经典书，不要浪费实践在一些粗制滥造的书上面；坚持博览群书） <br />
<br />
6、有自己的学习计划； <br />
<br />
7、总结自己的经验教训；（准备一个<a href="http://www.21tx.com/notebook/" target="_blank"><font color="#3366cc">笔记本</font></a>，记录错误和心得） <br />
<br />
8、不要怕学新东西； <br />
<br />
9、要有软件工程的思想； <br />
<br />
10、善于发现问题，然后去寻找答案； <br />
<br />
11、向高手请教；（要虚心直到你成为高手） <br />
<br />
12、和同行交流；（不善于交流肯定不行） <br />
<br />
13、懂得软件的实质，不要被千变万化的表象所迷惑； <br />
<br />
14、真正要学习用的是编程语言和方法，不是什么库，什么类，什么工具；（学用那些什么库都比较简单，但光会这些库，我觉得还远远不够） <br />
<br />
15、学习wiodows编程主要是学习windows OS和win32 API； <br />
<br />
16、有空了解一下嵌入式开发； <br />
<br />
17、有空了解一下PDA软件开发； <br />
<br />
18、了解一下<a href="http://dev.21tx.com/dotnet/" target="_blank"><font color="#3366cc">.net</font></a>框架和C#语言，也许它是你新的衣食父母； <br />
<br />
19、要有耐心，不要作浮躁的人； 20、对程序加注释，并保留你的老程序； <br />
<br />
21、学到的东西越多，了解的越多，你就越接近专家； <br />
<br />
22、有空去逛逛CSDN，那里有你很多知己； <br />
<br />
23、要有信心成为一个优秀的程序； <br />
<br />
（六）一些好书的推荐 <br />
<br />
1、《The C Programming language》 （Keinighan &amp; Dennis Ritchie 1988） <br />
<br />
2、《The C++ Programming Languague》（Bjarne Stroustrup 1997） <br />
<br />
3、《Inside The C++ Object Model》 （lippmans） <br />
<br />
4、《Effective C++》 （同上） <br />
<br />
5、《More Effective C++》 （同上） <br />
<br />
6、《Exceptional c++》 <br />
<br />
7、《C++面向对象高效编程》 <br />
<br />
8、《设计模式》 <br />
<br />
9、《Thinking In C++》 <br />
<br />
10、《The Standard C++ Bible》（一般推荐） <br />
<br />
11、《The Art of Computer Programming 》 <br />
<br />
12、《Programming Windows》 （Charles Petzold） <br />
<br />
13、《VC++5.0技术内幕》 <br />
<br />
14、《MFC 深入浅出》 <br />
<br />
15、《软件需求》 <br />
<br />
16、《Advanced Windows》 <br />
<br />
17、《C++ primer》 <br />
<br />
18、《win32程序员参考手册》 <br />
<br />
19、《用TCP/IP进行网际互连》 <br />
<br />
20、《COM 本质论》 <br />
<br />
（七）学习计划 <br />
<br />
――－这个学习计划是我个人定的，也共享给大家参考一下，共同进步吧。 1、《计算机组成原理》 <br />
<br />
2、《操作系统》 <br />
<br />
3、《数据结构》 <br />
<br />
4、《汇编语言》 <br />
<br />
5、《 C 》 <br />
<br />
6、《 C++ 》 <br />
<br />
7、《VC 技术内幕》 <br />
<br />
8、《Programming Windows》 <br />
<br />
9、《深入浅出MFC》 <br />
<br />
10、《Advanced Windows》 <br />
<br />
11、《Inside The C++ Object Model》 <br />
<br />
12、《Thinking in C++》 <br />
<br />
13、《Effective C++》 <br />
<br />
14、数据库 <br />
<br />
15、网络 <br />
<br />
16、嵌入式OS和编程 <br />
<br />
17、硬件单片机 <br />
<br />
18、.NET和C# <br />
<br />
19、软件工程 <br />
<br />
20、UNIX和Linux <br />
<br />
<br />
（八）后记 <br />
<br />
一年来浪费了大量的时间去摸索，去思考，走了很多的弯路，直到现在我还觉得自己是个编程的门外汉。我把我的一些体会和想法说出来（当然，很多都不一定正确，欢迎大家指正和讨论），也许对一些想加入程序员行列的朋友有一些建议和帮助。希望能帮助这些朋友顺利走上编程之路，成为高手。 <br />
<br />
我要说明的就是我的这篇小文，主要是想给&#8220;一些想成为程序员&#8221;的朋友一些建议，帮他们寻找一条自我培训的捷径，（其实世界上没有什么捷径的，我觉得一切都在于悟性，师傅领进门，修行在个人，譬如我就修行不够）少象我一样作大量的无用功。还有，主要就是一个程序员应该具备的基本功（个人看法）,有人称其为&#8220;内功&#8221;，我觉得很对。没有扎实的基本功，我们如何能够做到游刃有余的编写高质量高性能的优秀程序呢？ </p>
<p>后记：原文发表在&#8220;csdn－<a href="http://dev.21tx.com/codinglife/" target="_blank"><font color="#3366cc">程序人生</font></a>&#8221;上了　作者:风化 <br />
</p>
<img src ="http://www.blogjava.net/zhong39/aggbug/146719.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhong39/" target="_blank">逝去的圣男</a> 2007-09-20 11:18 <a href="http://www.blogjava.net/zhong39/archive/2007/09/20/146719.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员的酸甜苦辣—写在即将告别coding的时刻 </title><link>http://www.blogjava.net/zhong39/archive/2007/09/20/146710.html</link><dc:creator>逝去的圣男</dc:creator><author>逝去的圣男</author><pubDate>Thu, 20 Sep 2007 03:05:00 GMT</pubDate><guid>http://www.blogjava.net/zhong39/archive/2007/09/20/146710.html</guid><wfw:comment>http://www.blogjava.net/zhong39/comments/146710.html</wfw:comment><comments>http://www.blogjava.net/zhong39/archive/2007/09/20/146710.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhong39/comments/commentRss/146710.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhong39/services/trackbacks/146710.html</trackback:ping><description><![CDATA[<p>毕业找工作时，我曾对朋友说：&#8220;程序员这个称谓，是一个荣誉。&#8221;过去的一切仿佛还在眼前，然而三天后，我就要告别程序员这个职业了。</p>
<p><br />
将来，我或许还会偶尔写写代码自娱自乐，我还会保持着单词第一个字母大写的&#8220;职业病&#8221;。程序员，这普普通通三个字，凝聚着我一年多的激情和汗水，一年多的喜怒哀乐，一年多的酸甜苦辣，还有许多许多说不出的感情。 </p>
<p><strong>酸</strong></p>
<strong></strong>
<p><br />
曾几何时，&#8220;搞技术&#8221;成了&#8220;木讷&#8221;的代名词。程序员，似乎更擅长和机器沟通，与人沟通的能力往往欠佳，于是，程序员的感情成为沙漠，辛酸也只能埋在心底。</p>
<p><br />
在撒哈拉沙漠的一个部落，流传着许多关于水的传说，原因很简单，这里长期缺水。水源里，随处可见的感情贴、处女贴还有YY贴，恰恰反衬了程序员感情世界的空虚。我的一些同事，到了26岁还没有过感情经历，不能不说是一个遗憾。</p>
<p><br />
其实，程序员并不是木讷，而是单纯，并不是无情，而是痴情。真正深厚的情感，是只可意会而不可言传的。如果说感情是水，那么程序员的感情，就如一潭深水，平静而深沉。</p>
<p><strong>甜</strong></p>
<strong></strong>
<p><br />
网上流传一篇很有意思的文章，调侃程序员和妓女&#8220;最大的共性是——得到快乐的同时，又得到了金钱&#8221;。时至今日，靠一个WPS打遍天下的神话已经一去不复返了，但是无可否认，程序员们最大的乐趣，往往还就是编程序。<br />
金山招聘的广告词：&#8220;你想让自己写的程序运行在每一台电脑上吗？&#8221;我大学的专业是土木工程，放弃本专业的工作机会，进入了程序员的行列，正是因为对编程的喜爱，还有&#8220;让自己写的程序运行在每一台电脑上&#8221;的那种成就感。</p>
<p><br />
程序员其实很容易满足，我们要的，就是那种被认可的成就感，还有那一点小小的虚荣。曾经外出测试，看着自己写的程序在用户的机器上运行，那一刻的心情，真可谓甘之如饴。</p>
<p><strong>苦</strong><br />
做软件开发苦，这早已经是IT行业公开的秘密。选择了程序员这个职业，就意味着要和无穷无尽的加班熬夜做伴，对身体和感情，都是一个考验。</p>
<p><br />
遍观身边的同事，工作三年以上的，谁没有个颈椎病什么的？听华为的兄弟讲过一个真实的故事：在开发一个嵌入式项目的时候，一个同事白天7点上班，晚上11点回家，有时候甚至连续通宵，项目结束了，他的老婆也正式向他提出离婚了。</p>
<p><br />
至于自己，短短一年多频繁加班，胃和颈椎先后向我亮出了黄牌，所幸头顶上尚未出现一根白发，看看四周环绕的地中海和白头翁，竟颇为自得。</p>
<p><strong>辣<br />
</strong></p>
<p><br />
几个月以前我曾经在博客上发过一篇文章，题目是《叫我如何&#8220;踏实&#8221;——写给李可文》。社会是一个大环境，企业是一个小环境，当整个社会盛行虚浮之风，当整个行业失去方向，当程序员们对自己的未来没有一点方向感的时候，你又如何期待他们能够&#8220;踏踏实实&#8221;呢？</p>
<p><br />
在水源，和YY贴并列的，是同样数量级的愤青贴。真正的愤青把&#8220;愤&#8221;藏在心里，努力踏实的做事情，因为他们相信自己的努力能够改善甚至改变现状；那些到处抱怨、宣扬&#8220;抵制日货&#8221;的，往往是对自己未来根本没有什么方向感的假愤青，他们用一些似是而非得的语言引起别人的注意，宣泄心中的不满，获取短暂的虚荣。<br />
很遗憾，程序员中绝不乏大量假愤青的存在。</p>
<p><br />
发泄是不能解决问题的，假愤青这种现象，是民族的悲哀，是社会的悲哀，更是软件行业的悲哀。<br />
想要改变现状，只能靠自己的努力。不是不知道自己除了写程序还能做什么吗？那就背水一战去试试啊！不亲自尝试一下谁知道你还能做什么？</p>
<p>我深深爱着程序员这个群体，这是一群年轻、激越、善良而又单纯的人，能够成为这个群体中的一员，是我的荣耀。对，永远的荣耀！</p>
<p>三天后，我就不是程序员了。</p>
<p><br />
告别Coding，是为了自己的梦想和追求，因为我发现依靠Coding，也许它们永远无法实现。就像上面说的，我要尝试一下就自己还能做什么。放弃程序员这个职业，是相信有舍才有得，我选择，我无悔。</p>
<p><br />
</p>
<img src ="http://www.blogjava.net/zhong39/aggbug/146710.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhong39/" target="_blank">逝去的圣男</a> 2007-09-20 11:05 <a href="http://www.blogjava.net/zhong39/archive/2007/09/20/146710.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员与妓女和民工的比较(转)</title><link>http://www.blogjava.net/zhong39/archive/2007/09/20/146708.html</link><dc:creator>逝去的圣男</dc:creator><author>逝去的圣男</author><pubDate>Thu, 20 Sep 2007 03:01:00 GMT</pubDate><guid>http://www.blogjava.net/zhong39/archive/2007/09/20/146708.html</guid><wfw:comment>http://www.blogjava.net/zhong39/comments/146708.html</wfw:comment><comments>http://www.blogjava.net/zhong39/archive/2007/09/20/146708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhong39/comments/commentRss/146708.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhong39/services/trackbacks/146708.html</trackback:ping><description><![CDATA[<p>程序员与妓女基本一样，以下为证：<br />
1、都是靠出卖为生。<br />
2、吃青春饭，人老珠黄肯定混不下去。<br />
3、越高级收入越高，当然中间人的抽头会更高。<br />
4、生活没有规律。以夜生活为主，如果需要，凌晨也要加班。<br />
5、名声越大，越容易受到青睐。<br />
6、必须尽最大可能满足客户各种各样非正常的需求。<br />
7、鼓励创新精神。<br />
8、喜欢扎堆。程序员集中的地方称为软件园，妓女集中的地方叫红灯区。<br />
9、流动性较大，正常情况下没有工会。<br />
10、如果怀孕了，既不能做程序员，也不能做妓女。<br />
11、都为防病毒的问题而烦恼...<br />
12、当然, 个中高手还专门以制毒传毒为乐。<br />
13、一个是Microsoft，一个是Plug &amp; Play。<br />
14、工作状态相同。工作时精神高度集中，最怕外界干扰。工作完毕身心放松，体会到<br />
一种不可替代的工作快乐。<br />
15、女孩子最好还是不要做这两个职业，但还是有很多女孩子做。<br />
16、除非在转行以后，否则都不愿意结婚......没空儿啊。<br />
17、程序员怕查户口的。妓女怕查房的。<br />
18、妓女工作的地方(床)是程序员最向往的地方。<br />
19、程序界的高手通常很讨厌微软，妓女界的高手嗯...这个...恐怕也如此。<br />
20、都是吃青春饭，不过到人老珠黄后，凭着混个脸熟，程序员可以混个管理员，妓女<br />
也行，不过俗称老鸨。<br />
21、妓女靠的本钱是三围，程序员靠的可是四围(思维)。<br />
22、程序员为了拉客，通常会在交易前提供一个DEMO，妓女提供的那叫PHOTO。<br />
23、程序员现在出的活时兴叫吃霸、结霸，妓女大姐一律叫波霸。<br />
24、心不在焉的妓女可以一边工作一边do { beep(1); sleep(9) } until overflow。<br />
心不在焉的程序员也可以一边工作一边navigate到成人网站上去。<br />
25、程序员手册：一套好的人机操作界面要求，对于新手，能够一步一步的引导他进入<br />
功能，相反对于熟客，能够直奔主题；妓女同样要遵守程序员手册对人鸡界面的规定。<br />
26、妓女在工作中最怕的是临检，程序员最怕的是停电。<br />
27、新上手的程序员叫菜鸟，刚入行的妓女叫雏鸡，都是好可怜的小动物。<br />
28、程序界现在流行OO的方法，虽然在XXXX年前妓女已在床上掌握了O～O～～～的技<br />
术。<br />
29、程序员为了拉客，无奈之时，也可以先让客人试玩，妓女当然有时也会先给你甜<br />
头。<br />
<br />
不过总之程序员比妓女还惨，补充如下：<br />
1、妓女每个月总有几天可以理直气壮的说不，程序员如果老板不发话，可要一年干到<br />
黑。<br />
2、女人做程序那叫奇女、才女，男人要是做妓，那就叫鸭了。<br />
3、妓女不干了人家那叫从良，程序员如果不干了，估计是下了岗。<br />
4、程序员有千年虫问题，妓女好象没听说有。<br />
5、妓女的工作隐蔽性很强，程序员的工作只怕亲戚朋友都知道，所以更加没脸皮。<br />
6、程序员做的越好，要做的程序越多，妓女做的好，就可以挑三拣四。<br />
7、程序员现在流行FREE、OPEN什么的，说白了就是自己玩自己，妓女界好象还没这样<br />
恶性竞争。<br />
<br />
<br />
程序员和民工没有多么大的区别：</p>
<p><br />
<span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">咋一听来感觉很不可思议，民工怎么能跟程序员比呢，可是把两者的生活对比一下就可以看出来，其实程序员就是穿着白领的民工。</span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt"><span lang="en" style="mso-fareast-language: ZH-CN; mso-fareast-font-family: SimSun"><span style="mso-spacerun: yes"><font face="Century">&nbsp;&nbsp;&nbsp; </font></span></span><span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">首先，从工资来看，现在随便从农村出来的民工一个月没有一千多的工资是不会出来的，干得稍微卖力点有点技术经验以后，当个小头目，基本上一个月两千多的工资是很容易拿到的。</span> </p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt">&nbsp;</p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">对比程序员，大学四年刚毕业，出来找工作，用人单位一听是刚毕业的，就说了：&#8220;不好意思，我们要有工作经验的，刚毕业的一律不予考虑&#8221;。想想也是，一个刚毕业的大学生到人家公司能给公司马上带来效益吗，还要公司培训，如果潜力比较好的，等培训好了，人家直接跳槽走了，对于没有潜力的就成了公司的累赘了。刚毕业工资也就在一千多点（这还是比较好点的），还有好多程序员该行做了销售，四年的专业等于白学了。专职作程序员的工资依据个人天分不同，一般水平的平均一下一个月也就在</span><span lang="en" style="mso-fareast-language: ZH-CN; mso-fareast-font-family: SimSun"><font face="Century">2000~3000</font></span><span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">。</span> </p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0">&nbsp;</p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">其次，从居住地点和伙食来看，现在民工大部分都是包吃包住的，住的地方次了点毕竟是免费的，凑活了。伙食有的很不错，毕竟是干体力活的，吃不饱哪有力气干活啊。程序员一般公司都不提供吃住的，一般也就是中午有一顿午餐，饭菜那个次啊，大家可以想象得到。住宿要自己租房子，自己租比较贵，一般的员工都是合租的，一般还都不敢住离市中心太近的房子，是靠近中心的房子房价吓人啊，工资都不够房租的，每天都要坐公交上班。从这点上程序员就要花费比民工大很多。吃饭上，我见好多程序员都去民工的食堂打饭，便宜啊量又多。还没有人家民工吃的好呢。</span> </p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0">&nbsp;</p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">从工作性质来看，咋一看去好像是程序员比民工要轻松太多了，上班都在有空调的房子里，大多穿的人模人样，天天坐那多清闲啊。其实程序员做的是脑力劳动，也就看上去很光鲜的高级一点的民工，压力很大，大部分都身体状况处在亚健康的状态，既要完成任务，又要琢磨新思路好为要求增加工资的时候积累点资本，用公司电脑干点别的还要提防主管下来视察。整天都活在高度的紧张的脑力劳动中，加班时常有的事，加班费是可怜的。还要时时担心那天把事情做砸了被老板炒鱿鱼。反正现在没有工作的程序员多的是。现在程序员吃的都是青春饭，你看看真正在一线写程序的人，有几个超过</span><span lang="en" style="mso-fareast-language: ZH-CN; mso-fareast-font-family: SimSun"><font face="Century">35</font></span><span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">岁的？</span> </p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0">&nbsp;</p>
<p class="MsoNormal" style="margin: 0mm 0mm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">原来拖欠民工工资的问题很严重，现在经过几次的曝光和整顿后，这个情况基本上解决了，民工如果被老板炒了鱿鱼，直接回去就行了，家里还有几亩薄田，过个温饱绝对是不成问题。可是程序员要被老板炒了可就惨了，没有了经济来源，吃饭租房都要花钱，早晚要到街头沦为乞丐啊（呵呵，夸张了点）。民工从事的工作危险性一般要比程序员高点，劳动强度也要比程序员高点。加薪的机会也小很多，可以说各有各的苦衷吧，难道我们费尽千辛万苦上了大学就是为了这</span><span lang="en" style="mso-fareast-language: ZH-CN; mso-fareast-font-family: SimSun"><font face="Century"> </font></span><span lang="en" style="font-family: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">看上去很美的职业吗?</span></p>
<img src ="http://www.blogjava.net/zhong39/aggbug/146708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhong39/" target="_blank">逝去的圣男</a> 2007-09-20 11:01 <a href="http://www.blogjava.net/zhong39/archive/2007/09/20/146708.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>走出围城—程序员职业生涯规划路线图 (转csdn)</title><link>http://www.blogjava.net/zhong39/archive/2007/09/20/146702.html</link><dc:creator>逝去的圣男</dc:creator><author>逝去的圣男</author><pubDate>Thu, 20 Sep 2007 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/zhong39/archive/2007/09/20/146702.html</guid><wfw:comment>http://www.blogjava.net/zhong39/comments/146702.html</wfw:comment><comments>http://www.blogjava.net/zhong39/archive/2007/09/20/146702.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhong39/comments/commentRss/146702.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhong39/services/trackbacks/146702.html</trackback:ping><description><![CDATA[<p><font size="2">微软的金山上放光芒，比尔盖茨就是我们心中的太阳，多么温暖多么慈祥将我们程序员的心儿照亮。我们迈步走在程序员幸福的大道上......</font></p>
<p><font size="2">想当初，大学时学的是管理信息系统，也就是以前的情报学，只是换了一个时髦的马甲，学习的东西很杂。快毕业时，赶上微软的.NET发布，于是义无反顾的投入了学习.NET的阵营，经过一段时间的革命斗争，从一名无门无派的游民逐渐成长为一名.NET革命战士。在.NET革命真理的指导下，那时自我感觉已经深入学习了C#红宝书，系统掌握了VS革命工具，走在程序员幸福的大道上真是意气风发。</font></p>
<p><font size="2">如今不知不觉走了将近三年，时间腐蚀了很多我们的战友，连我这个坚强的革命战士也发生了动摇，从最初的义无反顾转变为现在的左顾右盼。"搞技术没有出路？"这样可怕的资产阶级腐朽思想开始动摇着我坚定的革命信念，甚至开始了离经叛道的行为。</font></p>
<p><font size="2">那么单纯搞技术有没有出路？自己的职业生涯该怎样走？这样的问题开始困扰着我。</font></p>
<p><font size="2">就如一个产品一样，要在市场上拥有自己的位置，必须做好&#8220;定位&#8221;。</font></p>
<p><font size="2">1、你对成功的定义是什么？</font></p>
<p><font size="2">这是关于职业生涯的隐性问题，也是本质的问题。关于职业生涯的种种规划和选择，都是为了自己的某种成功。</font></p>
<p><font size="2">每个人都渴望成功，而每个人的成功定义都不同。</font></p>
<p><font size="2">三年内赚到一千万就是成功；有份高收入、高社会地位的稳定工作是成功；有了自己的公司叫成功&#8230;&#8230;每个人都有他自己成功的定义，而从心理学上说，每个人对成功的渴求，就是自己前进最大的驱动力。而不同的成功就是一种不同的定位——我们把它叫&#8220;愿景意象&#8221;。就如一个画家要创作一幅画，他头脑中一般必须有这幅画的意象。</font></p>
<p><font size="2">不过，可悲的是，很多成功学的理论或专业培训只告诉我们到这一步为止。他们振振有辞的告诉你，拿破仑说过：&#8220;不想当将军的士兵永远不是好士兵&#8221;，拿破仑打参军起，就想做将军，所以，你也要这么做。&#8220;怀上一个远大的理想，然后努力，之后必定成功——你一定要坚信自己必定成功实现目标。&#8221;</font></p>
<p><font size="2">——其实，当我们听到这些的时候，任何一个人都明白：第一，其实拿破仑只有一个，不是每个想当将军的士兵都能成为拿破仑；第二，其实至少90%的士兵都想过当将军，正如几乎所有的人都想有钱，不过这是不可能的；第三，恰恰相反，不想当将军的士兵基本都是好士兵。</font></p>
<p><font size="2">可是这样又有了新的困惑，那现在我怎么办？难道不能怀有一个成功的梦？</font></p>
<p><font size="2">2、我的未来不是梦！</font></p>
<p><font size="2">每个人都希望&#8220;我的未来不是梦&#8221;，但是，如果你真的希望如此，你就必须清醒认识到：不是每个梦想都能成真。只有真正属于你自己的梦，你才能把它变为真实。</font></p>
<p><font size="2">那么，什么样的梦才是属于自己的梦呢？</font></p>
<p><font size="2">&#216; 有何优势助你成功？ </font></p>
<p><font size="2">怀有一个成功的梦想，是前提，怀有一个适合自己的梦想，是根本。所谓适合自己，就是这个梦想必须符合属于自己的优势。你必须将自己现有的、即将可以拥有的、可以借助的优势都一一列出来，看看它是否构成实现梦想的条件，如果缺乏，缺些什么，可不可以争取到？</font></p>
<p><font size="2">考虑这些问题，不要存在过多的、不切实际的幻想。例如，现在我缺的就是启动资金，但也许我明天会中彩票&#8230;&#8230;如果你万事具备，但是没有东风，你仍然难以成功。</font></p>
<p><font size="2">&#216; 有何劣势阻碍你成功？</font></p>
<p><font size="2">同样，如果知道自己的优势，也必须清楚有什么劣势会威胁你的成功。一条铁链的坚固程度，决定于它最薄弱的那个环节；一个木桶可以乘多少水，决定于最短的那条木板。有时看起来微不足道的事情，也许会使你功亏一篑！</font></p>
<p><font size="2">多数人总是拥有自信，有时太多关注自己的优势，而忽略了看起来微不足道的劣势（注意，不仅仅是缺点，而是&#8220;劣势&#8221;）。</font></p>
<p><font size="2">只有最大程度符合自己的优势、而又能回避自己劣势的梦想，才具备有&#8220;梦想成真&#8221;的前提。你的未来才不是梦！</font></p>
<p><font size="2">&#216; 出生背景<br />
你是出生在世界首富的摇篮里，还是贫瘠的非洲山洞，本身就注定了职业生涯出发点的不同：皇帝生个傻瓜，&#8220;傻瓜&#8221;却一生可以过着&#8220;衣来手伸，饭来口张&#8221;的生活；乞丐生个慧子，聪明人一出世就流落街头，衣食不保。卡夫和威廉的不同命运遭遇就是一个真实的例证！这就是你不得不信的命运，我们无法改变的事实！千万不要埋怨，那无济于事。你要正视这个事实，并作为规划职业生涯的起点。小罗父亲家财50亿，他可以一毕业就借50万去开个公司，如果你爸爸月薪只有500元，那么别向你老爸撒娇&#8220;小罗经常流鼻涕是个傻子，我比他聪明我也要开公司！要嘛要嘛！&#8221;——你还是老老实实先找个公司打工学点东西，再图后计。</font></p>
<p><font size="2">&#216; 气质，以及常言道&#8220;性格决定命运&#8221;中的&#8220;性格&#8221;<br />
比如你性格木纳，不擅辞令，那么，别试图让自己在销售、谈判、辩论领域出类拔萃。如你是个行我素的设计人员，也不要试图尝试&#8220;我在设计方面已经混得不错，换个HR工作做，发展一下自己&#8221;。当然，也千万不要将对待生活的态度等同于性格，性格只影响你做事的方式，而态度影响结果。所谓消极、积极，不是性格的结果，是态度的结果。科克就是因为缺乏做一名优秀律师的气质。</font></p>
<p><font size="2">&#216; 天赋，特质<br />
每个人的大脑区域中，都有一个最佳潜能区——我们可以寻找、发掘、把握的命运主题。如，在学校读书时我们就发现有些同学语文很好，而数学总不行，有些则相反。有些人运动天赋和动作技能天生就很棒，而有些人很笨拙，怎么调教都投篮不准。这就是我们与生俱来的智力结构特质。</font></p>
<p><font size="2">其实，绝大多数人受到过&#8220;命运&#8221;的困扰：不管原来信不信，经过在社会上的摸爬打滚之后，都&#8220;有点点信&#8221;，只不过很多人知道不可以屈服于所谓的命运，所以更强调自己的努力，正所谓&#8220;七分人事三分天&#8221;，就是这个道理。</font></p>
<p><font size="2">是的，当你明白自己的优势和劣势之后，你才拥有理智、清醒的头脑：这时你会认识到，不是每个人都会成为自己希望中的样子，只有正确的定位自己，才能成功。不是每个人都适合做将军，不是每个人都适合做总统，不是每个人都适合做老板。这已经是谁都明白的事实。</font></p>
<p><font size="2">最佳潜能区决定你可能作得优秀和卓越的领域。&#8220;努力&#8221;不一定有结果，努力可以做得&#8220;很好&#8221;，但如果不是自己的潜能所在，不能做到&#8220;卓越&#8221;。如，大音乐家贝多芬再努力，恐怕也不可能成为优秀的拳击手。 </font></p>
<p><font size="2">A、角色定位</font></p>
<p><font size="2">过去职场上存在太多的理论书籍和培训，引导我们进行专业定位、职业定位、行业定位或职务定位，他们都没有错，但都是一些片面的，或者表面的功夫，因此导致了很多人全力以赴还是未能成功。因为他们忽略了更加本质的内容：七分人事的努力是否符合自己的&#8220;三分天&#8221;！因此，从现在开始，我们必须从专业定位、职业定位、行业定位、职务定位观念向角色定位观念转变：在团队中，在公司、在社会，在生活圈周围，你正在、你希望、你可以充当什么角色？他们必须是符合你&#8220;三分天&#8221;的角色。</font></p>
<p><font size="2">B、行为转变</font></p>
<p><font size="2">a、 从&#8220;三分天&#8221;出发，从自己拥有的优势和劣势出发，定位自己的角色，不要做不切实际的梦想。&#8220;定位&#8221;原理符合社会分工的规律。最佳潜能区成为主要开发区，但如果某一缺点成为屏障，要全力清除它。而某些&#8220;命中注定&#8221;、不能改变的劣势，我们在做自我规划的时候，要努力回避它。例如，你对音乐有非常优秀的感觉、理解和把握能力，但是你天生声带有问题，那么，这不是缺点而是劣势，你就千万别梦想做个歌唱家，否则，跟随你一生的只有不断的失败和打击。但是，你可以努力于成为一个作曲家、演奏家、音乐家。</font></p>
<p><font size="2">b、 从&#8220;不断努力改变自己的不足&#8221;向&#8220;发挥自己的三分天&#8221;（80％精力发挥优势，20%精力投入于改变缺点，记住：千万不要主次颠倒！）转变行为。过去，很多成功学的理论和职业机构的专业培训，都告诉你：&#8220;你没有成功是因为有哪些缺点、劣势，从现开始，你必须按我教你的方法改变自己的缺点和劣势，于是你就能成功。&#8221;而当你没有成功时，你并没有认识到他在误导你，因为方法是正确的。可是，这正是可悲的地方——方法是正确的，可是方向却是南辕北辙！就如你感冒了，培训师给你的不是清凉茶，而是人参和鹿茸——而全世界总以为那是好东西！</font></p>
<p><font size="2">c、 更加可悲的时，当你坚持了很久没有成功，而放弃努力时（其实是方向不符合自己而倍受挫折，最后&#8220;自我保护&#8221;的一种行为），你总是对他们自圆其说的结论深信不疑：&#8220;你没有成功，是因为你不能坚持！&#8221;——是的，因为你放弃了。看上去似乎确是如此！于是，成功学的大师们使得你不再怨天尤人，但却变成开始埋怨自己——&#8220;自己不努力啊，自己不能坚持啊，怪谁呢！就是因为这样，我才不能成功的，假设我努力，我会成功的！&#8221;——于是，慢慢的你成为阿Q。虽然你不能走阳光大道，但你本来可以走乡间小路，可是伟大的成功学却把你赶进死胡同！伟大的成功学就这样扼杀了你的成功！</font></p>
<p><font size="2">d、 成功角色定位的核心：不可代替性。通过对数百名成功人士的跟踪研究发现，他们的成功，都有一个共同的特点，就是在某个时段某些方面某个范围内能作到&#8220;不可代替&#8221;。不管他们是来自大企业的老板、成功的政治人士、还是市井里做豆腐做得名声远播的档口小老板，都具备某种程度某种范围某一时间内的&#8220;不可代替&#8221;。正所谓&#8220;三百六十行，行行出状元&#8221;。因此，无论你处于哪一职位，哪一行，只要适合你的潜能，你就应尽力做到卓越，做到不可代替，成为&#8220;状元&#8221;。而不要将不符合你&#8220;三分天&#8221;的职位定位成目标。不可代替性要求在自己的角色定位上出类拔萃。<br />
</font><br />
<font size="2">对自己的职业生涯进行剖析<br />
<br />
</font><font size="2">1、&#8220;职业生涯&#8221;分解 </font></p>
<p><font size="2">&#216; 职：职务、职位<br />
&#216; 业：行业、专业 、公司 <br />
&#216; 生：生计，本质就是&#8220;收入&#8221;。核心主题<br />
&#216; 涯：时间、时段，是个附加主题。</font></p>
<p><font size="2">这种看似荒谬的拆字释义法，对&#8220;职业生涯&#8221;有一个独特无二的定义，就是分解成&#8220;职&#8221;&#8220;业&#8221;&#8220;生&#8221;&#8220;涯&#8221;来解释。如，你是为一个更高的职位去作选择，还是只定位于某种职务的工作兴趣？你在择业时是注重先选行业，还是选专业，还是选公司？三者往往不是统一的，选对兴趣的行业，未必符合自己专业，有符合自己专业和兴趣的职位的公司，未必是你要去的公司类型&#8230;&#8230;反之也然。而&#8220;公司&#8221;要素中，去大公司（外资，国企）还是小公司（私企），也常是选择的矛盾。而收入，就绝对是一个核心问题，哪怕你的选择主要是&#8220;为了去大公司发展自己某种能力，多少工资无所谓&#8221;，但起码你内心一定有个底线，有个增加收入的计划和欲望（也许你自问：发展某种能力是为了什么？就会发现，最后的答案，都和金钱有一定关系）。而时间，常常是自我规划中容易被忽略的因素，却是个重要的主题因素。因为我们发现第一章提到的&#8220;五个迷茫的问题&#8221;，自己的现状没有变化，事实就是因为没有随&#8220;时间&#8221;变动而变得更好。你必须首先确定：你愿意、你计划在某一公司、某一行业、某一领域、某一职位干多久，才能规划所有的行动计划和下一步的方向。很多求职者在这些问题上往往是模糊的、或无法准确选择的，因为不知道选择的正确依据是什么。</font></p>
<p><font size="2">2、来自&#8220;马拉松&#8221;的恐惧</font></p>
<p><font size="2">如果你的职业生涯的任何方面没有随时间发生变化，那就是一场&#8220;恐怖的马拉松&#8221;，要消除恐怖，要理智的从东家挑水转到西家挑水，自己必须清晰回答10个问题：</font></p>
<p><font size="2">1） 现在的工作一开始就是这么无聊吗？（答不是，就可能是自身有问题，如能力进步停滞）<br />
2） 同样职位的同事也认为这份工作无趣吗？（如果不是，可能是自己态度问题；是，则公司HR管理有问题）<br />
3） 在工作上是否仍有学习与成长的空间？（有则不要轻易跳槽）<br />
4） 如果重新选择职务，自己最想做什么工作？（关键问题：是兴趣和&#8220;三分天&#8221;所在还是为了&#8220;新鲜感&#8221;？）<br />
5） 留在原来的公司，有换跑道的可能吗？（有，则不要轻易跳槽，但即使有，也要考虑是否有利于自己核心能力的发展）<br />
6） 跳槽到其它公司，有换跑道的可能吗？（这种可能不是概率上的；而是基于对自己能力的认识）<br />
7） 朋友转换跑道成功的最大原因是什么？（当局者迷，可以作为参照物）<br />
8） 自己有转换跑道的本钱（专长或兴趣）吗？ （核心问题，答案否定则不要考虑）<br />
9） 如果有进修机会，最希望学什么？为什么？（补自己的不足，更要强化自己能力上的优秀领域）<br />
10） 自己想象中的一段时期（1、3、10年）后是什么样子？（未来的定位）</font></p>
<p><font size="2">而这些问题的核心，就是是否清楚&#8220;选择&#8221;将会付出哪些&#8220;机会成本&#8221;，以及选择的&#8220;资本能力&#8221;如何。喜新厌旧是人类的好奇心的本能；而&#8220;选择&#8221;是恐惧的原因，人们会因为害怕机会成本的付出而不敢选择。</font></p>
<p><font size="2">天下无不散的宴席，在&#8220;跳槽&#8221;的选择上，你必须清楚10个问题的答案，谋定而动。</font></p>
<p><font size="2">3、错误的传统职业生涯路线</font></p>
<p><font size="2">但谋定而动之前，还要清楚，很多流行的职业生涯的观念是错误的。目前社会上流行两种&#8220;职业生涯路线&#8221;，笔者认为都是错误的，因为很多非正确的跳槽现象，及多数人职业生涯的失败，都和这两种观念的误导有关：</font></p>
<p><font size="2">&#216; 向金字塔顶攀（职位、资历）<br />
&#216; 向独木桥前进（与某一专业、经验或背景最直接联系的单一方向）</font></p>
<p><font size="2">错误用的原因：</font></p>
<p><font size="2">a． 金字塔尖只有一块金子——如果公司告诉你，为每一位员工提供广阔的发展空间，那只是一个和&#8220;老天是公平的&#8221;一样的政治谎言；如果你认为这句话的意思是&#8220;可以升职&#8221;，那你就是具有片面的理解和错误的思想——你应该清醒的知道，一批员工只有一、二人最终获得这个空间。</font></p>
<p><font size="2">正确的意思是：空间可能是你能力、潜力的空间，不是职位空间。而对于职位而言，公司提供的只能是机会（且绝大多数公司的机会不是表面标榜的对每个人平等的），而不是空间。</font></p>
<p><font size="2">b． 条条道路通罗马——现代社会的一切都是以变应变。现代人力资源管理的特点已经从&#8220;追求终身的就业&#8221;变成&#8220;追求终生的就业能力&#8221;。独木桥如果不符合自己的&#8220;三分天&#8221;，就成了&#8220;奈何桥&#8221;！</font></p>
<p><font size="2">4、从我自身的经验向大家谈职业规划的误区与正确方向：</font></p>
<p><font size="2">&#216; 误区：升迁构成成功职业生涯的一部分，所有的工作（学习）是为了一份成功的人生简历。 <br />
错误原因：为了给别人看自己的成功，在乎别人的评价。</font></p>
<p><font size="2">&#216; 正确：绩效或岗位成就才是成功职业生涯的标志；快乐的工作着并充满成就(或有收获感、充实感)是成功的职业生涯。 <br />
正确理由：为自己而生活。在乎自己的感受。</font></p>
<p><font size="2">围城有那么一句话&#8220;里面的想出去，外面的想进来&#8221;，程序员如此，其它的估计也是这样吧。</font>&nbsp;</p>
<img src ="http://www.blogjava.net/zhong39/aggbug/146702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhong39/" target="_blank">逝去的圣男</a> 2007-09-20 10:47 <a href="http://www.blogjava.net/zhong39/archive/2007/09/20/146702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java 中检查时间正确性</title><link>http://www.blogjava.net/zhong39/archive/2007/09/10/143957.html</link><dc:creator>逝去的圣男</dc:creator><author>逝去的圣男</author><pubDate>Mon, 10 Sep 2007 05:32:00 GMT</pubDate><guid>http://www.blogjava.net/zhong39/archive/2007/09/10/143957.html</guid><wfw:comment>http://www.blogjava.net/zhong39/comments/143957.html</wfw:comment><comments>http://www.blogjava.net/zhong39/archive/2007/09/10/143957.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhong39/comments/commentRss/143957.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhong39/services/trackbacks/143957.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; 最近做个一单机版项目，其中有两个下拉框，要求里面输入时间，格式必需是yyyy-mm-dd的。并且前面的时间不大于后面的时间。<br />
&nbsp;&nbsp;&nbsp; 网上的做法检查时间的正确性多数都是用正则表达式来做的。也一些其他的工具类来检查，个人觉得都太麻烦了。后来发现了个土方法，代码如下。<br />
<br />
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Date begin = null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Date end = null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(baseInfoPage.getBeginDate().equals("")){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MessageDialog.openWarning(null, "提示信息", "请选择保险起期");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(baseInfoPage.getEndDate().equals("")){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MessageDialog.openWarning(null, "提示信息", "请选择保险止期");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; begin = sdf.parse(baseInfoPage.getBeginDate());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end = sdf.parse(baseInfoPage.getEndDate());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String compare1 = sdf.format(begin);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String compare2 = sdf.format(end);<br />
&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; if(!baseInfoPage.getBeginDate().equals(compare1)){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MessageDialog.openWarning(null, "提示信息", "保险起期时间不正确");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br />
&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; if(!baseInfoPage.getEndDate().equals(compare2)){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MessageDialog.openWarning(null, "提示信息", "保险止期时间不正确");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (ParseException e) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MessageDialog.openWarning(null, "提示信息", "日期格式不正确，正确的日期格式为:yyyy-MM-dd");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Calendar beginDate = Calendar.getInstance();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; beginDate.setTime(begin);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Calendar endDate = Calendar.getInstance(); <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; endDate.setTime(end);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(beginDate.after(endDate)){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MessageDialog.openWarning(null, "提示信息", "保险止期不能大于保险起期!");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
<br />
其中baseInfoPage.getBeginDate() 是我另一个类里的一个方法，也就是get combo里的text。我这里其实用到的是一个时间控件，开源的，DatePickerCombo 。大家不防到网上搜下看看，蛮好用的，可是没有swt 3.3里面内置的DateTime时间控件那么好看。可是也还不错了。不过具体的这个时间怎么获得都不重要，重要的只是这样一个想法。<br />
当把字符串格式化成时间后，在把时间格式化成字符串的时候，如果时间逻辑不正确的话，肯定是不一样的。因为如果我时间格式成字符串的时候假如是2月31日，它会变成3月2日之类的，有兴趣深入的朋友可以试一下其他的情况。应该蛮有意思的。呵呵。时间:2007-02-28 = 字符串:2006-03-02 ???都可以试了下，午休时间不多了，下午又要干活，不多写，睡觉~~ ZZzzz<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhong39/aggbug/143957.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhong39/" target="_blank">逝去的圣男</a> 2007-09-10 13:32 <a href="http://www.blogjava.net/zhong39/archive/2007/09/10/143957.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>swt 欢迎界面的制作</title><link>http://www.blogjava.net/zhong39/archive/2007/09/10/143953.html</link><dc:creator>逝去的圣男</dc:creator><author>逝去的圣男</author><pubDate>Mon, 10 Sep 2007 05:08:00 GMT</pubDate><guid>http://www.blogjava.net/zhong39/archive/2007/09/10/143953.html</guid><wfw:comment>http://www.blogjava.net/zhong39/comments/143953.html</wfw:comment><comments>http://www.blogjava.net/zhong39/archive/2007/09/10/143953.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhong39/comments/commentRss/143953.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhong39/services/trackbacks/143953.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 关于swt的欢迎界面的例子，网上找了很就没有。后来自己就想用一个没有边框的shell加上一个滚动条来实现，具体的怎么用滚动条来检视后台，我还是没找到例子，现在就用一个白痴滚动条来暂时代替一下。白痴滚动条也就是想windows启动界面时出现的那样，一直不停的滚呀滚，呵呵。代码如下，<br />
<br />
<p>package com.sinosafe.swtdemo.welcome;</p>
<p>import org.eclipse.swt.SWT;<br />
import org.eclipse.swt.graphics.Image;<br />
import org.eclipse.swt.layout.FillLayout;<br />
import org.eclipse.swt.layout.GridData;<br />
import org.eclipse.swt.layout.GridLayout;<br />
import org.eclipse.swt.widgets.*;<br />
/**<br />
&nbsp;* <br />
&nbsp;* @author zhong39<br />
&nbsp;* 一个简单的启动界面的例子<br />
&nbsp;*<br />
&nbsp;*/</p>
<p>public class WelcomeInterface {<br />
&nbsp;<br />
&nbsp;private static Shell shell;</p>
<p>&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;Display display = new Display();<br />
&nbsp;&nbsp;shell = new Shell(display, SWT.NO_TRIM |SWT.ON_TOP);<br />
&nbsp;&nbsp;createContents(shell);<br />
&nbsp;&nbsp;shell.setBounds(400, 200, 310, 250);<br />
&nbsp;&nbsp;shell.open();<br />
&nbsp;&nbsp;while (!shell.isDisposed()) {<br />
&nbsp;&nbsp;&nbsp;if (!display.readAndDispatch())<br />
&nbsp;&nbsp;&nbsp;&nbsp;display.sleep();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;display.dispose();<br />
&nbsp;}<br />
&nbsp;protected static void createContents(Shell shell) {<br />
&nbsp;&nbsp;shell.setLayout(new FillLayout());<br />
&nbsp;&nbsp;Composite cm = new Composite(shell ,SWT.None);<br />
&nbsp;&nbsp;cm.setLayout(new GridLayout(1,false));<br />
&nbsp;&nbsp;Image ico = new Image(Display.getDefault(), "icons/welcome.gif");<br />
&nbsp;&nbsp;Label label = new Label(cm,SWT.None);<br />
&nbsp;&nbsp;label.setImage(ico);<br />
&nbsp;&nbsp;final ProgressBar progressBar = new ProgressBar(cm, SWT.INDETERMINATE);<br />
&nbsp;&nbsp;progressBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));<br />
&nbsp;&nbsp;<br />
&nbsp;}<br />
}<br />
</p>
<br />
具体在我一个应用程序中怎么使用，<br />
我暂时的想法是在程序启动界面开始时先传一个display过去，先启动这个界面，在启动应用程序界面，和要加载的数据，最后调用welcomeClose方法来关闭，下面是，修改过的代码.<br />
<br />
<p>package com.sinosafe.premium.application;</p>
<p>import org.eclipse.swt.SWT;<br />
import org.eclipse.swt.graphics.Image;<br />
import org.eclipse.swt.layout.FillLayout;<br />
import org.eclipse.swt.layout.GridData;<br />
import org.eclipse.swt.layout.GridLayout;<br />
import org.eclipse.swt.widgets.*;</p>
<p>/**<br />
&nbsp;* <br />
&nbsp;* @author zhong39<br />
&nbsp;*<br />
&nbsp;*/</p>
<p>public class WelcomeInterface {<br />
&nbsp;<br />
&nbsp;private Shell welcomeShell;<br />
&nbsp;<br />
&nbsp;public void open(Display display) {<br />
&nbsp;&nbsp;//Display display = new Display();<br />
&nbsp;&nbsp;welcomeShell = new Shell(display, SWT.NO_TRIM);<br />
&nbsp;&nbsp;createContents(welcomeShell);<br />
&nbsp;&nbsp;welcomeShell.setBounds(400, 200, 310, 250);<br />
&nbsp;&nbsp;welcomeShell.open();<br />
&nbsp;}<br />
&nbsp;protected&nbsp; void createContents(Shell shell) {<br />
&nbsp;&nbsp;shell.setLayout(new FillLayout());<br />
&nbsp;&nbsp;Composite cm = new Composite(shell ,SWT.None);<br />
&nbsp;&nbsp;cm.setLayout(new GridLayout(1,false));<br />
&nbsp;&nbsp;Image welcome = new Image(Display.getDefault(), "images/welcome.gif");<br />
&nbsp;&nbsp;Label label = new Label(cm,SWT.None);<br />
&nbsp;&nbsp;label.setImage(welcome);<br />
&nbsp;&nbsp;ProgressBar progressBar = new ProgressBar(cm, SWT.INDETERMINATE);<br />
&nbsp;&nbsp;progressBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));<br />
&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;public void welcomeClose(){<br />
&nbsp;&nbsp;welcomeShell.close();<br />
&nbsp;}<br />
}<br />
<br />
总的来说就是shell的风格没有边框就是，其他的没什么特别的，还有图片的话，这个大家一定得弄个上去，不然的话肯定是显示不出来了。<br />
<br />
好了，第开天辟地的第一篇就写个浮浅的东西，主要是这方面的网上好难早，所以我写的关于这方面的我个人的愚见，希望能节省到有这方面需要的人的时间。</p>
<img src ="http://www.blogjava.net/zhong39/aggbug/143953.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhong39/" target="_blank">逝去的圣男</a> 2007-09-10 13:08 <a href="http://www.blogjava.net/zhong39/archive/2007/09/10/143953.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>