<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8604993654538446960</id><updated>2012-01-06T06:25:16.712+08:00</updated><title type='text'>iDeal’s weblog 再见理想</title><subtitle type='html'>&lt;center&gt;&lt;em&gt;那些飘满雪的冬天  那个不带伞的少年... ...&lt;/em&gt;&lt;/center&gt;
&lt;hr&gt;
So long, my ideal, looking forward to see you. 
&lt;hr&gt;
&lt;p align="right"&gt;think different &lt;/p&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-9148331157331090471</id><published>2010-04-03T12:13:00.001+08:00</published><updated>2010-04-03T12:14:30.024+08:00</updated><title type='text'>Change I Need</title><content type='html'>I must face a change recently, I will accept it , I just hope this will not let me pay for it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-9148331157331090471?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/9148331157331090471/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=9148331157331090471' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/9148331157331090471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/9148331157331090471'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2010/04/change-i-need.html' title='Change I Need'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-9063620423814485336</id><published>2010-02-18T16:56:00.001+08:00</published><updated>2010-02-18T17:01:45.225+08:00</updated><title type='text'>A resignation letter</title><content type='html'>亲爱的公司领导：&lt;br /&gt;首先谢谢一年多来一创对我的栽培，进公司以来，风也过，雨也走，历经了岁月的沧桑，干过了好几个华为外包项目，到现在算算有19个月了。 &lt;br /&gt; 还记得去年加班，一个人当两个人用，干一个项目还支援一个项目，有加班的机会就让我去，对我锻炼很大，收获也很多，人也成熟了，最值得纪念和高兴的是创造了连续二十多天连续上班的记录。&lt;br /&gt;干了这么久，公司发展很快，员工换了一拨又一拨，也就我还留着。到现在，一创也没了，项目也弄跨了几个，最后还在领着易宝的钱，我很惭愧。这几个月来，我是夜夜辗转反侧，彻夜难眠呐。终于我做了这个决定，别人怎么说我不理，我要离开！&lt;br /&gt;我希望能在一周内离职，可能是有点快（去年国庆的加班费还没来急领），但是长痛不如短痛嘛，我低调了来就让我痛苦的走吧！&lt;br /&gt;&lt;br /&gt;永远的ICP  张俊龙&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-9063620423814485336?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/9063620423814485336/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=9063620423814485336' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/9063620423814485336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/9063620423814485336'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2010/02/resignation-letter.html' title='A resignation letter'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-8181138050642980875</id><published>2009-12-01T16:23:00.001+08:00</published><updated>2009-12-01T16:23:07.469+08:00</updated><title type='text'>Your invitation from Junlong Zhang is about to expire</title><content type='html'>&lt;table border="0" width="550" cellpadding="0" cellspacing="0" style="max-width:550px; border-top:4px solid #39C; font: 12px arial, sans-serif; margin: 0 auto;"&gt;&lt;tr&gt;&lt;td&gt;     &lt;h1 style="color: #000; font: bold 23px arial; margin:5px 0;" &gt;LinkedIn&lt;/h1&gt;  &lt;font size="2" face="arial, helvetica, sans-serif" color="#000000"&gt; &lt;p&gt; Dear Mail, &lt;/p&gt;  &lt;p&gt;  This is a reminder that on November 05, Junlong Zhang sent you an invitation to become part of their professional network at LinkedIn.  &lt;/p&gt;  &lt;p&gt;  Your invitation will expire soon!  Follow this link to accept Junlong Zhang's invitation. &lt;/p&gt;  &lt;p&gt; &lt;a href="https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/"&gt;https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; Signing up is free and takes less than a minute. &lt;/p&gt;  &lt;p&gt; This is a reminder that on November 05, Junlong Zhang sent you an invitation to become part of their professional network at LinkedIn.  &lt;br&gt;&lt;br&gt; &gt; To: Mail Junlong [zhangjunlong1.weblog@blogger.com]&lt;br&gt; &gt; From: Junlong Zhang [zhangjunlong@gmail.com]&lt;br&gt; &gt; Subject: Invitation to connect on LinkedIn&lt;br&gt; &lt;br&gt; &amp;gt; Mail,&lt;br&gt; &amp;gt; &lt;br&gt; &amp;gt; I'd like to add you to my professional network on LinkedIn.&lt;br&gt; &amp;gt; &lt;br&gt; &amp;gt; - Junlong&lt;br&gt;  &lt;/p&gt;  &lt;p&gt; The only way to get access to Junlong Zhang's professional network is through the following link: &lt;/p&gt;  &lt;p&gt; &lt;a href="https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/"&gt;https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; You can remove yourself from Junlong Zhang's network at any time. &lt;/p&gt;  &lt;br&gt; -------------- &lt;br&gt;  &lt;p&gt; The pending expiration of your invitation is an automatic process triggered by system maintenance. This is the last email message you will receive from LinkedIn about the expiration of this invitation from Junlong Zhang. &lt;/p&gt; &lt;/font&gt;        &lt;p style="width: 550px; margin: 3px auto; font: 10px arial, sans-serif; color: #999;"&gt;&amp;#169; 2009, LinkedIn Corporation  &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-8181138050642980875?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/8181138050642980875/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=8181138050642980875' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8181138050642980875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8181138050642980875'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2009/12/your-invitation-from-junlong-zhang-is.html' title='Your invitation from Junlong Zhang is about to expire'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-6835913519428479246</id><published>2009-11-17T17:53:00.001+08:00</published><updated>2009-11-17T17:53:14.612+08:00</updated><title type='text'>Reminder about your invitation from Junlong Zhang</title><content type='html'>&lt;table border="0" width="550" cellpadding="0" cellspacing="0" style="max-width:550px; border-top:4px solid #39C; font: 12px arial, sans-serif; margin: 0 auto;"&gt;&lt;tr&gt;&lt;td&gt;     &lt;h1 style="color: #000; font: bold 23px arial; margin:5px 0;" &gt;LinkedIn&lt;/h1&gt;  &lt;font size="2" face="arial, helvetica, sans-serif" color="#000000"&gt; &lt;p&gt; Dear Mail, &lt;/p&gt;  &lt;p&gt;  This is a reminder that on November 05, Junlong Zhang sent you an invitation to become part of their professional network at LinkedIn.  &lt;/p&gt;  &lt;p&gt;  Follow this link to accept Junlong Zhang's invitation. &lt;/p&gt;  &lt;p&gt; &lt;a href="https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/"&gt;https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; Signing up is free and takes less than a minute. &lt;/p&gt;  &lt;p&gt; This is a reminder that on November 05, Junlong Zhang sent you an invitation to become part of their professional network at LinkedIn.  &lt;br&gt;&lt;br&gt; &gt; To: Mail Junlong [zhangjunlong1.weblog@blogger.com]&lt;br&gt; &gt; From: Junlong Zhang [zhangjunlong@gmail.com]&lt;br&gt; &gt; Subject: Invitation to connect on LinkedIn&lt;br&gt; &lt;br&gt; &amp;gt; Mail,&lt;br&gt; &amp;gt; &lt;br&gt; &amp;gt; I'd like to add you to my professional network on LinkedIn.&lt;br&gt; &amp;gt; &lt;br&gt; &amp;gt; - Junlong&lt;br&gt;  &lt;/p&gt;  &lt;p&gt; The only way to get access to Junlong Zhang's professional network is through the following link: &lt;/p&gt;  &lt;p&gt; &lt;a href="https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/"&gt;https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; You can remove yourself from Junlong Zhang's network at any time. &lt;/p&gt;  &lt;br&gt; -------------- &lt;br&gt;   &lt;/font&gt;        &lt;p style="width: 550px; margin: 3px auto; font: 10px arial, sans-serif; color: #999;"&gt;&amp;#169; 2009, LinkedIn Corporation  &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-6835913519428479246?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/6835913519428479246/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=6835913519428479246' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/6835913519428479246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/6835913519428479246'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2009/11/reminder-about-your-invitation-from.html' title='Reminder about your invitation from Junlong Zhang'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-1959568647450168831</id><published>2009-11-05T22:00:00.001+08:00</published><updated>2009-11-05T22:00:20.855+08:00</updated><title type='text'>Invitation to connect on LinkedIn</title><content type='html'>&lt;table border="0" width="550" cellpadding="0" cellspacing="0" style="max-width:550px; border-top:4px solid #39C; font: 12px arial, sans-serif; margin: 0 auto;"&gt;&lt;tr&gt;&lt;td&gt;     &lt;h1 style="color: #000; font: bold 23px arial; margin:5px 0;" &gt;LinkedIn&lt;/h1&gt;   &lt;div style="font:13px arial, sans-serif; width:540px"&gt;     &lt;p&gt;     Mail,&lt;br/&gt; &lt;br/&gt; I'd like to add you to my professional network on LinkedIn.&lt;br/&gt; &lt;br/&gt; - Junlong   &lt;/p&gt;   &lt;p&gt;         &lt;a href="https://www.linkedin.com/e/isd/842467930/iyAFk-Hs/"&gt;Confirm that you know Junlong Zhang&lt;/a&gt;   &lt;/p&gt;      &lt;p&gt;Every day, millions of professionals like &lt;strong&gt;Junlong Zhang&lt;/strong&gt; use LinkedIn to connect with colleagues, find experts, and explore opportunities.&lt;/p&gt; &lt;/div&gt;         &lt;p style="width: 550px; margin: 3px auto; font: 10px arial, sans-serif; color: #999;"&gt;&amp;#169; 2009, LinkedIn Corporation  &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-1959568647450168831?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/1959568647450168831/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=1959568647450168831' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/1959568647450168831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/1959568647450168831'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2009/11/invitation-to-connect-on-linkedin.html' title='Invitation to connect on LinkedIn'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-8923884328129584233</id><published>2009-08-15T09:59:00.000+08:00</published><updated>2009-08-15T10:15:48.428+08:00</updated><title type='text'>1邀请您加入Dbank</title><content type='html'>&lt;style type="text/css"&gt; * { 	padding:0; 	margin:0; 	border:0; 	font-size:12px; 	font-family:Arial, Helvetica, sans-serif; } .warp { 	padding:0 15px 8px; 	width:706px; } p { 	padding:8px 10px; 	line-height:20px; 	color:#000; } p span { 	color:#000; 	display:block; 	padding:0 0 0 30px; } p a{color:#2d649d;white-space:nowrap;} p a:hover {color:#c00;text-decoration:underline;} p.tips { 	color:#999; 	display:block; 	 } &lt;/style&gt; &lt;div class="warp"&gt;   &lt;p&gt;HI~，我是1&lt;br /&gt;&lt;br /&gt;     &lt;span&gt;我一直在使用Dbank（数据银行），在这里存储文件，发送文件，把文件共享给自己的联系人都&lt;br /&gt;&lt;/span&gt;很方便，我觉得你不妨也试试。&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;     要接受此邀请并注册你的帐户，请访问&lt;br/&gt;     &lt;a href="http://dev.huawei.com:8080/user/invite.action?v=AAWoOV-ZmTgOAMA7phRwsnm4BiPv8Wx1Z7TYgfZrpQw3v2mqVi0gdrNv49uHI2ME5eMnmN7wA0vy5MuJ8Gu1fvED3CSvK7aSOQ"&gt;http://dev.huawei.com:8080/user/invite.action?v=AAWoOV-ZmTgOAMA7phRwsnm4BiPv8Wx1Z7TYgfZrpQw3v2mqVi0gdrNv49uHI2ME5eMnmN7wA0vy5MuJ8Gu1fvED3CSvK7aSOQ&lt;/a&gt;    &lt;/p&gt;    &lt;p class="tips"&gt;温馨提示:该邮件涉及您个人隐私，请勿转发。&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;       &lt;p&gt; 此致&lt;br /&gt;     DBank团队&lt;/p&gt;   &lt;p&gt;      &lt;a href="http://www.dbank.com"&gt;www.dbank.com&lt;/a&gt;提供文件存储，递送，分享服务。&lt;br /&gt;     安全，快捷，稳定，易用。 &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-8923884328129584233?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/8923884328129584233/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=8923884328129584233' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8923884328129584233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8923884328129584233'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2009/08/1dbank.html' title='1邀请您加入Dbank'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-8860844884538784442</id><published>2008-07-09T11:34:00.015+08:00</published><updated>2008-07-09T13:11:58.249+08:00</updated><title type='text'>Ubuntu电源管理造成的硬盘频繁load/unload的bug</title><content type='html'>给我的VAIO FZ35装上了Ubuntu8.04.1，基本配置都正常，只是屏幕亮度的Fn功能键还不可用，这些都是小问题了，突然想到的严重问题是Ubuntu那个著名的笔记本硬盘损耗问题，于是立马进行全面的检查和分析，过程报告如下：&lt;div&gt;下载硬盘信息检测工具smartmontools&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sudo apt-get install smartmontools&lt;/div&gt;&lt;div&gt;启用对硬盘的S.M.A.R.T.检测功能：&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sudo smartctl -s on /dev/sda&lt;/div&gt;&lt;div&gt;查看硬盘信息：&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sudo smartctl -a | grep Load_Cycle_Count&lt;br /&gt;&lt;/div&gt;&lt;div&gt;开始这个值是716，短短几十分钟，上窜到了825了，不好意思，我华丽的中招了:(&lt;/div&gt;&lt;div&gt;幸亏发现早啊，经多方搜索，找到了合适的补牢方案：&lt;/div&gt;&lt;div&gt;&lt;a href="http://lymanrb.blogspot.com/2008/01/loadunload-bug.html"&gt;[苦水潭]还是那个硬盘 load/unload 的 bug&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;和&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Verdana; line-height: 16px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;a rel="nofollow" href="http://lymanrb.spaces.live.com/blog/cns!A8ABB185AA013BB7!203.entry" style="color: rgb(45, 110, 137); "&gt;[苦水潭] 警惕laptop-mode-tools 的HD_IDLE_TIMEOUT 参数&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-8860844884538784442?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/8860844884538784442/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=8860844884538784442' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8860844884538784442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8860844884538784442'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2008/07/ubuntuloadunloadbug.html' title='Ubuntu电源管理造成的硬盘频繁load/unload的bug'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-8686647530790785761</id><published>2008-06-10T14:35:00.001+08:00</published><updated>2008-06-10T14:35:04.794+08:00</updated><title type='text'>Check out my Facebook profile</title><content type='html'>&lt;!-- container table is 98% b/c yahoo mail needs 1% to display right --&gt;       &lt;table width="98%" border="0" cellspacing="0" cellpadding="40"&gt;&lt;tr&gt;           &lt;td bgcolor="#F7F7F7" width="100%" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;"&gt;             &lt;table cellpadding="0" cellspacing="0" border="0" width="620"&gt;               &lt;tr&gt;                 &lt;td align="left" bgcolor="#3b5998" height="34" valign="middle" style="padding-left: 18px; font-size: 22px; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; color: #fff;"&gt;&lt;span style="font-weight: bold; letter-spacing: -0.03em;"&gt;facebook&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;             &lt;/table&gt; &lt;table cellpadding="0" cellspacing="0" border="0" width="620" style="border-bottom: 1px solid #3b5998; border-left: 1px solid #ccc; border-right: 1px solid #ccc;" bgcolor="#ffffff"&gt;               &lt;tr&gt;&lt;td align="left" bgcolor="#ffffff" width="100" style="padding: 18px 18px 10px 18px" valign="top"&gt;&lt;a href="http://www.facebook.com/p.php?i=1001230544&amp;k=ZZ1326P3WYYM5B1CPE6ZWR&amp;r&amp;v=2"&gt;                   &lt;img src="http://profile.ak.facebook.com/v225/1361/0/s1001230544_2256.jpg" style="border: 1px solid #c0c0c0; width: 100px" alt="Zhang Junlong" name="Zhang Junlong"&gt;&lt;/a&gt;                   &lt;table cellpadding="0" cellspacing="4" border="0"&gt;                     &lt;tr&gt;                       &lt;td align="left" style="font-size: 11px; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; color: #666666; padding-left: 4px;"&gt;&lt;div style="color: #333333; margin-bottom: 4px;"&gt;Zhang Junlong has:&lt;/div&gt;5 friends                       &lt;/td&gt;                     &lt;/tr&gt;                   &lt;/table&gt;                 &lt;/td&gt;&lt;td bgcolor="white" width="*" style="font-size: 11px; padding: 18px 18px 18px 0; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;" valign="top" align="left"&gt;&lt;h1 style="font-size: 13px; margin: 0; padding: 0;"&gt;Check out my Facebook profile&lt;/h1&gt;&lt;br /&gt; I set up a Facebook profile where I can post my pictures, videos and events and I want to add you as a friend so you can see it. First, you need to join Facebook! Once you join, you can also create your own profile.&lt;br /&gt; &lt;br /&gt; Thanks,&lt;br /&gt; Zhang&lt;br /&gt; &lt;br /&gt; Here's the link:&lt;br /&gt; &lt;a style="color: #3b5998; text-decoration: none;" href="http://www.facebook.com/p.php?i=1001230544&amp;k=ZZ1326P3WYYM5B1CPE6ZWR&amp;r&amp;v=2"&gt;http://www.facebook.com/p.php?i=1001230544&amp;k=ZZ1326P3WYYM5B1CPE6ZWR&amp;r&amp;v=2&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;           &lt;/table&gt;           &lt;table cellpadding="0" cellspacing="0" border="0" width="620"&gt;            &lt;tr&gt;             &lt;td style="color: #999999; padding: 10px; font-size: 11px; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;"&gt;This e-mail may contain promotional materials. If you do not wish to receive future commercial mailings from Facebook, please &lt;a href="http://www.facebook.com/o.php?u=1043170666&amp;amp;k=9238d2" style="color: #3b5998"&gt;opt out&lt;/a&gt;. Facebook's offices are located at 156 University Ave., Palo Alto, CA 94301.&lt;/td&gt;             &lt;/tr&gt;            &lt;/table&gt;           &lt;/td&gt;         &lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-8686647530790785761?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/8686647530790785761/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=8686647530790785761' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8686647530790785761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8686647530790785761'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2008/06/check-out-my-facebook-profile.html' title='Check out my Facebook profile'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-7617387829592705378</id><published>2008-06-04T18:07:00.000+08:00</published><updated>2008-06-04T18:09:33.578+08:00</updated><title type='text'>纪念刘和珍君 ——鲁迅</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial; font-size: 13px; "&gt;&lt;p&gt;一&lt;br /&gt;&lt;/p&gt;&lt;p&gt;中华民国十五年三月二十五日，就是国立北京女子师范大学为十八日在段祺瑞执政府前遇害的刘和珍杨德群两君开追悼会的那一天，我独在礼堂外徘徊，遇见程君，前来问我道，“先生可曾为刘和珍写了一点什么没有？”我说“没有”。她就正告我，“先生还是写一点罢；刘和珍生前就很爱看先生的文章。”&lt;/p&gt;&lt;p&gt;这是我知道的，凡我所编辑的期刊，大概是因为往往有始无终之故罢，销行一向就甚为寥落，然而在这样的生活艰难中，毅然预定了《莽原》全年的就有她。我也早觉得有写一点东西的必要了，这虽然于死者毫不相干，但在生者，却大抵只能如此而已。倘使我能够相信真有所谓“在天之灵”，那自然可以得到更大的安慰，—— 但是，现在，却只能如此而已。&lt;/p&gt;&lt;p&gt;可是我实在无话可说。我只觉得所住的并非人间。四十多个青年的血，洋溢在我的周围，使我艰于呼吸视听，那里还能有什么言语？长歌当哭，是必须在痛定之后的。而此后几个所谓学者文人的阴险的论调，尤使我觉得悲哀。我已经出离愤怒了。我将深味这非人间的浓黑的悲凉；以我的最大哀痛显示于非人间，使它们快意于我的苦痛，就将这作为后死者的菲薄的祭品，奉献于逝者的灵前。&lt;/p&gt;&lt;p&gt;二&lt;/p&gt;&lt;p&gt;真的猛士，敢于直面惨淡的人生，敢于正视淋漓的鲜血。这是怎样的哀痛者和幸福者？然而造化又常常为庸人设计，以时间的流驶，来洗涤旧迹，仅使留下淡红的血色和微漠的悲哀。在这淡红的血色和微漠的悲哀中，又给人暂得偷生，维持着这似人非人的世界。我不知道这样的世界何时是一个尽头！&lt;/p&gt;&lt;p&gt;我们还在这样的世上活着；我也早觉得有写一点东西的必要了。离三月十八日也已有两星期，忘却的救主快要降临了罢，我正有写一点东西的必要了。&lt;/p&gt;&lt;p&gt;三&lt;/p&gt;&lt;p&gt;在四十余被害的青年之中，刘和珍君是我的学生。学生云者，我向来这样想，这样说，现在却觉得有些踌躇了，我应该对她奉献我的悲哀与尊敬。她不是“苟活到现在的我”的学生，是为了中国而死的中国的青年。&lt;/p&gt;&lt;p&gt;她的姓名第一次为我所见，是在去年夏初杨荫榆女士做女子师范大学校长，开除校中六个学生自治会职员的时候。其中的一个就是她；但是我不认识。直到后来，也许已经是刘百昭率领男女武将，强拖出校之后了，才有人指着一个学生告诉我，说：这就是刘和珍。其时我才能将姓名和实体联合起来，心中却暗自诧异。我平素想，能够不为势利所屈，反抗一广有羽翼的校长的学生，无论如何，总该是有些桀骜锋利的，但她却常常微笑着，态度很温和。待到偏安于宗帽胡同，赁屋授课之后，她才始来听我的讲义，于是见面的回数就较多了，也还是始终微笑着，态度很温和。待到学校恢复旧观，往日的教职员以为责任已尽，准备陆续引退的时候，我才见她虑及母校前途，黯然至于泣下。此后似乎就不相见。总之，在我的记忆上，那一次就是永别了。&lt;/p&gt;&lt;p&gt;四&lt;/p&gt;&lt;p&gt;我在十八日早晨，才知道上午有群众向执政府请愿的事；下午便得到噩耗，说卫队居然开枪，死伤至数百人，而刘和珍君即在遇害者之列。但我对于这些传说，竟至于颇为怀疑。我向来是不惮以最坏的恶意，来推测中国人的，然而我还不料，也不信竟会下劣凶残到这地步。况且始终微笑着的和蔼的刘和珍君，更何至于无端在府门前喋血呢？&lt;/p&gt;&lt;p&gt;然而即日证明是事实了，作证的便是她自己的尸骸。还有一具，是杨德群君的。而且又证明着这不但是杀害，简直是虐杀，因为身体上还有棍棒的伤痕。&lt;/p&gt;&lt;p&gt;但段政府就有令，说她们是“暴徒”！&lt;br /&gt;但接着就有流言，说她们是受人利用的。&lt;/p&gt;&lt;p&gt;惨象，已使我目不忍视了；流言，尤使我耳不忍闻。我还有什么话可说呢？我懂得衰亡民族之所以默无声息的缘由了。沉默呵，沉默呵！不在沉默中爆发，就在沉默中灭亡。&lt;/p&gt;&lt;p&gt;五&lt;/p&gt;&lt;p&gt;但是，我还有要说的话。&lt;/p&gt;&lt;p&gt;我没有亲见；听说她，刘和珍君，那时是欣然前往的。自然，请愿而已，稍有人心者，谁也不会料到有这样的罗网。但竟在执政府前中弹了，从背部入，斜穿心肺，已是致命的创伤，只是没有便死。同去的张静淑君想扶起她，中了四弹，其一是手枪，立仆；同去的杨德群君又想去扶起她，也被击，弹从左肩入，穿胸偏右出，也立仆。但她还能坐起来，一个兵在她头部及胸部猛击两棍，于是死掉了。&lt;/p&gt;&lt;p&gt;始终微笑的和蔼的刘和珍君确是死掉了，这是真的，有她自己的尸骸为证；沉勇而友爱的杨德群君也死掉了，有她自己的尸骸为证；只有一样沉勇而友爱的张静淑君还在医院里呻吟。当三个女子从容地转辗于文明人所发明的枪弹的攒射中的时候，这是怎样的一个惊心动魄的伟大呵！中国军人的屠戮妇婴的伟绩，八国联军的惩创学生的武功，不幸全被这几缕血痕抹杀了。&lt;/p&gt;&lt;p&gt;但是中外的杀人者却居然昂起头来，不知道个个脸上有着血污……。&lt;/p&gt;&lt;p&gt;六&lt;/p&gt;&lt;p&gt;时间永是流驶，街市依旧太平，有限的几个生命，在中国是不算什么的，至多，不过供无恶意的闲人以饭后的谈资，或者给有恶意的闲人作“流言”的种子。至于此外的深的意义，我总觉得很寥寥，因为这实在不过是徒手的请愿。人类的血战前行的历史，正如煤的形成，当时用大量的木材，结果却只是一小块，但请愿是不在其中的，更何况是徒手。&lt;/p&gt;&lt;p&gt;然而既然有了血痕了，当然不觉要扩大。至少，也当浸渍了亲族；师友，爱人的心，纵使时光流驶，洗成绯红，也会在微漠的悲哀中永存微笑的和蔼的旧影。陶潜说过，“亲戚或余悲，他人亦已歌，死去何所道，托体同山阿。”倘能如此，这也就够了。&lt;/p&gt;&lt;p&gt;七&lt;/p&gt;&lt;p&gt;我已经说过：我向来是不惮以最坏的恶意来推测中国人的。但这回却很有几点出于我的意外。一是当局者竟会这样地凶残，一是流言家竟至如此之下劣，一是中国的女性临难竟能如是之从容。&lt;/p&gt;&lt;p&gt;我目睹中国女子的办事，是始于去年的，虽然是少数，但看那干练坚决，百折不回的气概，曾经屡次为之感叹。至于这一回在弹雨中互相救助，虽殒身不恤的事实，则更足为中国女子的勇毅，虽遭阴谋秘计，压抑至数千年，而终于没有消亡的明证了。倘要寻求这一次死伤者对于将来的意义，意义就在此罢。&lt;br /&gt;苟活者在淡红的血色中，会依稀看见微茫的希望；真的猛士，将更奋然而前行。&lt;/p&gt;&lt;p&gt;呜呼，我说不出话，但以此记念刘和珍君！&lt;/p&gt;&lt;p&gt;发表于一九二六年四月十二日《语丝》周刊第七十四期&lt;/p&gt;&lt;p&gt;刘和珍（1904—1926）江西南昌人，北京女子师范大学英文系学生。杨德群（1902—1926），湖南湘阴人，北京女子师范大学国文系预科学生。张静淑（1902—1978）湖南长沙人，北京女子师范大学教育系学生。受伤后经医治，幸得不死。&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-7617387829592705378?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/7617387829592705378/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=7617387829592705378' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7617387829592705378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7617387829592705378'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2008/06/blog-post.html' title='纪念刘和珍君 ——鲁迅'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-489517202028023145</id><published>2008-06-04T14:50:00.004+08:00</published><updated>2008-06-04T14:58:47.671+08:00</updated><title type='text'>6月有4次明显降水过程,雨量将比常年偏多一两成</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.zoff.com.cn/wp-content/uploads/2008/06/nfdsb08-6-4.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px;" src="http://www.zoff.com.cn/wp-content/uploads/2008/06/nfdsb08-6-4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-489517202028023145?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/489517202028023145/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=489517202028023145' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/489517202028023145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/489517202028023145'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2008/06/64.html' title='6月有4次明显降水过程,雨量将比常年偏多一两成'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-567120995179175426</id><published>2007-12-17T19:12:00.005+08:00</published><updated>2008-04-02T19:45:47.595+08:00</updated><title type='text'>Check out my Facebook profile</title><content type='html'>&lt;h1 style="font-size: 13px;"&gt;Check out my Facebook profile&lt;/h1&gt;I set up a Facebook profile with my pictures, videos and events and I want to add you as a friend so you can see it. First, you need to join Facebook! Once you join, you can also create your own profile.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Junlong&lt;br /&gt;&lt;br /&gt;Here's the link:&lt;br /&gt;&lt;a style="color: rgb(59, 89, 152); text-decoration: none;" href="http://www.facebook.com/p.php?i=1001230544&amp;amp;k=SYBU33WXU3TF6FGAVBYZW&amp;amp;r&amp;amp;v=2"&gt;http://www.facebook.com/p.php?i=1001230544&amp;amp;k=SYBU33WXU3TF6FGAVBYZW&amp;amp;r&amp;amp;v=2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-567120995179175426?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/567120995179175426/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=567120995179175426' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/567120995179175426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/567120995179175426'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/12/check-out-my-facebook-profile.html' title='Check out my Facebook profile'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-3372937799469014699</id><published>2007-11-15T20:03:00.001+08:00</published><updated>2007-11-15T20:03:59.350+08:00</updated><title type='text'>Fwd: Redeon 9550 开启 Ubuntu 7.10 Compiz 特效</title><content type='html'>&lt;span class="gmail_quote"&gt;&lt;/span&gt;最近硬盘坏了，被逼在移动硬盘上安装了一个Ubuntu7.10使用。为了体验Ubuntu7.10的界面特效一直试图在我的Redeon &lt;span id="st" name="st" class="st"&gt;9550&lt;/span&gt; AGP 8X显卡上打开中的Compiz特效， ati发布的Linux环境的8.42.3驱动（支持AIXGL，支持9500至HD2900）也使之成为可能。参考了许多文章最后整理了一些经验。 &lt;br&gt;&lt;span style="font-weight: bold;"&gt;下载驱动&lt;/span&gt;&lt;br&gt;下载Linux下8.42.3版的驱动：  &lt;a href="https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.42.3-x86.x86_64.run" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;ati-driver-installer-8.42.3-x86.x86_64.run &lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;安装编译所必须的工具&lt;/span&gt; &lt;br&gt;终端&lt;span style="font-style: italic;"&gt;（Gnome终端程序在主菜单的附件子菜单&lt;/span&gt;）命令代码:&lt;br&gt; $sudo apt-get update&lt;br&gt;sudo apt-get install module-assistant build-essential fakeroot dh-make debhelper debconf libstdc++5 linux-headers-$(uname -r)&lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;创建deb包&lt;/span&gt;&lt;br&gt;&lt;span style="font-style: italic;"&gt;   注意：执行下面的命令必须进入到你所下载的驱动的所在目录。不知道什么是cd命令的话，把下面的xxx.run的部分删掉，然后把你的驱动直接拖到终端，其余部分不变。&lt;/span&gt;&lt;br&gt;命令代码：&lt;br&gt; $sh *.run --buildpkg Ubuntu/gutsy&lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt; 屏蔽fglrx核心模块&lt;/span&gt; &lt;br&gt;&lt;span style="font-style: italic;"&gt; 注意:如果你已经安装了linux-restricted-modules的话，那么此步必做。否则可以跳过（一般都要做）。 &lt;/span&gt;&lt;br&gt;命令代码: &lt;br&gt; sudo gedit /etc/default/linux-restricted-modules-common &lt;br&gt; 在打开的编辑器中将文本: &lt;br&gt; DISABLED_MODULES=&amp;quot;&amp;quot; &lt;br&gt; 改成: &lt;br&gt; DISABLED_MODULES=&amp;quot;fglrx&amp;quot; &lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt; 安装deb包&lt;/span&gt; &lt;br&gt;命令代码: &lt;br&gt; sudo dpkg -i xorg-driver-fglrx_*.deb fglrx-kernel-source*.deb fglrx-amdcccle*.deb &lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt; 移除旧的fglrx &lt;/span&gt;&lt;br&gt;&lt;span style="font-style: italic;"&gt;注意:如果你是第一次做，会提示你这个文件找不到，继续下面的步骤就是。&lt;/span&gt; &lt;br&gt;命令代码: &lt;br&gt; $ sudo rm /usr/src/fglrx-kernel*.deb &lt;br&gt; sudo apt-get -f install &lt;br&gt;  &lt;br&gt;&lt;span style="font-weight: bold;"&gt; 编译内核模块并安装&lt;/span&gt; &lt;br&gt;命令 代码: &lt;br&gt; $ sudo module-assistant prepare &lt;br&gt; sudo module-assistant update &lt;br&gt; sudo module-assistant build fglrx &lt;br&gt; cd /usr/src &lt;br&gt; sudo dpkg -i fglrx-kernel-* &lt;br&gt; sudo depmod -a &lt;br&gt;  &lt;br&gt;&lt;span style="font-weight: bold;"&gt; 配置驱动&lt;/span&gt; &lt;br&gt;&lt;span style="font-style: italic;"&gt; 注意:如果以前装过fglrx驱动，&lt;/span&gt;&lt;span style="font-style: italic;"&gt;可以跳过&lt;/span&gt;&lt;span style="font-style: italic;"&gt;此步。&lt;/span&gt; &lt;br&gt; 使用命令:&lt;br&gt; $sudo gedit /etc/X11/xorg.conf&lt;br&gt;打开编辑配置文件，然后在文件中的Device段添加代码: &lt;br&gt;  Option      &amp;quot;VideoOverlay&amp;quot;      &amp;quot;on&amp;quot; &lt;br&gt;  Option      &amp;quot;OpenGLOverlay&amp;quot;     &amp;quot;off&amp;quot;&lt;br&gt;&lt;br&gt;［可选方法:（执行可能会出错，此时则需要把备份的xorg.conf.xx恢复，推荐使用上面的方法直接添加代码）&lt;br&gt;&lt;span style="font-style: italic;"&gt;命令代码: &lt;/span&gt;&lt;br style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;  sudo dpkg-reconfigure xserver-xorg &lt;/span&gt;&lt;br style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;  在选择驱动时，选择fglrx。 &lt;/span&gt;&lt;br style="font-style: italic;"&gt; &lt;span style="font-weight: bold; font-style: italic;"&gt; 或者&lt;/span&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;br style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt; 输入命令: &lt;/span&gt;&lt;br style="font-style: italic;"&gt; $&lt;span style="font-style: italic;"&gt;  sudo aticonfig --initial -f &lt;/span&gt;&lt;br style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;  然后 &lt;/span&gt;&lt;br style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt; 输入命令: &lt;/span&gt;&lt;br style="font-style: italic;"&gt; $&lt;span style="font-style: italic;"&gt;  sudo aticonfig --ovt=Xv&lt;/span&gt; ]&lt;br&gt;&lt;br&gt;完成后再在文件最后面增加:&lt;br&gt;  Section &amp;quot;Extensions&amp;quot; &lt;br&gt;          Option  &amp;quot;Composite&amp;quot; &amp;quot;1&amp;quot; &lt;br&gt;  EndSection &lt;br&gt;   ##上面这段可能已经存在，把0改成1就可以&lt;br&gt;  Section &amp;quot;ServerFlags&amp;quot; &lt;br&gt;          Option  &amp;quot;AIGLX&amp;quot; &amp;quot;on&amp;quot; &lt;br&gt;  EndSection &lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt; 重启系统&lt;br&gt;&lt;br&gt;检验驱动是否正确安装&lt;/span&gt; &lt;br&gt;命令代码: &lt;br&gt; $ fglrxinfo &lt;br&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;（参考结果）&lt;br&gt;display: :0.0&amp;nbsp; screen: 0 &lt;br&gt; OpenGL vendor string: ATI Technologies Inc. &lt;br&gt; OpenGL renderer string: ATI Radeon &lt;span id="st" name="st" class="st"&gt;9550&lt;/span&gt; / X1050 Series &lt;br&gt; OpenGL version string: 2.0.6958 Release &lt;br&gt;&lt;span style="font-style: italic;"&gt;注意:&lt;/span&gt;&lt;span style="font-style: italic;"&gt; &lt;br&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt; r如果提示&lt;/span&gt;&lt;/span&gt;文件/usr/X11R6/lib/modules/dri/fglrx_dri.so缺失&lt;/span&gt;:&lt;br&gt; 则执行命令&lt;/span&gt;:&lt;br&gt; $ sudo ln -s /usr/lib/ /usr/X11R6/lib/modules&lt;br&gt;&lt;span style="font-style: italic;"&gt;如果出现 libGL.so.1: cannot open shared object file，则执行:&lt;br&gt;$ &lt;/span&gt;sudo ln /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1&lt;br&gt;&lt;br&gt; 接着继续执行命令 代码: &lt;br&gt; $ glxinfo | grep render&lt;br&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;（参考结果）&lt;br&gt; direct rendering: Yes #如果开启了xgl，那么这里一定是No，还有其他一些信息。 &lt;br&gt;还可以使用一下命令进行性能测试:&lt;br&gt;&lt;span&gt;$ glxgears&lt;br&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;（参考结果）&lt;br&gt;9370 frames in 5.0 seconds = 1863.750 FPS &lt;br&gt; 9504 frames in 5.0 seconds = 1860.697 FPS &lt;br&gt; 8706 frames in 5.0 seconds = 1641.290 FPS&lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;开启特效&lt;br&gt;&lt;/span&gt;命令代码:&lt;br&gt;$ compiz --replace&lt;br&gt;如果执行报错就参考&lt;span style="text-decoration: underline;"&gt;出错处理&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;   出错处理&lt;br&gt;&lt;/span&gt;至此任然可能会出现不能开启，一下几点需要注意:&lt;br&gt;&lt;span style="font-style: italic;"&gt;Ubuntu7.10中的受限驱动管理问题: 到在系统菜单中系统管理－》受限驱动管理器中 勾选（启用）对应的驱动&lt;br&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br&gt;&lt;span style="font-style: italic;"&gt;   如果&lt;/span&gt;出现:&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(204, 0, 0);"&gt; Checking for Xgl: not present. &lt;br&gt; No whitelisted driver found &lt;br&gt; aborting and using fallback: /usr/bin/metacity &lt;br&gt; no /usr/bin/metacity found, exiting&lt;/span&gt;&lt;br&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;   说明显卡没有列入支持列表，&lt;/span&gt;&lt;/span&gt;则&lt;/span&gt;输入命令把显卡添加到白名单: &lt;br&gt;$ sudo gedit /etc/xdg/compiz/compiz-manager &lt;br&gt;在打开的编辑器末尾添加:&lt;br&gt;WHITELIST=&amp;quot;nvidia intel ati radeon i810 fglrx&amp;quot;&lt;br&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;  &lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br&gt;如果出现&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font style="color: rgb(204, 0, 0);" size="-1"&gt;Checking for Xgl: not present. &lt;br&gt;Blacklisted PCIID &amp;#39; &lt;font style="color: rgb(204, 0, 0);"&gt; 1002:4153&lt;/font&gt;&amp;#39; found &lt;br&gt;aborting and using fallback: /usr/bin/metacity &lt;/font&gt;&lt;br&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;   显卡被列入了非支持列表&lt;/span&gt;: ATI Rv350核心的显卡被列入了黑名单，应此要强制开启Compiz需要手动删除。&lt;br&gt;&lt;span style="font-style: italic;"&gt;命令代码:&lt;br&gt;$ sudo gedit /usr/bin/compiz&lt;br&gt;&lt;span style="font-style: italic;"&gt;在打开的编辑器中找到如下内容并修改&lt;br&gt;# blacklist based on the pci ids &lt;br&gt;# See &lt;a href="http://wiki.compiz-fusion.org/Hardware/Blacklist" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://wiki.compiz-fusion.org/Hardware/Blacklist&lt;/a&gt; for details&lt;br&gt;T=&amp;quot;&amp;nbsp;&amp;nbsp; 1002:5954 1002:5854 1002:5955&amp;quot; # ati rs480 &lt;br&gt;&lt;span style="font-style: italic;"&gt; #&lt;/span&gt;T=&amp;quot;$T 1002:4153&amp;quot; # ATI Rv350&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: underline;"&gt;修改此行（在本行起始出加一个#注释掉本行，活删除本行）使 &lt;span id="st" name="st" class="st"&gt;9550&lt;/span&gt; 可以使用界面特效&lt;/span&gt;&lt;br&gt;T=&amp;quot;$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12&amp;quot;&amp;nbsp; # intel 965 &lt;br&gt;T=&amp;quot;$T 8086:2972&amp;quot; # i965 (x3000)&lt;br&gt;T=&amp;quot;$T 1002:3152 1002:3150 1002:5462 1002:5653 &amp;quot; # ati X300 X600,X600 X700&lt;br&gt;BLACKLIST_PCIIDS=&amp;quot;$T&amp;quot;&lt;br&gt;unset T &lt;br&gt;&lt;/span&gt;&lt;br&gt;主要参考:&lt;br&gt;&lt;a href="http://forum.ubuntu.org.cn/viewtopic.php?t=26188" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;   http://forum.ubuntu.org.cn/viewtopic.php?t=26188&lt;/a&gt;&lt;br&gt;&lt;a href="http://forum.ubuntu.org.cn/viewtopic.php?p=494957&amp;amp;sid=3fe67d5461ca788a1e66a8e7ec7b1d6a" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;  http://forum.ubuntu.org.cn/viewtopic.php?p=494957&amp;amp;sid=3fe67d5461ca788a1e66a8e7ec7b1d6a &lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-3372937799469014699?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/3372937799469014699/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=3372937799469014699' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/3372937799469014699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/3372937799469014699'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/11/fwd-redeon-9550-ubuntu-710-compiz.html' title='Fwd: Redeon 9550 开启 Ubuntu 7.10 Compiz 特效'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-659997949378921810</id><published>2007-11-12T00:27:00.001+08:00</published><updated>2007-11-12T00:27:24.846+08:00</updated><title type='text'>文件命令精通指南 [转]</title><content type='html'>&lt;span class="gmail_quote"&gt;&lt;/span&gt;&lt;span&gt;作者：Sheryl Calish&lt;/span&gt;  &lt;p&gt; &lt;span&gt;为刚接触 Linux 文件命令的初学者提供的速成教程&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;虽然 GUI 桌面（如 KDE 和 GNOME）能够帮助用户利用 Linux 特性，而无需关于命令行接口的功能知识，但还是经常会需要更多的功能和灵活性。而且，基本熟悉这些命令对于在 shell 脚本中正确地使某些功能自动化仍然是必需的。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;   &lt;span&gt;这篇文章是关于 Linux 文件命令的一个&amp;quot;速成教程&amp;quot;，它是为那些刚接触这个操作系统或者只是需要补充这方面知识的用户提供的。它包含了对一些更有用的命令的一个简明的概述以及关 于它们的最强大的应用的指导。下面包含的信息 — 结合一些实验 — 将使您能够容易地掌握这些基本的命令。（注意：当涉及到一个与 Oracle 集群文件系统 (OCFS) 结合的内核时，这些命令中的某些命令的行为可能会稍微有所不同。在此情况下，Oracle 提供了一个 &lt;a href="http://oss.oracle.com/projects/ocfs-tools/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;OCFS 工具集&lt;/a&gt;，该工具集可以为文件命令应用提供一个更好的选择。） &lt;/span&gt; &lt;/p&gt; &lt;p&gt;   &lt;span&gt;注意，这里包含的所有示例都在 SUSE Linux 8.0 Professional 上进行了测试。虽然没有理由相信它们在其它的系统上将不能工作，但如果出现问题，您应当查看您的文档，以了解可能的变化。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;背景概念&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;在深入研究规范之前，让我们回顾一些基础知识。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;文件和命令&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;在 Linux/UNIX 操作系统中，所有事物都被当作文件来处理：硬件设备（包括键盘和终端）、目录、命令本身，当然还有文件。这个奇怪的惯例实际上是 Linux/UNIX 的能力和灵活性的基础。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;   &lt;span&gt;大多数（几乎是全部）的命令形式如下：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;command [option] [source file(s)] [target file]&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;获取帮助&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;最有用的命令之一是那些提供帮助的命令（特别是对那些学习 Linux 的人而言）。Linux 中的两个重要的信息来源是联机参考手册，或 &lt;/span&gt;&lt;tt&gt;man&lt;/tt&gt;&lt;span&gt; 页面和 &lt;/span&gt;&lt;tt&gt;whatis&lt;/tt&gt;&lt;span&gt; 工具。您可以用 &lt;/span&gt;&lt;tt&gt;whatis&lt;/tt&gt;&lt;span&gt;  命令来访问一个不熟悉的命令的 &lt;tt&gt;man&lt;/tt&gt; 页面。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ whatis echo&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;要了解关于这个命令的更多信息，可以使用： &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ man  echo &lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;如果您不知道某个特殊任务所需的命令，您可以用 &lt;/span&gt;&lt;tt&gt;man -k&lt;/tt&gt;&lt;span&gt; （也称为 &lt;/span&gt;&lt;tt&gt;apropos&lt;/tt&gt;&lt;span&gt;）和一个主题来生成可能的命令。例如： &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ man -k files&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;一个很有用但常常被忽视的命令可以提供关于使用 &lt;/span&gt;&lt;tt&gt;man&lt;/tt&gt;&lt;span&gt; 本身的信息：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ man man&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;您可以用 SPACEBAR 来浏览任意的 &lt;tt&gt;man&lt;/tt&gt; 页面；UP ARROW 将向上翻滚文件。.要退出，则输入 q,!，或 CTRL-Z。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;用户类别&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;记得那句名言&amp;quot;所有动物一例平等但有些动物比其他动物更加平等&amp;quot;吗？在 Linux 世界中，根用户掌管一切。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;根用户可以以另一个用户名 &lt;/span&gt;&lt;tt&gt;su&lt;/tt&gt;&lt;span&gt; （源自 &amp;quot;superuser&amp;quot;）登录。要执行诸如添加一个新用户、打印机或文件系统之类的任务，必须作为根用户登录或者用 &lt;/span&gt;&lt;tt&gt;su&lt;/tt&gt;&lt;span&gt; 命令和根用户密码切换到超级用户。系统文件（包括控制初始化过程的系统文件）归根用户所有。虽然可能允许普通用户对它们进行读操作，但出于系统安全性的原因，编辑的权利将留给根用户。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;   &lt;span&gt;BASH shell&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;虽然提供了其它的 shell，但 BASH (Bourne Again Shell) 是 Linux 的默认 shell。它结合了与它同名的 Bourne shell 的特性和 Korn、C 和 TCSH shell 的特性。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;BASH 内置的命令 &lt;/span&gt;&lt;tt&gt;history&lt;/tt&gt;&lt;span&gt; 默认记录最后输入的 500 条命令。可以通过在命令提示符下输入 &lt;/span&gt;&lt;tt&gt;history&lt;/tt&gt;&lt;span&gt; 来查看它们。要检索某个特定的命令，可以在命令提示符下按 UP ARROW 或 DOWN ARROW，或在历史列表中输入它的编号，并在编号前面加上 &amp;quot;!&amp;quot;，例如：  &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ !49&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;您还可以通过一条命令在历史列表中离位置最靠前的项目的距离来执行该命令：&lt;/span&gt;如果在历史列表中有 53 个事件，&lt;tt&gt;$ !-3&lt;/tt&gt;&lt;span&gt; 将执行事件号 51。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;像 UNIX/Linux 世界的其它 shell 一样，BASH 使用了特殊的环境变量来方便系统管理。例如：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt; HOME，用户主目录&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt; PATH，Linux 用来搜索您输入的命令的可执行镜像的搜索路径&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt; HISTSIZE，系统保存的历史事件的数量&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;  &lt;span&gt;除了这些保留的关键字之外，您还可以定义您自己的环境变量。例如，Oracle 使用 ORACLE_HOME （还有其它一些变量），要使 Oracle 安装成功完成，必须在您的环境中设置这些变量。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;可以在提示符下临时设置变量：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$HISTSIZE=100&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;或者，在 /etc/profile （需要根用户权限）中进行系统范围的永久设置，或在 &lt;/span&gt;&lt;tt&gt;.profile&lt;/tt&gt;&lt;span&gt; 中进行局部永久设置。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;   &lt;span&gt;可以通过 &lt;/span&gt;&lt;tt&gt;echo&lt;/tt&gt;&lt;span&gt; 命令，并用一个 $ 符号来访问一个环境变量的值，进而查看该值。&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt; &lt;br&gt;$ echo $HOME&lt;br&gt;/home/bluher&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;可以用 &lt;/span&gt;&lt;tt&gt;env&lt;/tt&gt;&lt;span&gt; 命令来查看当前所有的环境变量。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;正则表达式和通配符&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;许多 Linux 命令使用通配符 * 和 ? 来匹配任意数量的字符或分别匹配任意的单个字符；正则模式匹配表达式利用一个句点 (.) 来匹配除&amp;quot;换行符&amp;quot;之外的任意单个字符。这两种情况下都使用方括号 ([ ]) 来匹配除&amp;quot;*&amp;quot;号之外的字符组。不过，* 号在各种情况下有类似但不同的意义：虽然它在 shell 中将匹配一个或更多的字符，但在正则表达式中，它匹配上述字符的零个或更多的实例。一些命令（如 &lt;tt&gt;egrep&lt;/tt&gt; 和 &lt;tt&gt;awk&lt;/tt&gt;）使用了一组更广泛的特殊字符来进行模式匹配。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;文件处理命令&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;剖析一个文件列表&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;&lt;/span&gt;&lt;tt&gt;ls&lt;/tt&gt;&lt;span&gt; 命令用来查看用户有执行权限的任意目录中的文件列表，该命令有许多有趣的选项。例如：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ ls -liah *&lt;br&gt;22684 -rw-r--r--    1 bluher   users         952 Dec 28 18:43 .profile&lt;br&gt;19942 -rw-r--r--    1 scalish  users          30 Jan  3 20:00 test2.out&lt;br&gt;925 -rwxr-xr-x    1 scalish  users         378 Sep  2  2002  &lt;br&gt;test.sh&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;上面的列表显示 8 列：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt; 第 1 列指示文件的 inode，因为我们使用了 &lt;/span&gt;&lt;tt&gt;-i&lt;/tt&gt;&lt;span&gt; 选项。剩下的列通过 &lt;/span&gt;&lt;tt&gt;-l&lt;/tt&gt;&lt;span&gt; 选项来进行正常显示。 &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt; 第 2 列显示文件类型和文件访问权限。  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt; 第3 列显示链接数，包括目录。 &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt; 第 4 和第 5 列显示文件的所有者和组所有者。这里，所有者 &amp;quot;bluher&amp;quot; 属于组 &amp;quot;users&amp;quot;。 &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt; 第 6 列显示文件大小（单位为所显示的单位，而不是默认的字节数，因为我们使用了  &lt;/span&gt;&lt;tt&gt;-h&lt;/tt&gt;&lt;span&gt; 选项。&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt; 第 7 列显示日期（它看起来像是三列），包括月、日和年，以及当天的时间。 &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt; 第 8 列显示文件名。在选项列表中使用 &lt;/span&gt;&lt;tt&gt;-a&lt;/tt&gt;&lt;span&gt;  将使列表中包含隐藏文件（如 .profile）的列表。&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;span&gt;处理文件&lt;/span&gt;  &lt;p&gt;  &lt;span&gt;可以移动 (&lt;/span&gt;&lt;tt&gt;mv&lt;/tt&gt;&lt;span&gt;)、复制 (&lt;/span&gt;&lt;tt&gt;cp&lt;/tt&gt;&lt;span&gt;) 或删除 (&lt;/span&gt;&lt;tt&gt;rm&lt;/tt&gt;&lt;span&gt;) 文件和目录。明智地使用 &lt;/span&gt;&lt;tt&gt;-i&lt;/tt&gt;&lt;span&gt;  选项，以获得确认通常是个不错的主意。&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ cp -i ls.out ls2.out&lt;br&gt;cp:overwrite `ls2.out&amp;#39;?&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;mv 命令允许使用 &lt;/span&gt;&lt;tt&gt;-b&lt;/tt&gt;&lt;span&gt; 选项，这将在移动文件之前作一个备份拷贝。&lt;/span&gt;&lt;tt&gt;rm&lt;/tt&gt;&lt;span&gt; 和 &lt;/span&gt;&lt;tt&gt;cp&lt;/tt&gt;&lt;span&gt; 接受功能强大但却危险的 &lt;/span&gt;&lt;tt&gt;-r&lt;/tt&gt;&lt;span&gt;  选项，它将在一个目录和它的文件上递归执行。&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ rm -ir Test&lt;br&gt;rm:descend into directory `Test&amp;#39;? y&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;可以用 &lt;/span&gt;&lt;tt&gt;mkdir&lt;/tt&gt;&lt;span&gt; 来创建目录，用 &lt;/span&gt;&lt;tt&gt;rmdir&lt;/tt&gt;&lt;span&gt; 来删除目录。不过，因为不能用 &lt;/span&gt;&lt;tt&gt;rmdir&lt;/tt&gt;&lt;span&gt; 来删除包含文件的目录，所以使用 &lt;/span&gt;&lt;tt&gt;rm&lt;/tt&gt;&lt;span&gt;  加 &lt;/span&gt;&lt;tt&gt;-r&lt;/tt&gt;&lt;span&gt; 选项通常要更方便些。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;   &lt;span&gt;出于安全的原因，所有的文件都有所有权和保护。文件访问权限（或文件模式）包含之前提到的相同的 10 个字符： &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt; 第一个字符指示文件类型。最常见的是 &lt;/span&gt;&lt;tt&gt;-&lt;/tt&gt;&lt;span&gt; 代表文件，&lt;/span&gt;&lt;tt&gt;d&lt;/tt&gt;&lt;span&gt; 代表目录，而 &lt;/span&gt;&lt;tt&gt;l&lt;/tt&gt;&lt;span&gt; 代表链接。&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;  接下来的 9 个字符是三种用户类别的访问权限：文件所有者（字符 2-4），用户组 (5-7) 和其它 (8-10)，其中 &lt;/span&gt;&lt;tt&gt;r&lt;/tt&gt;&lt;span&gt; 表示读权限，&lt;/span&gt;&lt;tt&gt;w&lt;/tt&gt;&lt;span&gt; 表示写权限，&lt;/span&gt;&lt;tt&gt;x&lt;/tt&gt;&lt;span&gt; 指示一个文件上的执行权限。破折号 &lt;/span&gt; &lt;tt&gt;-&lt;/tt&gt;&lt;span&gt; 如果出现在这九个位置的任意一个，则指示这个操作对该类别的用户禁止。&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;  &lt;span&gt;可以使用 &lt;/span&gt;&lt;tt&gt;chmod&lt;/tt&gt;&lt;span&gt; 命令通过字符符号或二进制掩码来设置访问权限。要使用二进制掩码，必须将三个权限组的字符表示转换成二进制格式，然后转换成八进制格式：&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;table align="left" bgcolor="#ffffff" border="0" cellpadding="5" hspace="5" vspace="5" width="50%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt; &lt;span&gt;用户类别：&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span&gt;所有者&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span&gt;用户组&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span&gt;其它&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;span&gt;字符表示：&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;rwx&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;r-x&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;r--&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;span&gt;二进制表示：&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;111&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;101&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;100&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;span&gt;八进制表示：&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;5&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;tt&gt;4&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;/p&gt; &lt;p&gt; &lt;span&gt;将写权限赋予用户组，您可以使用：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;chmod g+w test.sh or chmod 774 test.sh&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;用 &lt;/span&gt;&lt;tt&gt;umask&lt;/tt&gt;&lt;span&gt; 命令，在 /etc/init.dev 文件中进行系统范围内的、或在 .profile 文件中进行的本地的文件权限默认设置。这个命令指示用 777 减去这个数字来获取默认的权限：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ umask 022&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;这将为用户创建的所有新文件生成一个默认的文件权限 755。&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;span&gt;可以用 &lt;/span&gt;&lt;tt&gt;chown&lt;/tt&gt;&lt;span&gt; 来修改文件的所有权：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ chown bluher ls.out&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;这里，&lt;/span&gt;&lt;tt&gt;bluher&lt;/tt&gt;&lt;span&gt; 是新的文件所有者。类似地，组成员资格将按以下方式修改：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ chgrp devgrp ls.out&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;这里，devgrp 是新的用户组。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;&lt;/span&gt;&lt;tt&gt;ls&lt;/tt&gt;&lt;span&gt; 不提供哪些文件是文本的，哪些文件是二进制的的信息。要了解这个信息，您可以使用 &lt;/span&gt;&lt;tt&gt;file *&lt;/tt&gt;&lt;span&gt; 命令。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;重命名文件&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;赋予一个文件多个名字的两种流行的方法是利用链接和 &lt;/span&gt;&lt;tt&gt;alias&lt;/tt&gt;&lt;span&gt; 命令。&lt;/span&gt;&lt;tt&gt;Alias&lt;/tt&gt;&lt;span&gt; 可以用来为一个更长的命令重新起一个更方便的名字：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ alias ll=&amp;#39;ls -l&amp;#39;&lt;br&gt;$ ll&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;注意单引号的使用，这使得 BASH 将该项目传递给别名，而不是自己估计它。别名还可用作较长的路径名的缩写：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ alias jdev9i=/jdev9i/jdev/bin/jdev&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;关于 alias 和它的反命令 &lt;/span&gt;&lt;tt&gt;unalias&lt;/tt&gt;&lt;span&gt; 的更多信息，请查看 BASH 的 &lt;tt&gt;man&lt;/tt&gt; 页面的 &amp;quot;SHELL BUILTIN COMMANDS&amp;quot; 子部分。在最后一个例子中，定义了一个环境变量来实现相同的结果。&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ export JDEV_HOME=/jdev9i/jdev/bin/jdev&lt;br&gt;$ echo $JDEV_HOME&lt;br&gt;/jdev9i/jdev/bin/jdev&lt;br&gt;$ $JDEV_HOME&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;链接允许几个文件名引用单个源文件，格式如下：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt; &lt;br&gt;ln [-s] fileyouwanttolinkto newname&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;&lt;/span&gt;单独的 &lt;tt&gt;ln&lt;/tt&gt;&lt;span&gt; 命令创建到文件的一个硬链接，而使用 &lt;/span&gt;&lt;tt&gt;-s&lt;/tt&gt;&lt;span&gt; 选项来创建一个符号链接。简而言之，一个硬链接几乎不能和原始的文件区分开（除了这两个文件的 inode 将相同之外）。符号链接较容易区分，因为它们出现在一个长的文件列表中，并用 &lt;/span&gt; &lt;tt&gt;-&amp;gt;&lt;/tt&gt;&lt;span&gt; 来指示源文件，&lt;/span&gt;&lt;tt&gt;l&lt;/tt&gt;&lt;span&gt; 指示文件类型。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;查看和查找文件&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;文件过滤器&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;用来读取文件内容和在文件内容上执行操作的命令有时被称为 &lt;/span&gt;&lt;span&gt;¹ý滤器&lt;/span&gt;&lt;span&gt;。&lt;/span&gt;&lt;tt&gt;sed&lt;/tt&gt;&lt;span&gt; 和 &lt;/span&gt;&lt;tt&gt;awk&lt;/tt&gt;&lt;span&gt; 命令是两个滤波器的例子，因为在以前的 OTN 文章中有它们详细的讨论，在这里将略过。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;诸如 &lt;/span&gt;&lt;tt&gt;cat、 more&lt;/tt&gt;&lt;span&gt; 和 &lt;/span&gt;&lt;tt&gt;less&lt;/tt&gt;&lt;span&gt; 之类的命令让您能够从命令行查看一个文本文件的内容，而无需调用编辑器。&lt;/span&gt;&lt;tt&gt;Cat&lt;/tt&gt;&lt;span&gt; 是 &amp;quot;concatenate&amp;quot; 的缩写，它将默认地在标准输出（显示屏）上显示文件内容。和  &lt;/span&gt;&lt;tt&gt;cat&lt;/tt&gt;&lt;span&gt; 一起提供的最有趣的选项之一是 &lt;/span&gt;&lt;tt&gt;-n&lt;/tt&gt;&lt;span&gt; 选项，它用编号的输出行来显示文件内容。&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ cat -n test.out&lt;br&gt;1  This is a test.&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;因为 &lt;/span&gt;&lt;tt&gt;cat&lt;/tt&gt;&lt;span&gt; 一次性输出文件中的所有行，所以您可能更喜欢用 &lt;/span&gt;&lt;tt&gt;more&lt;/tt&gt;&lt;span&gt; 和 &lt;/span&gt;&lt;tt&gt;less&lt;/tt&gt;&lt;span&gt;，因为它们都一次输出一屏的文件内容。&lt;/span&gt;&lt;tt&gt;Less&lt;/tt&gt;&lt;span&gt;  是 &lt;/span&gt;&lt;tt&gt;more&lt;/tt&gt;&lt;span&gt; 的一个增强的版本，它允许用来自 vi 文本编辑器的关键命令来增强文件查看。例如，&lt;/span&gt;&lt;tt&gt;d&lt;/tt&gt;&lt;span&gt; 向前翻滚、&lt;/span&gt;&lt;tt&gt;b&lt;/tt&gt;&lt;span&gt; 向后翻滚 &lt;/span&gt;&lt;span&gt;N&lt;/span&gt; &lt;span&gt; 行（如果 &lt;/span&gt;&lt;span&gt;N&lt;/span&gt;&lt;span&gt; 是在 &lt;/span&gt;&lt;tt&gt;d&lt;/tt&gt;&lt;span&gt; 或 &lt;/span&gt;&lt;tt&gt;b&lt;/tt&gt;&lt;span&gt; 之前指定的）。为 &lt;/span&gt;&lt;span&gt; N&lt;/span&gt;&lt;span&gt; 输入的值成为随后的 d 命令的默认值。&lt;tt&gt;man&lt;/tt&gt; 页面实用工具使用 less 来显示使用说明的内容。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;重定向和管道&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;重定向允许将命令输出重定向到文件中，而不是标准输出，或者类似地，也可重定向输入。重定向的标准符号 &amp;gt; 创建一个新的文件。&amp;gt;&amp;gt; 符号将输出添加到一个现有的文件中：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ more test2.out&lt;br&gt;Another test. &lt;br&gt;$ cat test.out &amp;gt;&amp;gt; test2.out&lt;br&gt;$ cat test2.out&lt;br&gt;Another test.&lt;br&gt;This is a test.&lt;br&gt;&lt;/pre&gt;  &lt;span&gt;到文件的标准输入可以用 &amp;lt; 符号来重定向：&lt;/span&gt;  &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ cat &amp;lt; test2.out&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;错误消息用 &lt;/span&gt;&lt;tt&gt;2&amp;gt;&lt;/tt&gt;&lt;span&gt; 和 &lt;/span&gt;&lt;tt&gt;2&amp;gt;&amp;gt;&lt;/tt&gt;&lt;span&gt; 来重定向和添加，格式如下： &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ command 2&amp;gt; name_of_error_file&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;要避免无意地覆盖一个现有的文件，使用 BASH 内置的命令集： &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ set -o noclobber&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;可以在命令和输出文件之间用 &lt;/span&gt;&lt;tt&gt;&amp;gt;!&lt;/tt&gt;&lt;span&gt; 符号来重载这个特性。要关闭这个特性，用 &lt;/span&gt;&lt;tt&gt;+o&lt;/tt&gt;&lt;span&gt; 代替 &lt;/span&gt;&lt;tt&gt;-o&lt;/tt&gt;&lt;span&gt;。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;重定向在一个命令和文件之间、或文件和文件之间工作。重定向语句的一项必须是一个文件。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;管道使用 &lt;/span&gt;&lt;tt&gt;|&lt;/tt&gt;&lt;span&gt;符号，并且在命令之间工作。例如，您可以用以下方式将一个命令的输出直接发送到打印机上：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ ls -l * | lpr&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;可以用以下方式快速地找到历史列表中的一个命令：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ history | grep cat&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;更多的滤波器&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;tt&gt;Grep、fgrep&lt;/tt&gt;&lt;span&gt; 和 &lt;/span&gt;&lt;tt&gt;egrep&lt;/tt&gt;&lt;span&gt; 都显示匹配一种模式的行。所有这三个命令都在文件中搜索指定的模式，如果您想不起来一个所需文件的名称，这将非常有用。基本格式是：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;grep [options] PATTERN [FILE...]&lt;br&gt;&lt;br&gt;$ grep -r &amp;#39;Subject&amp;#39; nsmail &lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;CTRL-Z 将终止上述或其它任何命令。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;&lt;/span&gt;&lt;tt&gt;grep&lt;/tt&gt;&lt;span&gt; 的最有用的选项可能是 &lt;/span&gt;&lt;tt&gt;-s&lt;/tt&gt;&lt;span&gt;。如果您以除根用户之外的任何身份搜索系统文件，那么对于每一个您没有访问权限的文件，都将产生错误消息。这个命令禁止那些消息。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;tt&gt;Fgrep&lt;/tt&gt;&lt;span&gt;（也以 &lt;/span&gt;&lt;tt&gt;grep&lt;/tt&gt;&lt;span&gt; -F 调用）只查找固定的字符串，而不是 grep 接收的正则表达式。而 &lt;/span&gt;&lt;tt&gt;egrep&lt;/tt&gt;&lt;span&gt; 接收包含更大范围的特殊字符（如 &amp;quot;|&amp;quot;，它指示条件 OR 运算符）的模式。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ egrep &amp;#39;Subject|mailto&amp;#39; *&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;查找文件&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;&lt;/span&gt;&lt;tt&gt;find&lt;/tt&gt;&lt;span&gt; 命令的 GNU 版本非常强大、灵活并且比 UNIX 系统上存在的经典版本更具包容性。它对于涉及到目录结构的任务非常有用，包括在文件上查找和执行命令。&lt;/span&gt;&lt;tt&gt;find&lt;/tt&gt;&lt;span&gt; 命令的基本格式是： &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ find &lt;i&gt;startdirectory options matchcriteria [actionoptions]&lt;/i&gt; &lt;/pre&gt;  &lt;p&gt;  &lt;span&gt;如果您知道文件的名称、或者甚至名称的一部分，但不知道它所处的目录，您可以这么做： &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ find .-name &amp;#39;test*&amp;#39;&lt;br&gt;./test&lt;br&gt;./jdevhome/mywork/EmpWS/EmpBC4J/test&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;与经典的 UNIX 系统不同，在 Linux 中不需要在末尾添加 &lt;/span&gt;&lt;tt&gt;-print&lt;/tt&gt;&lt;span&gt; 操作，因为如果没有指定其它的操作选项，就将假定执行这个操作。在目录起始位置上的一个点 ( &lt;/span&gt;&lt;tt&gt;.&lt;/tt&gt;&lt;span&gt; ) 将使 &lt;/span&gt;&lt;tt&gt;find&lt;/tt&gt;&lt;span&gt;  在您的工作目录中开始搜索。两个点， &lt;/span&gt;&lt;tt&gt;..&lt;/tt&gt;&lt;span&gt;，在父目录中开始搜索。您可以在任意目录下开始搜索。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;注意，您可以使用通配符作为搜索准则的一部分（只要用单引号将整个项目括起来）。&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ find .-name &amp;#39;test*&amp;#39; -print&lt;br&gt;./test.out&lt;br&gt;./test2.out&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;显示拥有 .out 扩展名的一系列文件： &lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ find /home -name &amp;#39;*.out&amp;#39;&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;不过记住，除非您是作为超级用户运行这个命令，否则您将可能得到许多的 &amp;quot;Permission denied&amp;quot; 错误消息。&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;最强大的搜索工具之一是和 &lt;tt&gt;grep&lt;/tt&gt;&lt;span&gt; 一起使用的 &lt;/span&gt;&lt;tt&gt;-exec&lt;/tt&gt;&lt;span&gt; 操作&lt;/span&gt;：&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre&gt;$ find .-name &amp;#39;*.html&amp;#39; -exec grep &amp;#39;mailto:&lt;a href="mailto:foo@yahoo.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;foo@yahoo.com&lt;/a&gt;&amp;#39; {} \;&lt;br&gt;&lt;/pre&gt;  &lt;p&gt; &lt;span&gt;这里，我们让 find 命令在当前目录中开始执行，&lt;/span&gt;&lt;tt&gt;.&lt;/tt&gt;&lt;span&gt;，查找一个 html 文件，&lt;/span&gt;&lt;tt&gt;*.html&lt;/tt&gt;&lt;span&gt;，并在当前文件上执行 (&lt;/span&gt;&lt;tt&gt;-exec&lt;/tt&gt;&lt;span&gt;) grep 命令，&lt;/span&gt; &lt;tt&gt;{}&lt;/tt&gt;&lt;span&gt;。当使用 &lt;/span&gt;&lt;tt&gt;-exec&lt;/tt&gt;&lt;span&gt; 操作时，需要一个分号 &lt;/span&gt;&lt;tt&gt;;&lt;/tt&gt;&lt;span&gt;，这是用来在使用 find 命令时执行其它一些操作。需要反斜线 &lt;/span&gt;&lt;tt&gt;\&lt;/tt&gt;&lt;span&gt; 和引号来确保这些项目通过 BASH，以使它们由命令而不是 shell 来进行解释。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;   &lt;span&gt;立即掌握 Linux 文件命令&lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;在 Linux 中提供了许多有用的命令和利用它们的强大的方法，在此无法一一说明。此外，完成许多任务通常都存在多种方法。 &lt;/span&gt; &lt;/p&gt; &lt;p&gt;  &lt;span&gt;我们已经看到了一些最常用和最有启发意义的 Linux 文件命令。掌握这些基础但却关键的工具将使您的 Linux 学习走上快车道。利用您手头上的 &lt;tt&gt;man&lt;/tt&gt; 页面，和试验的积极性，您现在拥有了足够的信息来开始探索 Linux 文件操作的力量。&lt;/span&gt; &lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-659997949378921810?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/659997949378921810/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=659997949378921810' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/659997949378921810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/659997949378921810'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/11/blog-post.html' title='文件命令精通指南 [转]'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-7025996874958298084</id><published>2007-11-12T00:25:00.001+08:00</published><updated>2007-11-12T00:25:11.733+08:00</updated><title type='text'>Fwd: Delivery Status Notification (Failure)</title><content type='html'>&lt;br&gt;&lt;br&gt;---------- Forwarded message ----------&lt;br&gt;&lt;span class="gmail_quote"&gt;From: &lt;b class="gmail_sendername"&gt;Mail Delivery Subsystem&lt;/b&gt; &amp;lt;&lt;a href="mailto:mailer-daemon@google.com"&gt;mailer-daemon@google.com&lt;/a&gt;&amp;gt;&lt;br&gt;Date: 2007-11-10 下午4:38 &lt;br&gt;Subject: Delivery Status Notification (Failure)&lt;br&gt;To: &lt;a href="mailto:zhangjunlong@gmail.com"&gt;zhangjunlong@gmail.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;This is an automatically generated Delivery Status Notification&lt;br&gt;&lt;br&gt;Delivery to the following recipient failed permanently: &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="mailto:zhangjunlong.weblog@blogger.com"&gt;zhangjunlong.weblog@blogger.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; ----- Original message -----&lt;br&gt;&lt;br&gt;Received: by &lt;a href="http://10.114.174.2"&gt;10.114.174.2&lt;/a&gt; with SMTP id w2mr621099wae.1194683920130 ;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sat, 10 Nov 2007 00:38:40 -0800 (PST)&lt;br&gt;Return-Path: &amp;lt;&lt;a href="mailto:zhangjunlong@gmail.com"&gt;zhangjunlong@gmail.com&lt;/a&gt;&amp;gt;&lt;br&gt;Received: from &lt;a href="http://py-out-1112.google.com"&gt;py-out-1112.google.com &lt;/a&gt; (&lt;a href="http://py-out-1112.google.com"&gt;py-out-1112.google.com&lt;/a&gt; [&lt;a href="http://64.233.166.177"&gt;64.233.166.177&lt;/a&gt;])&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;by &lt;a href="http://mx.google.com"&gt;mx.google.com&lt;/a&gt; with ESMTP id k36si16190862waf.2007.11.10.00.38.38 ;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sat, 10 Nov 2007 00:38:40 -0800 (PST)&lt;br&gt;Received-SPF: pass (&lt;a href="http://google.com"&gt;google.com&lt;/a&gt;: domain of &lt;a href="mailto:zhangjunlong@gmail.com"&gt;zhangjunlong@gmail.com&lt;/a&gt; designates &lt;a href="http://64.233.166.177"&gt; 64.233.166.177&lt;/a&gt; as permitted sender) client-ip=&lt;a href="http://64.233.166.177"&gt;64.233.166.177&lt;/a&gt;;&lt;br&gt;Authentication-Results: &lt;a href="http://mx.google.com"&gt;mx.google.com&lt;/a&gt;; spf=pass (&lt;a href="http://google.com"&gt;google.com &lt;/a&gt;: domain of &lt;a href="mailto:zhangjunlong@gmail.com"&gt;zhangjunlong@gmail.com&lt;/a&gt; designates &lt;a href="http://64.233.166.177"&gt;64.233.166.177&lt;/a&gt; as permitted sender) &lt;a href="mailto:smtp.mail=zhangjunlong@gmail.com"&gt;smtp.mail=zhangjunlong@gmail.com &lt;/a&gt;; dkim=pass (test mode) &lt;a href="mailto:header.i=@gmail.com"&gt;header.i=@gmail.com&lt;/a&gt;&lt;br&gt;Received: by &lt;a href="http://py-out-1112.google.com"&gt;py-out-1112.google.com&lt;/a&gt; with SMTP id u52so164717pyb&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for &amp;lt;&lt;a href="mailto:zhangjunlong.weblog@blogger.com"&gt; zhangjunlong.weblog@blogger.com&lt;/a&gt;&amp;gt;; Sat, 10 Nov 2007 00:38:38 -0800 (PST)&lt;br&gt;DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d=&lt;a href="http://gmail.com"&gt;gmail.com&lt;/a&gt;; s=beta;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bh=fFGsKW8OdRL1uWXMnGdvsN2TIpJ3evrEQMOEuQdkVgA=;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b=tT0Ln4uHyOCbrArAeCE2QaN6gY0oOn7nPrlXysuMTS3BQailFd1BlmKoHznzupd4GwAnBO/YJX3zyOgoo/BXAlYF31ULzAj/CqyF9BNg0gri5Qyn3qoPyH2lqD/hk4MjdJvUBdIwpmAVapQDGOrcjOH1vHeUUb+SV+zSXnoA71c= &lt;br&gt;DomainKey-Signature: a=rsa-sha1; c=nofws;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d=&lt;a href="http://gmail.com"&gt;gmail.com&lt;/a&gt;; s=beta;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h=received:message-id:date:from:to:subject:mime-version:content-type;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b=cCjVcHrNn/Q8XE0ica9H79P84qd3Rc9tTMGiVwQuYPe8c+w6icHomb1WmuJ8x/myKwTs2wWIQWq0btwPwLd5EWh35jAOVm0qMXhJRimPEbgpzelNwJ5Mv8nlOkSWmxNW9KthN2xVTj8yljcAz/n0PfWwaXGF0K0T6EGDAhqFOrc= &lt;br&gt;Received: by &lt;a href="http://10.35.79.3"&gt;10.35.79.3&lt;/a&gt; with SMTP id g3mr3169182pyl.1194683918093;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sat, 10 Nov 2007 00:38:38 -0800 (PST)&lt;br&gt;Received: by &lt;a href="http://10.35.114.12"&gt;10.35.114.12&lt;/a&gt; with HTTP; Sat, 10 Nov 2007 00:38:38 -0800 (PST) &lt;br&gt;Message-ID: &amp;lt;&lt;a href="mailto:325166440711100038v123166e6i2cd7364da2189f2e@mail.gmail.com"&gt;325166440711100038v123166e6i2cd7364da2189f2e@mail.gmail.com&lt;/a&gt;&amp;gt;&lt;br&gt;Date: Sat, 10 Nov 2007 16:38:38 +0800&lt;br&gt;From: &amp;quot;=?UTF-8?B?5byg5L+K6b6Z?=&amp;quot; &amp;lt; &lt;a href="mailto:zhangjunlong@gmail.com"&gt;zhangjunlong@gmail.com&lt;/a&gt;&amp;gt;&lt;br&gt;To: &amp;quot;Mail to Blogger of Zhang Junlong&amp;quot; &amp;lt;&lt;a href="mailto:zhangjunlong.weblog@blogger.com"&gt;zhangjunlong.weblog@blogger.com&lt;/a&gt;&amp;gt;&lt;br&gt;Subject: =?UTF-8?B?TGludXgg5paH5Lu25ZG95Luk57K+6YCa5oyH5Y2XIFvovaxd?= &lt;br&gt;MIME-Version: 1.0&lt;br&gt;Content-Type: multipart/alternative;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boundary=&amp;quot;----=_Part_4571_23465104.1194683918079&amp;quot;&lt;br&gt;&lt;br&gt;------=_Part_4571_23465104.1194683918079&lt;br&gt;Content-Type: text/plain; charset=UTF-8 &lt;br&gt;Content-Transfer-Encoding: base64&lt;br&gt;Content-Disposition: inline&lt;br&gt;&lt;br&gt;5L2c6ICF77yaU2hlcnlsIENhbGlzaAoK5Li65Yia5o6l6KemIExpbnV4IOaWh+S7tuWRveS7pOea&lt;br&gt;hOWIneWtpuiAheaPkOS+m+eahOmAn+aIkOaVmeeoiwoK6Jm954S2IEdVSSDmoYzpnaLvvIjlpoIg &lt;br&gt;S0RFIOWSjCBHTk9NRe+8ieiDveWkn+W4ruWKqeeUqOaIt+WIqeeUqCBMaW51eArnibnmgKfvvIzo&lt;br&gt;gIzml6DpnIDlhbPkuo7lkb3ku6TooYzmjqXlj6PnmoTlip/og73nn6Xor4bvvIzkvYbov5jmmK/n&lt;br&gt;u4/luLjkvJrpnIDopoHmm7TlpJrnmoTlip/og73lkozngbXmtLvmgKfjgILogIzkuJTvvIzln7rm &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; ----- Message truncated -----&lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-7025996874958298084?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/7025996874958298084/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=7025996874958298084' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7025996874958298084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7025996874958298084'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/11/fwd-delivery-status-notification.html' title='Fwd: Delivery Status Notification (Failure)'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-5418570870020728340</id><published>2007-11-07T09:25:00.000+08:00</published><updated>2007-11-07T09:30:13.952+08:00</updated><title type='text'>Microsoft Releases @live.com Mail</title><content type='html'>go to :https://signup.live.com/newuser.aspx?mkt=en-us&amp;amp;revipc=CN&amp;amp;ts=4128072&amp;amp;sh=Ryon&amp;amp;ru=http%&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-5418570870020728340?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/5418570870020728340/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=5418570870020728340' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/5418570870020728340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/5418570870020728340'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/11/microsoft-releases-livecom-mail.html' title='Microsoft Releases @live.com Mail'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-7341926539975717639</id><published>2007-09-29T19:05:00.000+08:00</published><updated>2007-09-29T19:06:31.632+08:00</updated><title type='text'>Manuel configure Java Runtime Environment(JRE) without JRE installer in Windows.</title><content type='html'>* JAVA_HOME stand for the actual Java SDK home directory in system.&lt;br&gt;* JAVA_HOME\jre stand for the actual JRE home directory in system.&lt;br&gt;* The actual version number will be written to letter &amp;#39;x&amp;#39;.&lt;p&gt;1、Copy JAVA_HOME\jre\bin\jpicpl32.cpl to system32 directory, this will &lt;br&gt;make a java-plugin icon display in Windows Control Panel.&lt;br&gt;A *.cpl file is a windows contorl panel application，it will display in &lt;br&gt;Control Panel while it was under the system directory.&lt;p&gt;2、Add the following content to Windows Register Table&lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.x]&lt;br&gt;&amp;quot;MicroVersion&amp;quot;=&amp;quot;1&amp;quot;&lt;br&gt;&amp;quot;RuntimeLib&amp;quot;=&amp;quot;JAVA_HOME\\jre\\bin\\client\\jvm.dll&amp;quot;&lt;br&gt;&amp;quot;JavaHome&amp;quot;=&amp;quot;JAVAP_HOME\\jre&amp;quot;&lt;br&gt;and&lt;br&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in\1.x]&lt;br&gt;&amp;quot;UseJava2IExplorer&amp;quot;=dword:00000001&lt;br&gt;&amp;quot;JavaHome&amp;quot;=&amp;quot;JAVA_HOME\\jre&amp;quot;&lt;br&gt;&amp;quot;HideSystemTrayIcon&amp;quot;=dword:00000000&lt;p&gt;this will make the java-plugin icon in Contorl Panel can be run after &lt;br&gt;double-clike.&lt;p&gt;3、Register the NPJPI1xx_xx.dll(the character &amp;#39;x&amp;#39; stand for the actual &lt;br&gt;file version of JRE) to system.&lt;br&gt;Key in the following command in Windows Command Line:&lt;p&gt; regsvr32  JAVA_HOME\jre\bin\NPJPI141_02.dll&lt;p&gt;Make the NPJPI1xx_xx.dll file register to system.&lt;p&gt;The NPJPI1xx_xx.dll is a Windows COM component，inclueding three COM &lt;br&gt;object: a Java Plug-in 1.x, a java applet transformer and Java Runtime &lt;br&gt;Environment 1.x linker.And There classid are &lt;br&gt;8AD9C840-044E-11D1-B3E9-00805F499D93，CAFEEFAC-0014 &lt;br&gt;-0001-0002-ABCDEFFEDCBA and CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB.&lt;br&gt;It makes browser(such as IE) switch the applet including page from &lt;br&gt;Micorsoft VM to Java VM by supporting a group of COM interface.&lt;p&gt;4、Correct the Windows Register Table content to fit NPJP141_02.dll &lt;br&gt;registered infomation in file system.&lt;br&gt;Because the infomation cannot be correct configure in Windows Register &lt;br&gt;Table when NPJPI1xx_xx.dll was register to system.&lt;br&gt;(NPJPI1xx_xx.dll&amp;#39;s name in Register Table will be NPJAVA1xx_xx.dll)，we &lt;br&gt;must correct it manuelly.&lt;br&gt;The following content should be corrected:&lt;p&gt;[HKEY_CLASSES_ROOT\CLSID\{8AD9C840-044E-11D1-B3E9-00805F499D93}\InprocServer32]&lt;br&gt;@=&amp;quot;JAVA_HOME\\jre\\bin\\npjpi1xx_xx.dll&amp;quot;&lt;p&gt;&lt;br&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8AD9C840-044E-11D1-B3E9-00805F499D93}\InprocServer32]&lt;br&gt;@=&amp;quot;JAVA_HOME\\jre\\bin\\npjpi1xx_xx.dll&amp;quot;&lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBA}\InprocServer32]&lt;br&gt;@=&amp;quot;JAVA_HOME\\jre\\bin\\NPJPI1xx_xx.dll&amp;quot;&lt;p&gt;[HKEY_CLASSES_ROOT\CLSID\{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBA}\InprocServer32]&lt;br&gt;@=&amp;quot;JAVA_HOME\\jre\\bin\\NPJPI1xx_xx.dll&amp;quot;&lt;p&gt;&lt;br&gt;[HKEY_CLASSES_ROOT\CLSID\{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}\InprocServer32]&lt;br&gt;@=&amp;quot;JAVA_HOME\\jre\\bin\\NPJPI1xx_xx.dll&amp;quot;&lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}\InprocServer32]&lt;br&gt;@=&amp;quot;JAVA_HOME\\jre\\bin\\NPJPI1xx_xx.dll&amp;quot;&lt;p&gt;They are all file name error，modify the three COM object included in &lt;br&gt;NPJPI1xx_xx.dll name to point to correct file。&lt;p&gt;5、Make msjava.dll switch to SUN JavaVM.&lt;br&gt;Add&lt;br&gt;[HKEY_CLASSES_ROOT\CLSID\{08B0E5C0-4FCB-11CF-AAA5-00401C608501}\TreatAs]&lt;br&gt;@=&amp;quot;{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}&amp;quot;&lt;br&gt;to Register Table&lt;br&gt;The COM object whose classid is 08B0E5C0-4FCB-11CF-AAA5-00401C608501 is &lt;br&gt;included in msjava.dll. It&amp;#39;s a part of MicorSoft vm.&lt;p&gt;6、Finally(not required).&lt;br&gt;Add&lt;br&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed &lt;br&gt;Components\{08B0E5C0-4FCB-11CF-AAA5-00401C608500}]&lt;br&gt;&amp;quot;KeyFileName&amp;quot;=&amp;quot;JAVA_HOME\\jre\\bin\\ActPanel.dll&amp;quot;&lt;br&gt;to Register Table&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-7341926539975717639?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/7341926539975717639/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=7341926539975717639' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7341926539975717639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7341926539975717639'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/09/manuel-configure-java-runtime.html' title='Manuel configure Java Runtime Environment(JRE) without JRE installer in Windows.'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-123486200124258429</id><published>2007-09-19T23:00:00.000+08:00</published><updated>2007-09-19T23:01:00.435+08:00</updated><title type='text'>Beyond 语录</title><content type='html'>"在最光辉灿烂的时候把生命一下子玩到尽头，就是永恒！"&lt;br&gt;&lt;br&gt;&lt;a name="60579186"&gt;"我绝对唔希望我地中国人永远停留响怀缅过去一D辉煌史里面, 呢D辉煌史已经过去, 我地要建立明日辉煌史, 我地要为将来做得更好。"&lt;/a&gt;&lt;br&gt;&lt;br&gt;"我在抱怨一件我不满意的事情，我会尽量去改变它。但是，如果我不断抱怨但又不去改变它，那我永远只会是抱怨。"&lt;br&gt;&lt;br&gt;"我感受的，思想的，会用歌唱出来... ..."&lt;br&gt;&lt;div style="margin-left: 40px;"&gt; &lt;br&gt;&lt;/div&gt;"自由是我的愿望。如果旁人不干涉我干任何事，多好!还有，祈求身壮体健，无病无痛，龙精虎猛地活下去。"&lt;br&gt;&lt;br&gt;"在最光辉灿烂的时候把生命一下子玩到尽头，就是永恒！"&lt;br&gt;&lt;br&gt;&lt;div style="margin-left: 40px;"&gt;&lt;/div&gt;"我不知道什么是大事什么是小事，我只知道做年轻人该做的事。"&lt;br&gt;&lt;br&gt;"Life&amp;nbsp;is&amp;nbsp;not&amp;nbsp;what&amp;nbsp;you&amp;nbsp;have&amp;nbsp;gained&amp;nbsp;but&amp;nbsp;what&amp;nbsp;you&amp;nbsp;have&amp;nbsp;done!" &lt;br&gt;&lt;br&gt;"&lt;a name="60579186"&gt;圣经说世界末日会降临在2000年，我想，如果我长命得可以到的话，这是颇甚刺激的；但再想时这地球上不再存有什么的，我又以为这是很没意思的一回事。这 几年流行的一股末世纪风气，人人都只是"今朝有酒今朝醉"，的确让人感到头痛。无可否认，末世的气氛之浓厚，的确是让人感到难以抗拒。不断的发现新的不治 之症，国家与国家的互相争斗此等新闻，在这几年间都不绝于耳…… &lt;br&gt; 常想：这地球上有着许多"小国"，正期待新的世界或美好的将来的来临，而一下子的到了 2000年这末世，这地球宣布再没有人类的存在，这不是挺不公平的事情吗？为什么那些所谓的"大国"，都因为有感自己已发展得差不多到尽头，且因为相信圣 经所指的世界末日的即将降临，而都在制造一股末世气氛？地球上现在存有的，只有"期待死亡"与"渴望明天会更好"的两类人，这究竟又是怎么样的世界？我们 应否继续积极工作呢？这些都是我在工作之余或看新闻时才会想，也是我现在想到的头痛问题。&lt;/a&gt;"&lt;br&gt;&lt;br&gt;"只要有音乐，就不会有世界末日！"&lt;br&gt;&lt;br&gt;"直至现在为止，我还不敢斩钉截铁说，谁是我最疼爱的人。有阵子，跟一位女孩子相处，责任往往重于感情，所以，我仍不断在溺寻……也许，他朝被我找到心仪的对象，然而，她又不可能不像我爱她那么多，与其如此，我宁愿'她'永不要出现。"&lt;br&gt;&lt;br&gt;"我要带领世界再创道理，哪会放弃每个教训，令我找到心中理想。" &lt;br&gt;&lt;br&gt;"音乐应该有很多种类，有很多性格， 有很多色彩， 有很多不同的感情，不同文化在里面， 音乐是艺术。 &lt;br&gt;&amp;nbsp;音乐不是娱乐那么简单，是生命里面一个节奏， 无论你是一个多么繁忙的人，怎么样顾着赚钱的人，都不可以没有音乐。 &lt;br&gt;&amp;nbsp;大部份我们的歌，不是用来娱乐的多，是（用来）&lt;a href="javascript:;" onclick="javascript:tagshow(event, &amp;#39;%D0%C0%C9%CD&amp;#39;);" target="_self"&gt; &lt;u&gt;&lt;strong&gt;欣赏&lt;/strong&gt;&lt;/u&gt;&lt;/a&gt;的（比较）多。 &lt;br&gt;&amp;nbsp;这是我们的心声，我现在对这样东西&lt;a href="javascript:;" onclick="javascript:tagshow(event, &amp;#39;%D3%D0%B8%D0&amp;#39;);" target="_self"&gt;&lt;u&gt;&lt;strong&gt;有感&lt;/strong&gt;&lt;/u&gt;&lt;/a&gt;觉，我大声一点唱给大家听。 &lt;br&gt;&amp;nbsp;我觉得每一样东西都是发自内心，要感动别人一定要先感动自己。 &lt;br&gt;&amp;nbsp;我是音乐人，我是音乐人，我会尊重音乐。&lt;br&gt;&amp;nbsp;如果没有音乐，我会死，我真的会死， 不可能没有。&lt;br&gt;&amp;nbsp;我整天觉得自己背着吉他就好像背着一把宝剑，无论去到多远多远，最后我们都回到这里。&lt;br&gt;&lt;br&gt;"香港只有娱乐圈，香港没乐坛... ..."&lt;br&gt;&lt;br&gt;"这一次不是60年代乐乐队潮流的复苏，是革命… …"&lt;br&gt;&lt;br&gt;"我们希望将Beyond的音乐带往世界，使Beyond国际化，这是一个野心很大的理想，虽然路并不容易行，但我们会努力把它实现。" &lt;br&gt;&lt;br&gt;"我 喜欢音乐的过程非常之长，是慢慢地被潜移默化的，慢慢的听，愈听便愈喜欢。我还记得自己十三、四岁的时候，除了我家姐喜爱听歌&amp;nbsp;&amp;nbsp; 之外，还有一个朋友都是热爱 音乐的。有一天他突然的问我，有没有想过自己喜爱什么，我摸不着头脑，只觉得他的说话很怪，什么叫喜 欢不喜欢呢，又为什么要找样东西来喜欢呢？于是便随口 答句：'游水罗！'，跟着我那朋友反问我有那个人识游水而不喜欢游水呢，有人之所以说不喜欢游水只是因为不懂游水，这个不成答案。我想了又想，觉得又有道 理。况且任何时候，潮流都影响了社会新一代，我又怎会例外呢，于是便开始听起音乐来。"&lt;br&gt;&lt;br&gt;"说起来虽然当时是流行弹吉他唱Folk Song ，但我却认为这些玩意只是'撩女仔'的技俩，毫无意义，我十分讨厌。另外当时从电视上看到 David Bowie 的演出，一看便像着了魔一样的爱上了，经常在想着这些，又觉得他在舞台上的表演是能人所不能的，有什么可能会是这样的 超然呢，他的脑袋是想什么的呢？感觉 上便觉得他好像是超人一样。那时自己真的很疯狂的，每次电视台有他的演出，虽然当时未有唱片、录映等设备，都会提着那座简陋的卡式机，站在电视机的喇叭旁 边，把整个音乐会录下来，然后晚都听着那盒录音带，躲被窝中听完又听。整间房每个角落都贴满David Bowie的poster，连天花板都不例外。整个故事都是由他开始的，自从接触过他的音乐，连思想都不断受他影响，不过除了他之外，同类型技术摇摆的乐 手都有追随，好像King Crimson、Brian Eno 等等，不过对我的影响都不及他。我就是听这些长大的。"&lt;br&gt;&lt;br&gt;"我那个朋 友弹结他弹得很好，常常都鼓励我去学。那时我的家是做五金生意的，有一次隔邻店铺要搬走，遗留一支非常残旧的结他，我问那朋友有否兴趣，他叫我弄干净给 他，于是我用天拿水倒入结他，想慢慢擦干净，谁知天拿水遇上结他面的「力架」会腐蚀了结他面，于是我足足花了一个晚上，将整支天拿水倒向结他，务求将所有 「力架」擦去，免得结他面一片黄一片黑，结果我成功了，但当我拿结他给我的朋友时，他居然说太旧，他不要了，枉费了我一番心机，于是我把心一横，就拿起那 支结他去弹、去学，由朋友和结他书做引导，学起来学得一段日子，都只是盲求的弹着自己喜欢的Bowie-Brian Eno 等等，我的朋友又来告诉我这样是不该，跟着又问我知不知其它的音乐，例如Blues、Jazz、R&amp;amp;B等等最基本的东西是什么，我听得一头雾水， 但还是不停的苦练，找其它人夹 Band，但当时年纪小，完全不懂得什么叫迁就，于是常常有争执，风格上又分歧得紧要，而且一争吵起来，意气用事，说话往往有骨的，得得戚戚的，还以为别 人一定要迁就自己，于是很多时候夹Band夹到连朋友都没有了。还记得有一次，虽然当时弹的是Rhythm Guitar 的位置，没什么发挥机会，但我都很尽力的苦练，结果到夹歌的时候，还是被那个Lead Guitar 手骂个狗血淋头，骂我弹得差，当时甚替自己不值，于是决定无论如何都要练得一手好结他，跟着便每日用六个钟头的去练… …现在想起来，都觉得好笑。"&lt;br clear="all"&gt;&lt;br&gt;"David Bowie 的"1984"及"Diamond Dog"，震撼人心。无疑，David Bowie 磁性的声音，的确风魔了当年成千上万的歌迷。心想，他必定不是地球的人。"&lt;br&gt;&lt;br&gt;"非洲向来给人穷困和落后的感觉，世界不断前进，眼看他们的生命停滞下来，不禁觉得可惜，只要我们肯付出一点关注，他们也可以跟我们迈进明天。" &lt;br&gt;&lt;br&gt;"我感受的、思想的，会用歌唱出来... ..."&lt;br&gt;&lt;br&gt;"音乐创作源于生活，我们比较喜欢留心世界的升势，为创作带来冲击。"&lt;br&gt;&lt;br&gt;"从没觉得Beyond属于'地下乐队'，我们玩自已喜欢听的音乐，没有故意玩别人不喜欢的音乐。"&lt;br&gt;&lt;br&gt;" &amp;#39; 地下&amp;#39; 的正真意义是社会不容许仍要死干。香港没有政治思想斗争，我们玩英式摇滚表达一下对社会不满。"&lt;br&gt;&lt;br&gt;"圈中可话事的人根本不尊重音乐，只以音乐形式我娱乐大众，宣传歌手。并不是用音乐去打动人的心，内容空洞、没感情。我们是百分百音乐人，一心一意做音乐，有唱片出时才露面宣传，平时就躲起来做音乐。如果不出唱片也上电视、电台节目，才是艺人！" &lt;br&gt;&lt;br&gt;"很多歌手经常出度慈活动，什么扶贫 到孤儿院… 可是他们的歌从来没表达过关怀社会的讯息，为什么？想红者更红。"&lt;br&gt;&lt;br&gt;"有些歌星上综艺节目，踩踩蛋，饮饮奶、打个筋斗，有什么意思？对音乐的帮助是零，只提高了自己的知名度而己。"&lt;br&gt;&lt;br&gt;"做人最重要真。好奇怪，有些艺人能够装出笑脸，明明不是很熟的，见面时却互相拥抱扮亲热，为什么？我却不愿意做木偶，对人强颜欢笑，音乐人只需做好音乐。"&lt;br&gt;&lt;br&gt;&lt;br&gt;"不要老跟着我们后面说我们帅，不要我唱歌你们跟我斗大声，希望你们注意的是我们的音乐！" &lt;br&gt;&lt;br&gt;（记者）"么你自己不一个独立的歌手，而要主建一支乐队呢？"&lt;br&gt;（家驹）"因为我对唱歌没感觉，我只对乐器有感觉… …"&lt;br&gt;&lt;br&gt;&lt;a name="60579186"&gt;"我们希望将Beyond的音乐带往世界，使Beyond国际化，这是一个野心很大的理想，虽然路并不容易行，但我们会努力把它实现。"&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a name="60579186"&gt;"常有人问我们，为什么去那么远，那边的人很厉害，你们怕不怕?其实我真的很怕，你们知道日本仔很厉害的。我们去 那么远，为了很多东西，为什么有这样的冲动和勇气去那么远的地方，发表我们的音乐，面对外面很多高水准的乐手和一些很难打进的市场，是因为香港有一帮很支 持我们的歌迷，很多歌迷担心我们去了日本不再回来我们怎么会不回来？最重要的是能够去日本发展的勇气也是源自你们这么多年来的支持，对不对？不论去多远多 远，我们最后都是回到这里，最后最后我们都是香港的乐队。" &lt;br&gt;&lt;br&gt;&lt;/a&gt;&lt;a name="60579186"&gt;"我谂最大理想我谂都系Beyond 可以世界巡回表演, 可以带俾外面0既朋友睇我地香港都有自己音乐, 话俾人听我地香港乐队都有番咁上下份量"&lt;br&gt;&lt;br&gt;&lt;/a&gt;&lt;a name="60579186"&gt;"我哋可以咁大胆去到咁远, 完全因为有一班好似你地咁好0既歌迷。&amp;quot;&lt;br&gt;&lt;br&gt;"&lt;/a&gt;&lt;a name="60579186"&gt; 喺我地未来日子里面我地面对好多大时代变迁, 我地会好积极咁面对我地将来变化"&lt;br&gt;&lt;br&gt;&lt;/a&gt;&lt;a name="60579186"&gt;"我相信今晚一定有D由83年支持到我今日0既朋友喺度, 唔系好多, 但都应该有啩, 再次多谢你地"&lt;/a&gt;&lt;a name="60579186"&gt;&lt;br&gt;&lt;/a&gt;&lt;a name="60579186"&gt;&lt;/a&gt;&lt;a name="60579186"&gt;&lt;/a&gt;&lt;a name="60579186"&gt;&lt;br&gt;&lt;/a&gt; &lt;div style="margin-left: 600px;"&gt;—— 黄家驹&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;"有人歌唱、弹奏音乐，因为社会有一种商品需求，他们可以从中得到经济效益，也有人歌唱，弹奏音乐，是因为他有些话要说，有一些情感需要沟通… …" &amp;nbsp; ——Beyond写在《香港》的混合大碟里&lt;br&gt;&lt;br&gt;不是每种声音都叫音乐，不是每支乐队都叫Beyond&amp;nbsp;&amp;nbsp;&amp;nbsp; —— Beyond《SOUND》专集封面致词&lt;br&gt;&lt;br&gt;&lt;a name="60579186"&gt;"记得有位新相识的朋友首次与我倾谈时，就直指我是不懂得欣赏人。后来我想想，原来那个朋友说的并没有错。就以听歌来说，我就常发现以前有很多我以为是劣作的本地创作在多听几遍以后，就可找到其可听之处。   &lt;br&gt; 从中使我亦明白，原来任何人、事都必有其好坏之处，我们应仔细欣赏分析，并同时吸收学习，才可获得成熟进步，这是创作人尤其应该懂得的。另外，我总常被指 孩子气，这也是别人对我的误会吧！我常以为任何事经过轻松的处理后，都是容易接受得多的。我的所谓孩子气，也是轻松罢了！我是一个颇为害羞、害怕社交，也 懂得如何让自己快乐的人。我常想，每个人都必定会遇得上不快乐的时候，如果可以让自己轻松、快乐多一些，又为什么不积极实行之呢？"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 黄家强&lt;/a&gt;&lt;br&gt;&lt;br&gt;"或者你会以为，除了音乐我们没有其它什么的，那么我会对你说：对不起，除了音乐，我们什么也没有。"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 黄家强&lt;br&gt;&lt;br&gt;"他（家驹）现在生存在我的脑里面，其实是没人可以代替他，我知道，他不会回来了，你不能想要见他他就便会再出现。没有便没有了… …"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 黄家强 &lt;br&gt;&lt;br&gt;"这个世界里有太多的狐狸、老虎、而我是一只北极熊，不同于一般非洲动物。"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 黄贯中&lt;br&gt;&lt;br&gt;"任何自我了结生命的人，在我眼里都会变成弱者。"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 黄贯中 &lt;br&gt;&lt;br&gt;"坦白讲，对于自己的吉他技术未算满意，有些地方可以练得出神入化，但我目前为止还未达到心中的最高要求，只有寄望明天… …"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 黄贯中&lt;br&gt;&lt;br&gt;&lt;a name="60579186"&gt;"组band多年，想来其实也是甚为辛苦的一件事。在未为人所接受的时候，我们总是埋怨，总 '嫌'别人不喜欢自己；而在被接受以后，我们又却做着许多音乐以外的工作，像拍戏、上电视、接受访问……   &lt;br&gt;  我总常在做过大量这些工作以后，反问自己是否知道自己在做着些什么？最渴望做的是什么？我又总会想到昔日虽然失意，但却可以想做就去做的自由日子… …我想，'得到一些就必得放弃另一些'，这是必然的。我的确渴望玩奏自己喜欢的音乐，尤其是听到看到一些偏爱的外国乐队，我就更感无奈。像U2多好，怎么穿都没有大碍，不似在香港市场，穿得不好就遭人话柄。"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 黄贯中&lt;/a&gt;&lt;br&gt;&lt;br&gt;"我们不希罕什么漂亮的房屋，开什么跑车。好象那些明星那样，我们从来都不希罕。我们但求一样东西，就是你们永远记住这里有一支乐队叫'beyond&amp;#39; &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 黄贯中 于20003年演唱会 &lt;br&gt;&lt;br&gt;"一晃间，竟学鼓达多年，坦白而言，自已的技术仍很幼嫩，还没纯熟，打鼓真不是举手投足般，要花心机和时间钻研下去。"&amp;nbsp; —— 叶世荣&lt;br&gt;&lt;br&gt;&lt;a name="60579186"&gt;"我实在希望香港乐坛可以让rock music生存，换言之我是希望rock music在香港是拥有一定的市场。记得年少时我总是喜欢摇滚的，因此极难找到知心友。那时，我总以为不懂摇滚音乐的，是不能与之沟通的……   &lt;br&gt; 说来，我亦希望香港乐坛以后再没有很多的over version甚或抄袭出现——Beyond，实在希望积极地对此附诸实行，好改变这乐坛怪象……"我以为训练下一代，新band加入是十分重要的。我以 为现代音乐中，乐队较歌手是更见重要的，乐队乃是一种创作精神，没有band也就没了创作，没有了属于自己的音乐。"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 叶世荣&lt;br&gt;&lt;br&gt;  "我常以为乐坛里并不是没有摇滚的存在，但真正的会予以广泛宣扬的，却没有几人。因此，我希望这里会出现另一些同样喜欢摇滚的乐队，可与Beyond一起摇滚。"&lt;/a&gt;&lt;a name="60579186"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 叶世荣&lt;/a&gt;&lt;br&gt;&lt;br&gt;"一生人夹过一队Beyond，能够成为Beyond的一分子，与家驹、家强、阿Paul合作，己经无憾。" &amp;nbsp; —— 叶世荣&lt;br&gt;&lt;br&gt;&lt;br&gt;其它各界人士有关于黄家驹的话：&lt;br&gt;&lt;br&gt;"生存的人 活着的人 他们一起追求梦想，为的是超越伤痛的目标。走了的人 老了的人 他们心中仍充满那独一的热情。"&amp;nbsp;&amp;nbsp;&amp;nbsp; —— 日本著名的摇滚乐队BAKFU-SLUMP为Beyond写的歌的词&lt;br&gt;-- &lt;br&gt;It is not enough to succeed. Others must fail. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-123486200124258429?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/123486200124258429/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=123486200124258429' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/123486200124258429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/123486200124258429'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/09/beyond.html' title='Beyond 语录'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-5010260824910088282</id><published>2007-09-17T13:03:00.000+08:00</published><updated>2007-09-17T13:04:49.105+08:00</updated><title type='text'>Larry Ellison's Speech to Yale Class of 2000</title><content type='html'>&amp;quot;Graduates of Yale University, I apologize if you have endured this type &lt;br&gt;of prologue before, but I want you to do something for me. Please, take &lt;br&gt;a good look around you. Look at the classmate on your left. Look at the &lt;br&gt;classmate on your right. Now, consider this: five years from now, 10 &lt;br&gt;years from now, even thirty years from now, odds are the person on your &lt;br&gt;left is going to be a loser. The person on your right, meanwhile, will &lt;br&gt;also be a loser.&lt;br&gt;And you, in the middle? What can you expect? Loser. Loserhood.Loser Cum &lt;br&gt;Laude. In fact, as I look out before me today, I don&amp;#39;t see a thousand &lt;br&gt;hopes for a bright tomorrow. I don&amp;#39;t see a thousand future leaders in a &lt;br&gt;thousand industries. I see a thousand losers. You&amp;#39;re upset. That&amp;#39;s &lt;br&gt;understandable. After all, how can I,Lawrence &amp;quot;Larry&amp;quot; Ellison, college &lt;br&gt;dropout, have the audacity to spout such heresy to the graduating class &lt;br&gt;of one of the nation&amp;#39;s most prestigious institutions?&lt;br&gt;I&amp;#39;ll tell you why. Because I, Lawrence &amp;quot;Larry&amp;quot; Ellison, second richest &lt;br&gt;man on the planet, am college dropout, and you are not.Because Bill &lt;br&gt;Gates, richest man on the planet-for now anyway-is a college dropout, &lt;br&gt;and you are not. Because Paul Allen, the third richest man on the &lt;br&gt;planet, dropped out of college, and you did not. And for good measure, &lt;br&gt;because Michael Dell, No.9 on the list and moving up fast, is a college &lt;br&gt;dropout, and you, yet again, are not.&lt;br&gt;Hmm ... you&amp;#39;re very upset. That&amp;#39;s understandable. So let me stroke your &lt;br&gt;Egos for a moment by pointing out, quite sincerely, that your diplomas &lt;br&gt;were not attained in vain. Most of you, I imagine, have spent four to &lt;br&gt;five years here, and in many ways what you&amp;#39;ve learned and endured will &lt;br&gt;serve you well in the years ahead. You&amp;#39;ve established good work habits. &lt;br&gt;You&amp;#39;ve established a network of people that will help you down the road. &lt;br&gt;And you&amp;#39;ve established what will be lifelong relationships with the word &lt;br&gt;&amp;quot;therapy.&amp;quot; All that of is good. For in truth, you will need that &lt;br&gt;network. You will need those strong work habits. You will need that &lt;br&gt;therapy. You will need them because you didn&amp;#39;t drop out, and so you will &lt;br&gt;never be among the richest people in the world. Oh sure, you may, &lt;br&gt;perhaps, work your way up to #10 or #11, like Steve Ballmer. But then, I &lt;br&gt;don&amp;#39;t have to tell you who he really works for, do I? And for the &lt;br&gt;record, he dropped out of grad school. Bit of a late bloomer. Finally, I &lt;br&gt;realize that many of you, and hopefully by now most of you, Are &lt;br&gt;wondering, &amp;quot;Is there anything I can do? Is there any hope for me at all? &lt;br&gt;Actually, no. It&amp;#39;s too late. You&amp;#39;ve absorbed too much, think you know &lt;br&gt;too much. You&amp;#39;re not 9 anymore. You have a built-in cap,and I&amp;#39;m not &lt;br&gt;referring to the mortarboards on your heads.&lt;br&gt;Hmm ... you&amp;#39;re really very upset. That&amp;#39;s understandable. So perhaps this &lt;br&gt;Could be a good time to bring up the silver lining. Not for you, Class &lt;br&gt;of &amp;#39;00. You are a write-off, so I&amp;#39;ll let you slink off to your pathetic &lt;br&gt;$200,000-a-year jobs, where your cheques will be signed by former &lt;br&gt;classmates who dropped out two years ago. Instead, I want to give hope &lt;br&gt;to any underclassmen here today. I say to you, and I can&amp;#39;t stress this &lt;br&gt;enough: leave. Pack your things and your ideas and don&amp;#39;t come back. Drop &lt;br&gt;out. Start up. For I can tell you that a cap and gown will keep you down &lt;br&gt;just as surely as these security guards dragging me off this stage are &lt;br&gt;keeping me down...&amp;quot; (At this point The Oracle CEO was ushered off stage.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-5010260824910088282?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/5010260824910088282/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=5010260824910088282' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/5010260824910088282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/5010260824910088282'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/09/larry-ellisons-speech-to-yale-class-of.html' title='Larry Ellison&apos;s Speech to Yale Class of 2000'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-4289979432817968441</id><published>2007-09-13T14:15:00.000+08:00</published><updated>2007-09-13T14:16:22.422+08:00</updated><title type='text'>来自hp的搞笑</title><content type='html'>惠普（hp）广告攻击联想（lenovo）截图&lt;br&gt; &lt;img alt="hp-lenovo" src="cid:part1.09010803.05000304@gmail.com"  height="184" width="518"&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-4289979432817968441?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/4289979432817968441/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=4289979432817968441' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/4289979432817968441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/4289979432817968441'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/09/hp.html' title='来自hp的搞笑'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-7238463775804431122</id><published>2007-09-08T11:41:00.000+08:00</published><updated>2007-09-08T11:43:22.041+08:00</updated><title type='text'>2007年最牛B的100条MSN签名(转)</title><content type='html'>1、我就像一只趴在玻璃上的苍蝇，前途一片光明，而我却找不到出路。&lt;br&gt;2、挤在北京，给首都添麻烦了……&lt;br&gt;3、心中充满爱，看天下美女都是情人。&lt;br&gt;4、台湾一日不收复，我一日不过4级！&lt;br&gt;5、啊哦厄依乌迂波坡摸佛得特呢勒哥科喝机奇西知吃尸日资雌思&lt;br&gt;6、好好活着，因为我们会死很久很久……&lt;br&gt;7、如果你看到面前的阴影，别怕，那是因为你的背后有阳光。&lt;br&gt;8、狂欢是一群人的孤单……&lt;br&gt;9、上帝给了我们七情六欲，我们却把它们变成了色情和暴力。&lt;br&gt;10、帅有个屁用！到头来还不是被卒吃掉！&lt;br&gt;11、让房价涨的再猛烈一些吧！&lt;br&gt;12、谁能对偶的感情就像对人民币一样忠诚？&lt;br&gt;13、流血了……会不会很疼？&lt;br&gt;14、他们说我是BT，让我去做CT，结果我是ET。&lt;br&gt;15、做一个徘徊在牛A和牛C之间的人。&lt;br&gt;16、白天瞎JB忙，晚上JB瞎忙。&lt;br&gt;17、我爱你，并不是因为你是谁，而是在你面前时，我是谁！&lt;br&gt;18、一定是我的帅害S了我！&lt;br&gt;19、生是她的人，死是她的吉祥物。&lt;br&gt;20、如果太阳不出来了，我就不去上班了；如果出来了，我就继续睡觉！&lt;br&gt;21、老子误吃了一瓶&amp;quot;乌鸡白凤丸&amp;quot;。这下可好，每个月都要流几天的鼻血。&lt;br&gt;22、瞎子点灯，或许不是一种愚蠢，亦或是一种智慧，甚至气度……&lt;br&gt;23、24K纯爷们！纯的！&lt;br&gt;24、你真是个地道的美人啊。就是说你只有在地道里才算美人，因为地道里没灯。&lt;br&gt;25、蹲在厕所里，想着500万……&lt;br&gt;26、写什么写，就是写了你会信么？什么？你真信，你怎么那么幼稚啊！&lt;br&gt;27、早知道前世的五百次回眸，能换来今生的与你相遇。我就该把头甩断，来换这 &lt;br&gt;一辈子与你相遇。&lt;br&gt;28、彪悍的人生不需要解释。&lt;br&gt;29、我的爱人都叫我第三者！&lt;br&gt;30、天啦，我的衣服又瘦了！&lt;br&gt;31、青春就像卫生纸。看着挺多的，用着用着就不够了。&lt;br&gt;32、我一发怒，冬天就到了；冬天一发怒，我就变成秋裤男了。&lt;br&gt;33、爷爷都是从孙子走过来的……&lt;br&gt;34、你要是嫁人就先嫁给别人然后再嫁给我，带着他的存款领着他的妹妹，开着那 &lt;br&gt;宝马来。&lt;br&gt;35、爱像圆周率，无限不循环……&lt;br&gt;36、琴棋书画不会，洗衣做饭嫌累。&lt;br&gt;37、一山不能容二虎，除非一公和一母。&lt;br&gt;38、诚征小MM，共同来灌水；我灌长江头，君灌长江尾。&lt;br&gt;39、水能载舟，亦能煮粥！&lt;br&gt;40、也许似乎大概是，然而未必不见得。&lt;br&gt;41、我喝酒是想把痛苦溺死，但这该死的痛苦却学会了游泳。&lt;br&gt;42、不要等到人人都说你丑时才发现自己真的丑。&lt;br&gt;43、如果你不能为你心爱的女人穿上嫁衣，请停下你解她衣扣的手。&lt;br&gt;44、堕落并不可怕，可怕的是当一个人堕落时非常清醒！&lt;br&gt;45、以前，脱下内裤看屁股；现在，拔开屁股看内裤。因为我穿的丁字裤。&lt;br&gt;46、送你一份有史以来粪量最重的礼物，你一定会大吃一斤。&lt;br&gt;47、我最喜欢的日子：1月31日；我最讨厌的日子：12月1日。(2007 年隐讳之最)&lt;br&gt;48、夏天来了，天气热了，一群SB往北飞，一会儿排成个S字，一会儿排成个B字……&lt;br&gt;49、机会就像是阴JIN，只要握在手里，就会越来越大。&lt;br&gt;50、你看得见我打在屏幕上的字，却看不到我掉在键盘上的泪……&lt;br&gt;51、我是一条赤身裸体的蜈蚣！&lt;br&gt;52、不对，就是碗是铁的，里边没饭你吃啥去？&lt;br&gt;53、承诺，就像&amp;quot;X你妈&amp;quot;一样，经常说,但是很难做到。&lt;br&gt;54、时间就像乳沟，只要挤一挤总还是有的！&lt;br&gt;55、男人靠征服世界来征服女人！女人靠征服男人来征服世界！&lt;br&gt;56、现在开始爱你晚不晚？&lt;br&gt;57、我死了，但是在烈火中我又站起来了，你猜是涅磐，还是尸变？&lt;br&gt;58、我对生命无悔，奈何心中有愧，只要不死…… 誓将RMB一赚到底！&lt;br&gt;59、活着，以死的姿态……&lt;br&gt;60、我悄悄的来，悄悄的走，挥一挥匕首，不留一个活口。&lt;br&gt;61、如果每个女朋友用一个字来代替的话，我的情史可以写一部长篇小说了。&lt;br&gt;62、最浪漫的三个字不是&amp;quot;我爱你&amp;quot;，而是&amp;quot;在一起&amp;quot;。&lt;br&gt;63、叶子的离去，是树的不挽留，还是风的追求？&lt;br&gt;64、我们虔诚的祈祷：年终的奖金只多不少；领导动情的承诺：新年的工作只少不多。&lt;br&gt;65、爱情是骗来的，感情是睡来的。&lt;br&gt;66、搞好工作，教好学生，做好网站，当好写手，活好人生……&lt;br&gt;67、好想有个太太，和我谈心说爱。现实却很无奈，让我仍需等待！&lt;br&gt;68、都是水何必装纯，都是狼何必装羊？&lt;br&gt;69、带翅膀的不一定是天使，我妈说，那是鸟人。&lt;br&gt;70、我是一只小小小小鸟，想要飞却飞也飞不高……咦？原来没长毛。&lt;br&gt;71、有一种沉默叫霸气，有一种内敛叫个性，有一种简单叫深遂，有一种不屑叫自我。&lt;br&gt;72、小时候老师给我讲&amp;quot;帅哥&amp;quot;的定义，我百思不得其解，后来同位给我拿出了一面 &lt;br&gt;镜子。OY！突然间我明白了。&lt;br&gt;73、也因寂寞难耐，谈过几次恋爱。谁知屡战屡败，轻轻松松被踹！&lt;br&gt;74、21世纪，什么最重要——我！&lt;br&gt;75、错过一个人最可怕的方式就是：坐在她的身旁，你却知道永远都不会拥有她。&lt;br&gt;76、生活真他妈好玩，因为生活老他妈玩我。&lt;br&gt;77、我床上的不知道是谁媳妇，我媳妇不知道在谁的床上！&lt;br&gt;78、以后不要在我面前说英文，OK？&lt;br&gt;79、去他妈的爱情！&lt;br&gt;80、大家都说我是个演员，是因为我一看见漂亮MM眼就圆……&lt;br&gt;81、林子大了，什么鸟都有。社会复杂了，什么人都有了。我是哪一类人呢，我正 &lt;br&gt;琢磨着呢？&lt;br&gt;82、有钱男子汉，没钱汉子难！&lt;br&gt;83、永远都不要停止微笑，即使是在你难过的时候，说不定有人会因为你的笑容而 &lt;br&gt;爱上你。&lt;br&gt;84、世界上最遥远的距离不是生与死的离别，而是当我站在你面前你却不知道：我 &lt;br&gt;爱你！&lt;br&gt;85、穿别人的鞋，走自己的路，让他们找去吧。&lt;br&gt;86、我故意学习，故意工作，故意生活，故意活得像个人！&lt;br&gt;87、长大了要娶唐僧做老公，想宠幸就宠幸，不想玩了就把他吃掉。&lt;br&gt;88、从猴子变成人需要成千上万年，从人变回猴子只用一瓶酒。&lt;br&gt;89、是你太坏！不是我不乖！&lt;br&gt;90、我可能是太平凡了，没有个性！&lt;br&gt;91、据说世界上惟一能维持永恒爱情的动物是刺猬 ——因为刺猬永远不可能太接近。&lt;br&gt;92、网上越嚣张，网下越善良。&lt;br&gt;93、在你没上线的时候，我总会看着你的资料发呆。&lt;br&gt;94、爱情就像两个拉着橡皮筋的人，受伤的总是不愿意放手的那一个！&lt;br&gt;95、许多梦想被现实拿来充饥。&lt;br&gt;96、我叫锄禾，你能叫当午吗？&lt;br&gt;97、我把硬币抛向空中：如果正面朝上，就上MSN，如果背面朝上，就上QQ，如果 &lt;br&gt;硬币立起来，我就去自习。&lt;br&gt;98、昨天看到一个漂亮女孩，晚上想了她很久，早上就不记得他是什么样了，听说 &lt;br&gt;偶这叫一夜情。唉！&lt;br&gt;99、人生重要的不是所站的位置，而是所朝的方向。&lt;br&gt;100、每天早上起床都要看一遍&amp;quot;福布斯&amp;quot;富翁排行榜，如果上面没有我的名字，我 &lt;br&gt;就去上班……&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-7238463775804431122?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/7238463775804431122/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=7238463775804431122' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7238463775804431122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7238463775804431122'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/09/2007b100msn.html' title='2007年最牛B的100条MSN签名(转)'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-1280549349485717419</id><published>2007-08-29T21:39:00.000+08:00</published><updated>2008-12-11T09:08:47.751+08:00</updated><title type='text'>毕业留念</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_CaAN6E4raxo/RtV3TQNCkYI/AAAAAAAABVg/dD0_TOYf-Oc/s1600-h/IMG_0191.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_" style="CLEAR: both; FLOAT: left; MARGIN: 0px 10px 10px 0px" alt="" src="http://3.bp.blogspot.com/_CaAN6E4raxo/RtV3TQNCkYI/AAAAAAAABVg/dD0_TOYf-Oc/s320/IMG_0191.JPG" border="0" /&gt;&lt;/a&gt;&lt;div style='clear:both; text-align:LEFT'&gt;&lt;a href='http://picasa.google.com/blogger/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbp.gif' alt='Posted by Picasa' style='border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;' align='middle' border='0' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-1280549349485717419?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/1280549349485717419/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=1280549349485717419' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/1280549349485717419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/1280549349485717419'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/08/blog-post.html' title='毕业留念'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_CaAN6E4raxo/RtV3TQNCkYI/AAAAAAAABVg/dD0_TOYf-Oc/s72-c/IMG_0191.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-822093702618508543</id><published>2007-05-25T19:11:00.001+08:00</published><updated>2007-06-23T00:19:30.452+08:00</updated><title type='text'>毕业聚会 唱K</title><content type='html'>：&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-822093702618508543?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/822093702618508543/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=822093702618508543' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/822093702618508543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/822093702618508543'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/05/blog-post.html' title='毕业聚会 唱K'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-5843797212502758031</id><published>2007-03-30T22:57:00.001+08:00</published><updated>2007-03-30T22:57:29.055+08:00</updated><title type='text'>名言摘录</title><content type='html'>仅仅成功是不够的，其他人必须失败。&lt;p&gt;——这句常常挂在甲骨文CEO拉里&amp;#183;埃里森嘴边的话，其实是成吉思汗的名言。对埃里 &lt;br&gt;森来说，生活是一场永远没有终结的竞赛。他的争强好胜的个性也是甲骨文公司的 &lt;br&gt;个性。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-5843797212502758031?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/5843797212502758031/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=5843797212502758031' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/5843797212502758031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/5843797212502758031'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/03/blog-post.html' title='名言摘录'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-8033182159574340560</id><published>2007-02-09T22:34:00.001+08:00</published><updated>2007-01-28T13:23:54.671+08:00</updated><title type='text'>80-20 法则 的注释</title><content type='html'>&lt;font&gt;&lt;b&gt;80-20 法则&lt;/b&gt; 的注释：在软件行业中，它意味着软件 80% 的功能来自 20% 的代码。JDOM 的目标是编写那个 20% 并提供一种简单的 API。意大利经济学家 Vilfredo Pareto 1906 年首次表述了 80-20 法则，他发现意大利 80% 的土地被 20% 的人所有。20 世纪 30 年代质量大师 Dr. Joseph Juran 概念化了 &lt;i&gt;Pareto 原理&lt;/i&gt;（即 80-20 法则），后来许多其他学科的科学家注意到事物的 20% 通常产生 80% 的结果。如果您希望通过更多的细节给您的朋友留下关于 80-20 法则的深刻印象，请访问 &lt;a href="http://www.juran.com/search.cfm"  target="_blank"&gt;www.juran.com/search.cfm&lt;/a&gt; 并搜索"Pareto"。&lt;/font&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-8033182159574340560?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/8033182159574340560/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=8033182159574340560' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8033182159574340560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/8033182159574340560'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/02/80-20.html' title='80-20 法则 的注释'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-6125807051422153261</id><published>2007-01-28T13:23:00.001+08:00</published><updated>2007-01-28T13:23:54.788+08:00</updated><title type='text'>Configuration of AFT on Eclipse</title><content type='html'>&lt;DIV&gt;AJAX Toolkit Framework（short for ATF）makes Eclipse&amp;nbsp;gets Ajax   support，it&amp;nbsp;bound&amp;nbsp;popular AJAX frameworks（Dojo, Zimbra, Rico,   etc），supplied Eclipse aggregate modules。Eclipse&amp;nbsp;programmers can   use&amp;nbsp;AJAX Toolkit Framework&amp;nbsp;to develop&amp;nbsp;AJAX applications   like&amp;nbsp;normal java program。&lt;BR&gt;&lt;BR&gt;Necessary：&lt;BR&gt;1、Eclipse SDK 3.2 &lt;A   href="http://www.eclipse.org/downloads/"&gt;http://www.eclipse.org/downloads/&lt;/A&gt;&lt;BR&gt;2、Eclipse   Web Tools Project (WTP) 1.5 (and prerequisites)&lt;BR&gt;&lt;A   href="http://download.eclipse.org/webtools/downloads/"&gt;http://download.eclipse.org/webtools/downloads/&lt;/A&gt;&lt;BR&gt;3、Sun   Java 1.4.2 JDK(或更高)&lt;BR&gt;4、Tomcat 5 或以上 或其他WTP支持的Http服务器&lt;B&gt;&lt;BR&gt;&lt;/B&gt;5、XULRunner&lt;BR&gt;  &lt;OL&gt;    &lt;LI&gt;Download the appropriate XULRunner package for your operating system: &lt;A     href="http://benjamin.smedbergs.us/xulrunner/1.8.1-rc1/xulrunner-1.8.1.en-US.win32.zip"&gt;Win32&lt;/A&gt;     or &lt;A     href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/2006-09-18-08-mozilla1.8/xulrunner-1.8.1.en-US.linux-i686.tar.gz"&gt;Linux&lt;/A&gt;       &lt;LI&gt;Unpack the XULRunner package in a directory of your choice (for example,     C:\XULRunner).     &lt;LI&gt;Change to the directory where the XULRunner executable file resides.     &lt;LI&gt;Uninstall any previous version of Mozilla xulrunner.&lt;BR&gt;    &lt;UL&gt;      &lt;LI&gt;&lt;I&gt;If registered for all users:&lt;/I&gt;&lt;BR&gt;Win32: &lt;CODE&gt;xulrunner       --unregister-global&lt;/CODE&gt;&lt;BR&gt;Linux: &lt;CODE&gt;sudo ./xulrunner       --unregister-global&lt;/CODE&gt;       &lt;LI&gt;&lt;I&gt;If registered only for current user:&lt;/I&gt;&lt;BR&gt;&lt;CODE&gt;xulrunner       --unregister-user&lt;/CODE&gt;&lt;/LI&gt;&lt;/UL&gt;    &lt;LI&gt;Register XULRunner by executing either of the following at the command     line: &lt;BR&gt;    &lt;UL&gt;      &lt;LI&gt;&lt;I&gt;Register for all users:&lt;/I&gt;&lt;BR&gt;Win32: &lt;CODE&gt;xulrunner       --register-global&lt;/CODE&gt;&lt;BR&gt;Linux: &lt;CODE&gt;sudo ./xulrunner       --register-global&lt;/CODE&gt;       &lt;LI&gt;&lt;I&gt;Register only for current user:&lt;/I&gt;&lt;BR&gt;&lt;CODE&gt;xulrunner       --register-user&lt;/CODE&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;6、download ATF（subproject of Eclipse   WTP）&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;  &lt;DIV class=homeitem3col&gt;  &lt;H3&gt;Windows Downloads&lt;/H3&gt;  &lt;UL&gt;    &lt;LI&gt;&lt;A     href="http://www.eclipse.org/downloads/download.php?file=/webtools/atf/atf-windows-0.1-20061115-1300.zip"&gt;0.1-20061115     binary download&lt;/A&gt;     &lt;LI&gt;&lt;A     href="http://www.eclipse.org/downloads/download.php?file=/webtools/atf/atf-windows-sdk-0.1-20061115-1300.zip"&gt;0.1-20061115     SDK download (binary with source)&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;  &lt;H3&gt;Linux Downloads&lt;/H3&gt;  &lt;UL&gt;    &lt;LI&gt;&lt;A     href="http://www.eclipse.org/downloads/download.php?file=/webtools/atf/atf-linux-0.1-20061115-1300.zip"&gt;0.1-20061115     binary download&lt;/A&gt;     &lt;LI&gt;&lt;A     href="http://www.eclipse.org/downloads/download.php?file=/webtools/atf/atf-linux-sdk-0.1-20061115-1300.zip"&gt;0.1-20061115     SDK download (binary with source)&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;BR&gt;  &lt;DIV class=homeitem3col&gt;  &lt;H3&gt;Installation Instructions&lt;/H3&gt;  &lt;DIV   style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 5px; PADDING-TOP: 0px"&gt;  &lt;P&gt;The downloads are in the form of archived update sites. To install the ATF   features into your Eclipse installation, perform the following steps: &lt;/P&gt;  &lt;UL&gt;    &lt;LI&gt;Start Eclipse, and select &lt;I&gt;Help -&amp;gt; Software Updates -&amp;gt; Find and     Install...&lt;/I&gt;     &lt;LI&gt;Select &lt;I&gt;Search for new features to install&lt;/I&gt;     &lt;LI&gt;Select &lt;I&gt;Next&lt;/I&gt;     &lt;LI&gt;Select &lt;I&gt;New Archived Site...&lt;/I&gt;     &lt;LI&gt;Select the location of the downloaded update site zip file     &lt;LI&gt;Select &lt;I&gt;Finish&lt;/I&gt;     &lt;LI&gt;Make sure all ATF features are selected     &lt;LI&gt;Follow the remaining prompts to install ATF&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;/DIV&gt;  &lt;DIV class=homeitem3col&gt;  &lt;H3&gt;Important Final Steps&lt;/H3&gt;  &lt;DIV   style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 5px; PADDING-TOP: 0px"&gt;  &lt;P&gt;Upon installing ATF through the downloadable zip file, certain pieces of 3rd   party components should be added to some of the plugins in order to gain ATF's   full functionality. The purpose of this section is to specify where to get these   pieces of 3rd party content, and where to place the content within the installed   plugins. &lt;/P&gt;  &lt;H4 style="MARGIN-LEFT: 0px"&gt;In the org.eclipse.atf.personality.rico.runtime   plugin:&lt;/H4&gt;  &lt;UL&gt;    &lt;LI     style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;Open     the &lt;I&gt;resources/&lt;/I&gt; directory     &lt;UL&gt;      &lt;LI       style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;add       prototype.js       &lt;LI       style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;add       rico.js&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;  &lt;P&gt;&lt;B&gt;Note&lt;/B&gt;: you can obtain prototype.js and rico.js from &lt;A   href="http://openrico.org/rico/downloads.page"&gt;http://openrico.org/rico/downloads.page&lt;/A&gt;&lt;BR&gt;&lt;B&gt;Note&lt;/B&gt;:   this has only been tested with prototype 1.3.1 and rico 1.1-beta2&lt;BR&gt;&lt;/P&gt;  &lt;HR&gt;  &lt;BR&gt;  &lt;H4 style="MARGIN-LEFT: 0px"&gt;In the org.eclipse.atf.personality.dojo.runtime   plugin:&lt;/H4&gt;  &lt;UL&gt;    &lt;LI     style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;Open     the &lt;I&gt;resources/&lt;/I&gt; directory     &lt;UL&gt;      &lt;LI       style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;Extract       the content of the Dojo download       &lt;LI       style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;Copy       &lt;B&gt;all&lt;/B&gt; the content from the &lt;I&gt;dojo-&amp;lt;version&amp;gt;-ajax/&lt;/I&gt; directory       into plugin's &lt;I&gt;resource/&lt;/I&gt; directory. &lt;BR&gt;Note: At the end, the plugin's       &lt;I&gt;resource/&lt;/I&gt; directory should at least contain the &lt;I&gt;src/&lt;/I&gt; directory       from the Dojo download. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;  &lt;P&gt;&lt;B&gt;Note&lt;/B&gt;: you can obtain the necessary Dojo code from &lt;A   href="http://dojotoolkit.org/download/"&gt;http://dojotoolkit.org/download/&lt;/A&gt;&lt;BR&gt;&lt;B&gt;Note&lt;/B&gt;:   The ATF javascript validator will flag a few of the base Dojo javascript source   files as having errors. These "errors" can be ignored and should not cause any   break in Dojo functionality. &lt;BR&gt;&lt;/P&gt;  &lt;HR&gt;  &lt;BR&gt;  &lt;H4 style="MARGIN-LEFT: 0px"&gt;In the org.eclipse.atf.javascript.jslint   plugin:&lt;/H4&gt;  &lt;UL&gt;    &lt;LI     style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;Add     jslint.js to the &lt;I&gt;resources/&lt;/I&gt; directory of the plugin&lt;/LI&gt;&lt;/UL&gt;&lt;B&gt;Note&lt;/B&gt;:   you can obtain jslint.js by:   &lt;UL&gt;    &lt;LI     style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;Go     to the URL, &lt;A     href="http://www.jslint.com/fulljslint.js"&gt;http://www.jslint.com/fulljslint.js&lt;/A&gt;       &lt;LI     style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;Save     the page as &lt;I&gt;jslint.js&lt;/I&gt;&lt;/LI&gt;&lt;/UL&gt;Once ATF is installed, Eclipse must be   restarted using the -clean flag ( i.e. eclipse -clean ).&lt;BR&gt;&lt;BR&gt;develip dojo   applying：&amp;nbsp;look at&amp;nbsp;&lt;A   href="http://www.eclipse.org/atf/flash/index2.php"&gt;http://www.eclipse.org/atf/flash/index2.php&lt;/A&gt;&lt;BR&gt;debug   dojo：&amp;nbsp;look at &lt;A   href="http://www.eclipse.org/atf/flash/index4.php"&gt;http://www.eclipse.org/atf/flash/index4.php&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-6125807051422153261?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/6125807051422153261/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=6125807051422153261' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/6125807051422153261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/6125807051422153261'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/01/configuration-of-aft-on-eclipse.html' title='Configuration of AFT on Eclipse'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-5687224370206570119</id><published>2007-01-27T13:06:00.001+08:00</published><updated>2007-01-27T13:06:41.425+08:00</updated><title type='text'>JAR 文件揭密  --探索 JAR 文件格式的强大功能</title><content type='html'>&lt;DIV&gt;  &lt;TABLE class=no-print cellSpacing=0 cellPadding=0 width=160 align=right   border=0&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD width=10&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/c.gif"         width=10&gt;&lt;/TD&gt;      &lt;TD&gt;        &lt;TABLE cellSpacing=0 cellPadding=0 width=150 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD class=v14-header-1-small&gt;文档选项&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;        &lt;TABLE class=v14-gray-table-border cellSpacing=0 cellPadding=0 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD class=no-padding width=150&gt;              &lt;TABLE cellSpacing=0 cellPadding=0 width=143 border=0&gt;&lt;IMG                 height=1 alt="" src="http://www.ibm.com/i/c.gif" width=8&gt;                 &lt;FORM name=email                 action=https://www-128.ibm.com/developerworks/secure/email-it.jsp&gt;&lt;INPUT                 type=hidden                 value="大多数 Java 程序员都熟悉对 JAR 文件的基本操作。但是只有少数程序员了解 JAR 文件格式的强大功能。在本文中，作者探讨了JAR 格式的许多功能和优势，包括打包、可执行的 JAR 文件、安全性和索引。"                 name=body&gt;&lt;INPUT type=hidden value="JAR 文件揭密" name=subject&gt;&lt;INPUT                 type=hidden value=cn name=lang&gt;                &lt;SCRIPT language=JavaScript type=text/javascript&gt; &lt;!-- document.write('&lt;tr valign="top"&gt;&lt;td width="8"&gt;&lt;img src="//www.ibm.com/i/c.gif" width="8" height="1" alt=""/&gt;&lt;/td&gt;&lt;td width="16"&gt;&lt;img src="//www.ibm.com/i/v14/icons/em.gif" height="16" width="16" vspace="3" alt="将此页作为电子邮件发送" /&gt;&lt;/td&gt;&lt;td width="122"&gt;&lt;p&gt;&lt;a class="smallplainlink" href="javascript:document.email.submit();"&gt;&lt;b&gt;将此页作为电子邮件发送&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;'); //--&gt; &lt;/SCRIPT&gt;                                 &lt;TBODY&gt;                &lt;TR vAlign=top&gt;                  &lt;TD width=8&gt;&lt;IMG height=1 alt=""                     src="http://www.ibm.com/i/c.gif" width=8&gt;&lt;/TD&gt;                  &lt;TD width=16&gt;&lt;IMG height=16 alt=将此页作为电子邮件发送                     src="http://www.ibm.com/i/v14/icons/em.gif" width=16                   vspace=3&gt;&lt;/TD&gt;                  &lt;TD width=122&gt;                    &lt;P&gt;&lt;A class=smallplainlink                     href="javascript:document.email.submit();"&gt;&lt;B&gt;将此页作为电子邮件发送&lt;/B&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;NOSCRIPT&gt;&lt;/NOSCRIPT&gt;&lt;/FORM&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;!--START RESERVED FOR FUTURE USE INCLUDE FILES--&gt;&lt;!-- 03/20/06 updated by gretchen --&gt;&lt;BR&gt;        &lt;TABLE cellSpacing=0 cellPadding=0 width=150 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD class=v14-header-2-small&gt;拓展 Tomcat 应用&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;        &lt;TABLE class=v14-gray-table-border cellSpacing=0 cellPadding=0 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD class=no-padding width=150&gt;              &lt;TABLE cellSpacing=0 cellPadding=0 width=143 border=0&gt;                &lt;TBODY&gt;                &lt;TR vAlign=top&gt;                  &lt;TD width=8&gt;&lt;IMG height=1 alt=""                     src="http://www.ibm.com/i/c.gif" width=8&gt;&lt;/TD&gt;                  &lt;TD&gt;&lt;IMG height=16 alt=""                     src="http://www.ibm.com/i/v14/icons/fw_bold.gif" width=16                     vspace=3 border=0&gt;&lt;/TD&gt;                  &lt;TD width=125&gt;                    &lt;P&gt;&lt;A class=smallplainlink                     href="http://www-128.ibm.com/developerworks/cn/kickstart/webserver.html?S_TACT=105AGX52&amp;amp;S_CMP=simpleart"&gt;下载                     IBM 开源 J2EE 应用服务器 WAS CE 新版本 V1.1&lt;/A&gt;             &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;!--END RESERVED FOR FUTURE USE INCLUDE FILES--&gt;&lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;  &lt;P&gt;developerWork文章&lt;/P&gt;  &lt;P&gt;级别: 初级&lt;/P&gt;  &lt;P&gt;&lt;A   href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#author"&gt;Pagadala   J. Suresh&lt;/A&gt;, 软件工程师, IBM Global Services India&lt;BR&gt;&lt;A   href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#author"&gt;Palaniyappan   Thiagarajan&lt;/A&gt;, 软件工程师, IBM Global Services India&lt;BR&gt;&lt;/P&gt;  &lt;P&gt;2003 年 11 月 15 日&lt;/P&gt;  &lt;BLOCKQUOTE&gt;大多数 Java 程序员都熟悉对 JAR 文件的基本操作。但是只有少数程序员了解 JAR 文件格式的     &lt;I&gt;强大功能&lt;/I&gt;。在本文中，作者探讨了JAR 格式的许多功能和优势，包括打包、可执行的 JAR 文件、安全性和索引。 &lt;/BLOCKQUOTE&gt;&lt;!--START RESERVED FOR FUTURE USE INCLUDE FILES--&gt;&lt;!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --&gt;&lt;!--END RESERVED FOR FUTURE USE INCLUDE FILES--&gt;  &lt;P&gt;&lt;A name=1&gt;&lt;SPAN class=atitle&gt;&lt;FONT face=Arial size=4&gt;JAR   文件是什么？&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;JAR 文件格式以流行的 ZIP 文件格式为基础，用于将许多个文件聚集为一个文件。与 ZIP 文件不同的是，JAR   文件不仅用于压缩和发布，而且还用于部署和封装库、组件和插件程序，并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件，如   manifests 和部署描述符，用来指示工具如何处理特定的 JAR。&lt;/P&gt;  &lt;P&gt;一个 JAR 文件可以用于：&lt;/P&gt;  &lt;UL&gt;    &lt;LI&gt;用于发布和使用类库     &lt;LI&gt;作为应用程序和扩展的构建单元     &lt;LI&gt;作为组件、applet 或者插件程序的部署单位     &lt;LI&gt;用于打包与组件相关联的辅助资源 &lt;/LI&gt;&lt;/UL&gt;  &lt;P&gt;JAR 文件格式提供了许多优势和功能，其中很多是传统的压缩格式如 ZIP 或者 TAR 所没有提供的。它们包括：&lt;/P&gt;  &lt;UL&gt;    &lt;LI&gt;&lt;B&gt;安全性。&lt;/B&gt;可以对 JAR     文件内容加上数字化签名。这样，能够识别签名的工具就可以有选择地为您授予软件安全特权，这是其他文件做不到的，它还可以检测代码是否被篡改过。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;减少下载时间。&lt;/B&gt; 如果一个 applet 捆绑到一个 JAR 文件中，那么浏览器就可以在一个 HTTP 事务中下载这个 applet     的类文件和相关的资源，而不是对每一个文件打开一个新连接。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;压缩。&lt;/B&gt;JAR 格式允许您压缩文件以提高存储效率。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;传输平台扩展。&lt;/B&gt; Java 扩展框架(Java Extensions Framework)提供了向 Java     核心平台添加功能的方法，这些扩展是用 JAR 文件打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;包密封。&lt;/B&gt;存储在 JAR 文件中的包可以选择进行 &lt;I&gt;密封&lt;/I&gt;，以增强版本一致性和安全性。密封一个包意味着包中的所有类都必须在同一     JAR 文件中找到。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;包版本控制。&lt;/B&gt;一个 JAR 文件可以包含有关它所包含的文件的数据，如厂商和版本信息。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;可移植性。&lt;/B&gt;处理 JAR 文件的机制是 Java 平台核心 API 的标准部分。 &lt;/LI&gt;&lt;/UL&gt;  &lt;P&gt;&lt;A name=N100BD&gt;&lt;SPAN class=smalltitle&gt;压缩的和未压缩的 JAR&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;&lt;CODE&gt;jar&lt;/CODE&gt; 工具(有关细节参阅 &lt;A   href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#jartool"&gt;&lt;CODE&gt;jar&lt;/CODE&gt;   工具 &lt;/A&gt;)在默认情况下压缩文件。未压缩的 JAR 文件一般可以比压缩过的 JAR   文件更快地装载，因为在装载过程中要解压缩文件，但是未压缩的文件在网络上的下载时间可能更长。 &lt;/P&gt;  &lt;P&gt;&lt;A name=N100D2&gt;&lt;SPAN class=smalltitle&gt;META-INF 目录&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;大多数 JAR 文件包含一个 META-INF 目录，它用于存储包和扩展的配置数据，如安全性和版本信息。Java 2 平台识别并解释 META-INF   目录中的下述文件和目录，以便配置应用程序、扩展和类装载器：&lt;/P&gt;  &lt;UL&gt;    &lt;LI&gt;&lt;B&gt;MANIFEST.MF。&lt;/B&gt;这个 &lt;I&gt;manifest 文件&lt;/I&gt;定义了与扩展和包相关的数据。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;INDEX.LIST。&lt;/B&gt; 这个文件由 &lt;CODE&gt;jar&lt;/CODE&gt; 工具的新选项 &lt;CODE&gt;-i&lt;/CODE&gt;     生成，它包含在应用程序或者扩展中定义的包的位置信息。它是 JarIndex 实现的一部分，并由类装载器用于加速类装载过程。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;&lt;I&gt;xxx&lt;/I&gt;.SF。 &lt;/B&gt;这是 JAR 文件的签名文件。占位符 &lt;I&gt;xxx&lt;/I&gt;标识了签名者。 &lt;BR&gt;    &lt;LI&gt;&lt;B&gt;&lt;I&gt;xxx&lt;/I&gt;.DSA。 &lt;/B&gt;与签名文件相关联的签名程序块文件，它存储了用于签名 JAR 文件的公共签名。 &lt;/LI&gt;&lt;/UL&gt;  &lt;P&gt;&lt;A name=N10110&gt;&lt;SPAN class=smalltitle&gt;jar 工具&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;为了用 JAR 文件执行基本的任务，要使用作为Java Development Kit 的一部分提供的 Java Archive Tool (   &lt;CODE&gt;jar&lt;/CODE&gt; 工具)。用 &lt;CODE&gt;jar&lt;/CODE&gt; 命令调用 &lt;CODE&gt;jar&lt;/CODE&gt; 工具。表 1 显示了一些常见的应用：   &lt;/P&gt;  &lt;P&gt;&lt;A name=N10125&gt;&lt;SPAN class=smalltitle&gt;表 1. 常见的 jar 工具用法 &lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;  &lt;TABLE cellSpacing=0 cellPadding=3 width="100%" border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;B&gt;功能&lt;/B&gt; &lt;/TD&gt;      &lt;TD&gt;&lt;B&gt;命令&lt;/B&gt; &lt;/TD&gt;&lt;/TR&gt;    &lt;TR&gt;      &lt;TD&gt;用一个单独的文件创建一个 JAR 文件&lt;/TD&gt;      &lt;TD&gt;jar cf jar-file input-file...&lt;/TD&gt;&lt;/TR&gt;    &lt;TR&gt;      &lt;TD&gt;用一个目录创建一个 JAR 文件&lt;/TD&gt;      &lt;TD&gt;jar cf jar-file dir-name&lt;/TD&gt;&lt;/TR&gt;    &lt;TR&gt;      &lt;TD&gt;创建一个未压缩的 JAR 文件&lt;/TD&gt;      &lt;TD&gt;jar cf0 jar-file dir-name&lt;/TD&gt;&lt;/TR&gt;    &lt;TR&gt;      &lt;TD&gt;更新一个 JAR 文件&lt;/TD&gt;      &lt;TD&gt;jar uf jar-file input-file...&lt;/TD&gt;&lt;/TR&gt;    &lt;TR&gt;      &lt;TD&gt;查看一个 JAR 文件的内容&lt;/TD&gt;      &lt;TD&gt;jar tf jar-file&lt;/TD&gt;&lt;/TR&gt;    &lt;TR&gt;      &lt;TD&gt;提取一个 JAR 文件的内容&lt;/TD&gt;      &lt;TD&gt;jar xf jar-file&lt;/TD&gt;&lt;/TR&gt;    &lt;TR&gt;      &lt;TD&gt;从一个 JAR 文件中提取特定的文件&lt;/TD&gt;      &lt;TD&gt;jar xf jar-file archived-file...&lt;/TD&gt;&lt;/TR&gt;    &lt;TR&gt;      &lt;TD&gt;运行一个打包为可执行 JAR 文件的应用程序&lt;/TD&gt;      &lt;TD&gt;java -jar app.jar&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;BR&gt;  &lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;IMG height=1 alt=""         src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&gt;&lt;BR&gt;&lt;IMG         height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8     border=0&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;  &lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;    &lt;TBODY&gt;    &lt;TR align=right&gt;      &lt;TD&gt;&lt;IMG height=4 alt="" src="http://www.ibm.com/i/c.gif"   width="100%"&gt;&lt;BR&gt;        &lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD vAlign=center&gt;&lt;IMG height=16 alt=""               src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16               border=0&gt;&lt;BR&gt;&lt;/TD&gt;            &lt;TD vAlign=top align=right&gt;&lt;A class=fbox               href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#main"&gt;&lt;B&gt;回页首&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;  &lt;P&gt;&lt;A name=2&gt;&lt;SPAN class=atitle&gt;&lt;FONT face=Arial size=4&gt;可执行的   JAR&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;一个 &lt;I&gt;可执行的 jar&lt;/I&gt; 文件是一个自包含的 Java 应用程序，它存储在特别配置的JAR 文件中，可以由 JVM   直接执行它而无需事先提取文件或者设置类路径。要运行存储在非可执行的 JAR   中的应用程序，必须将它加入到您的类路径中，并用名字调用应用程序的主类。但是使用可执行的 JAR   文件，我们可以不用提取它或者知道主要入口点就可以运行一个应用程序。可执行 JAR 有助于方便发布和执行 Java 应用程序。 &lt;/P&gt;  &lt;P&gt;&lt;A name=N1019C&gt;&lt;SPAN class=smalltitle&gt;创建可执行 JAR&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;创建一个可执行 JAR 很容易。首先将所有应用程序代码放到一个目录中。假设应用程序中的主类是   &lt;CODE&gt;com.mycompany.myapp.Sample&lt;/CODE&gt; 。您要创建一个包含应用程序代码的 JAR   文件并标识出主类。为此，在某个位置(不是在应用程序目录中)创建一个名为 &lt;CODE&gt;manifest&lt;/CODE&gt; 的文件，并在其中加入以下一行： &lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;Main-Class: com.mycompany.myapp.Sample  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;然后，像这样创建 JAR 文件：&lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;jar cmf manifest ExecutableJar.jar application-dir  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;所要做的就是这些了 -- 现在可以用 &lt;CODE&gt;java -jar&lt;/CODE&gt; 执行这个 JAR 文件 ExecutableJar.jar。 &lt;/P&gt;  &lt;P&gt;一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了 &lt;CODE&gt;-jar&lt;/CODE&gt;   选项，那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。 &lt;/P&gt;  &lt;P&gt;&lt;A name=N101C6&gt;&lt;SPAN class=smalltitle&gt;启动可执行 JAR&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;既然我们已经将自己的应用程序打包到了一个名为 ExecutableJar.jar 的可执行 JAR   中了，那么我们就可以用下面的命令直接从文件启动这个应用程序：&lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;java -jar ExecutableJar.jar  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;  &lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;FONT face="Lucida Console" size=2&gt;&lt;IMG height=1 alt=""         src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&gt;&lt;BR&gt;&lt;IMG         height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8       border=0&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;  &lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;    &lt;TBODY&gt;    &lt;TR align=right&gt;      &lt;TD&gt;&lt;FONT face="Lucida Console" size=2&gt;&lt;IMG height=4 alt=""         src="http://www.ibm.com/i/c.gif" width="100%"&gt;&lt;BR&gt;&lt;/FONT&gt;        &lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD vAlign=center&gt;&lt;FONT face="Lucida Console" size=2&gt;&lt;IMG height=16               alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16               border=0&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;            &lt;TD vAlign=top align=right&gt;&lt;A class=fbox               href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#main"&gt;&lt;B&gt;回页首&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;  &lt;P&gt;&lt;A name=3&gt;&lt;SPAN class=atitle&gt;&lt;FONT face=Arial   size=4&gt;包密封&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;密封 JAR 文件中的一个包意味着在这个包中定义的所有类都必须在同一个 JAR   文件中找到。这使包的作者可以增强打包类之间的版本一致性。密封还提供了防止代码篡改的手段。&lt;/P&gt;  &lt;P&gt;要密封包，需要在 JAR 的 manifest 文件中为包添加一个 &lt;CODE&gt;Name&lt;/CODE&gt; 头，然后加上值为"true"的   &lt;CODE&gt;Sealed&lt;/CODE&gt; 头。与可执行的 JAR 一样，可以在创建 JAR 时，通过指定一个具有适当头元素的 manifest 文件密封一个   JAR，如下所示： &lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;Name: com/samplePackage/  Sealed: true  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;&lt;CODE&gt;Name&lt;/CODE&gt; 头标识出包的相对路径名。它以一个"/"结束以与文件名区别。在 &lt;CODE&gt;Name&lt;/CODE&gt;   头后面第一个空行之前的所有头都作用于在 &lt;CODE&gt;Name&lt;/CODE&gt; 头中指定的文件或者包。在上述例子中，因为 &lt;CODE&gt;Sealed&lt;/CODE&gt;   头出现在 &lt;CODE&gt;Name&lt;/CODE&gt; 头后并且中间没有空行，所以 &lt;CODE&gt;Sealed&lt;/CODE&gt; 头将被解释为只应用到包   &lt;CODE&gt;com/samplePackage&lt;/CODE&gt; 上。 &lt;/P&gt;  &lt;P&gt;如果试图从密封包所在的 JAR 文件以外的其他地方装载密封包中的一个类，那么 JVM 将抛出一个   &lt;CODE&gt;SecurityException&lt;/CODE&gt; 。 &lt;/P&gt;  &lt;P&gt;&lt;A name=IDAM1WVB&gt;扩展打包 &lt;BR&gt;扩展为 Java 平台增加了功能，在 JAR 文件格式中已经加入了扩展机制。扩展机制使得 JAR   文件可以通过 manifest 文件中的 &lt;CODE&gt;Class-Path&lt;/CODE&gt; 头指定所需要的其他 JAR 文件。 &lt;/P&gt;  &lt;P&gt;假设 extension1.jar 和 extension2.jar 是同一个目录中的两个 JAR 文件，extension1.jar 的   manifest 文件包含以下头：&lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;Class-Path: extension2.jar  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;这个头表明 extension2.jar 中的类是 extension1.jar 中的类的 &lt;I&gt;扩展类&lt;/I&gt;。extension1.jar   中的类可以调用 extension2.jar 中的类，并且不要求 extension2.jar 处在类路径中。 &lt;/P&gt;  &lt;P&gt;在装载使用扩展机制的 JAR 时，JVM 会高效而自动地将在 &lt;CODE&gt;Class-Path&lt;/CODE&gt; 头中引用的 JAR   添加到类路径中。不过，扩展 JAR 路径被解释为相对路径，所以一般来说，扩展 JAR 必须存储在引用它的 JAR 所在的同一目录中。 &lt;/P&gt;  &lt;P&gt;例如，假设类 &lt;CODE&gt;ExtensionClient&lt;/CODE&gt; 引用了类 &lt;CODE&gt;ExtensionDemo&lt;/CODE&gt; ,它捆绑在一个名为   ExtensionClient.jar 的 JAR 文件中，而类 &lt;CODE&gt;ExtensionDemo&lt;/CODE&gt; 则捆绑在   ExtensionDemo.jar 中。为了使 ExtensionDemo.jar 可以成为扩展，必须将 ExtensionDemo.jar 列在   ExtensionClient.jar 的 manifest 的 &lt;CODE&gt;Class-Path&lt;/CODE&gt; 头中，如下所示： &lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;Manifest-Version: 1.0  Class-Path: ExtensionDemo.jar  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;在这个 manifest 中 &lt;CODE&gt;Class-Path&lt;/CODE&gt; 头的值是没有指定路径的 ExtensionDemo.jar，表明   ExtensionDemo.jar 与 ExtensionClient JAR 文件处在同一目录中。 &lt;/P&gt;&lt;BR&gt;  &lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;IMG height=1 alt=""         src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&gt;&lt;BR&gt;&lt;IMG         height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8     border=0&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;  &lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;    &lt;TBODY&gt;    &lt;TR align=right&gt;      &lt;TD&gt;&lt;IMG height=4 alt="" src="http://www.ibm.com/i/c.gif"   width="100%"&gt;&lt;BR&gt;        &lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD vAlign=center&gt;&lt;IMG height=16 alt=""               src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16               border=0&gt;&lt;BR&gt;&lt;/TD&gt;            &lt;TD vAlign=top align=right&gt;&lt;A class=fbox               href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#main"&gt;&lt;B&gt;回页首&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;  &lt;P&gt;&lt;A name=4&gt;&lt;SPAN class=atitle&gt;&lt;FONT face=Arial size=4&gt;JAR   文件中的安全性&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;JAR 文件可以用 &lt;CODE&gt;jarsigner&lt;/CODE&gt; 工具或者直接通过 &lt;CODE&gt;java.security&lt;/CODE&gt; API   签名。一个签名的 JAR 文件与原来的 JAR 文件完全相同，只是更新了它的 manifest，并在 META-INF   目录中增加了两个文件，一个签名文件和一个签名块文件。 &lt;/P&gt;  &lt;P&gt;JAR 文件是用一个存储在 &lt;I&gt;Keystore&lt;/I&gt; 数据库中的证书签名的。存储在 keystore 中的证书有密码保护，必须向   &lt;CODE&gt;jarsigner&lt;/CODE&gt; 工具提供这个密码才能对 JAR 文件签名。 &lt;/P&gt;&lt;BR&gt;&lt;A name=IDAV3WVB&gt;&lt;B&gt;图 1.   Keystore 数据库 &lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=117 alt="Keystore 数据库"   src="http://www-128.ibm.com/developerworks/cn/java/j-jar/images/keystoredatabase.gif"   width=324&gt; &lt;BR&gt;  &lt;P&gt;JAR 的每一位签名者都由在 JAR 文件的 META-INF 目录中的一个具有 .SF 扩展名的签名文件表示。这个文件的格式类似于 manifest   文件 -- 一组 RFC-822 头。如下所示，它的组成包括一个主要部分，它包括了由签名者提供的信息、但是不特别针对任何特定的 JAR   文件项，还有一系列的单独的项，这些项也必须包含在 menifest 文件中。在验证一个签名的 JAR 时，将签名文件的摘要值与对 JAR   文件中的相应项计算的摘要值进行比较。&lt;/P&gt;&lt;BR&gt;&lt;A name=IDAA4WVB&gt;&lt;B&gt;清单 1. 签名 JAR 中的 Manifest 和   signature 文件&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;&lt;FONT face="Lucida Console" size=2&gt;Contents of signature file META-INF/MANIFEST.MF    Manifest-Version: 1.0  Created-By: 1.3.0 (Sun Microsystems Inc.)    Name: Sample.java  SHA1-Digest: 3+DdYW8INICtyG8ZarHlFxX0W6g=    Name: Sample.class  SHA1-Digest: YJ5yQHBZBJ3SsTNcHJFqUkfWEmI=    Contents of signature file META-INF/JAMES.SF    Signature-Version: 1.0  SHA1-Digest-Manifest: HBstZOJBuuTJ6QMIdB90T8sjaOM=  Created-By: 1.3.0 (Sun Microsystems Inc.)    Name: Sample.java  SHA1-Digest: qipMDrkurQcKwnyIlI3Jtrnia8Q=    Name: Sample.class  SHA1-Digest: pT2DYby8QXPcCzv2NwpLxd8p4G4=  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;&lt;A name=N10286&gt;&lt;SPAN class=smalltitle&gt;数字签名&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;一个数字签名是.SF 签名文件的已签名版本。数字签名文件是二进制文件，并且与 .SF 文件有相同的文件名，但是扩展名不同。根据数字签名的类型 --   RSA、DSA 或者 PGP -- 以及用于签名 JAR 的证书类型而有不同的扩展名。&lt;/P&gt;  &lt;P&gt;&lt;A name=N1028F&gt;&lt;SPAN class=smalltitle&gt;Keystore&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;要签名一个 JAR 文件，必须首先有一个私钥。私钥及其相关的公钥证书存储在名为 &lt;CODE&gt;keystores&lt;/CODE&gt;   的、有密码保护的数据库中。JDK 包含创建和修改 keystores 的工具。keystore   中的每一个密钥都可以用一个别名标识，它通常是拥有这个密钥的签名者的名字。 &lt;/P&gt;  &lt;P&gt;所有 keystore 项(密钥和信任的证书项)都是用唯一别名访问的。别名是在用 &lt;CODE&gt;keytool -genkey&lt;/CODE&gt;   命令生成密钥对(公钥和私钥)并在 keystore 中添加项时指定的。之后的 &lt;CODE&gt;keytool&lt;/CODE&gt; 命令必须使用同样的别名引用这一项。   &lt;/P&gt;  &lt;P&gt;例如，要用别名"james"生成一个新的公钥/私钥对并将公钥包装到自签名的证书中，要使用下述命令：&lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;keytool -genkey -alias james -keypass jamespass           -validity 80 -keystore jamesKeyStore           -storepass jamesKeyStorePass  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;这个命令序列指定了一个初始密码"jamespass"，后续的命令在访问 keystore   "jamesKeyStore"中与别名"james"相关联的私钥时，就需要这个密码。如果 keystore"jamesKeyStore"不存在，则   &lt;CODE&gt;keytool&lt;/CODE&gt; 会自动创建它。 &lt;/P&gt;  &lt;P&gt;&lt;A name=N102B5&gt;&lt;SPAN class=smalltitle&gt;jarsigner 工具&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;&lt;CODE&gt;jarsigner&lt;/CODE&gt; 工具使用 keystore 生成或者验证 JAR 文件的数字签名。 &lt;/P&gt;  &lt;P&gt;假设像上述例子那样创建了 keystore "jamesKeyStore"，并且它包含一个别名为"james"的密钥，可以用下面的命令签名一个 JAR   文件：&lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;jarsigner -keystore jamesKeyStore -storepass jamesKeyStorePass             -keypass jamespass -signedjar SSample.jar Sample.jar james  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;这个命令用密码"jamesKeyStorePass"从名为"jamesKeyStore"的 keystore   中提出别名为"james"、密码为"jamespass"的密钥，并对 Sample.jar 文件签名、创建一个签名的 JAR --   SSample.jar。&lt;/P&gt;  &lt;P&gt;&lt;CODE&gt;jarsigner&lt;/CODE&gt; 工具还可以验证一个签名的 JAR 文件，这种操作比签名 JAR 文件要简单得多，只需执行以下命令： &lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;jarsigner -verify SSample.jar  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;如果签名的 JAR 文件没有被篡改过，那么 &lt;CODE&gt;jarsigner&lt;/CODE&gt; 工具就会告诉您 JAR 通过验证了。否则，它会抛出一个   &lt;CODE&gt;SecurityException&lt;/CODE&gt; ， 表明哪些文件没有通过验证。 &lt;/P&gt;  &lt;P&gt;还可以用 &lt;CODE&gt;java.util.jar&lt;/CODE&gt; 和 &lt;CODE&gt;java.security&lt;/CODE&gt; API 以编程方式签名   JAR(有关细节参阅 &lt;A   href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#resources"&gt;参考资料&lt;/A&gt;)。也可以使用像   Netscape Object Signing Tool 这样的工具。 &lt;/P&gt;&lt;BR&gt;  &lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;IMG height=1 alt=""         src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&gt;&lt;BR&gt;&lt;IMG         height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8     border=0&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;  &lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;    &lt;TBODY&gt;    &lt;TR align=right&gt;      &lt;TD&gt;&lt;IMG height=4 alt="" src="http://www.ibm.com/i/c.gif"   width="100%"&gt;&lt;BR&gt;        &lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD vAlign=center&gt;&lt;IMG height=16 alt=""               src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16               border=0&gt;&lt;BR&gt;&lt;/TD&gt;            &lt;TD vAlign=top align=right&gt;&lt;A class=fbox               href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#main"&gt;&lt;B&gt;回页首&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;  &lt;P&gt;&lt;A name=5&gt;&lt;SPAN class=atitle&gt;&lt;FONT face=Arial size=4&gt;JAR   索引&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;如果一个应用程序或者 applet 捆绑到多个 JAR   文件中，那么类装载器就使用一个简单的线性搜索算法搜索类路径中的每一个元素，这使类装载器可能要下载并打开许多个 JAR   文件，直到找到所要的类或者资源。如果类装载器试图寻找一个不存在的资源，那么在应用程序或者 applet 中的所有 JAR 文件都会下载。对于大型的网络应用程序和   applet，这会导致启动缓慢、响应迟缓并浪费带宽。&lt;/P&gt;  &lt;P&gt;从 JDK 1.3 以后，JAR 文件格式开始支持索引以优化网络应用程序中类的搜索过程，特别是 applet。JarIndex 机制收集在 applet   或者应用程序中定义的所有 JAR 文件的内容，并将这些信息存储到第一个 JAR 文件中的索引文件中。下载了第一个 JAR 文件后，applet   类装载器将使用收集的内容信息高效地装载 JAR 文件。这个目录信息存储在根 JAR 文件的 META-INF 目录中的一个名为 INDEX.LIST   的简单文本文件中。&lt;/P&gt;  &lt;P&gt;&lt;A name=IDA3BXVB&gt;创建一个 JarIndex &lt;BR&gt;可以通过在 &lt;CODE&gt;jar&lt;/CODE&gt; 命令中指定   &lt;CODE&gt;-i&lt;/CODE&gt; 选项创建一个 JarIndex。假设我们的目录结构如下图所示： &lt;/P&gt;&lt;BR&gt;&lt;A name=IDAOCXVB&gt;&lt;B&gt;图 2.   JarIndex &lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=163 alt="JarIndex Demo"   src="http://www-128.ibm.com/developerworks/cn/java/j-jar/images/jarindex.gif"   width=329&gt; &lt;BR&gt;  &lt;P&gt;您将使用下述命令为 JarIndex_Main.jar、JarIndex_test.jar 和 JarIndex_test1.jar   创建一个索引文件：&lt;/P&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;jar -i JarIndex_Main.jar JarIndex_test.jar SampleDir/JarIndex_test1.jar   &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;  &lt;P&gt;INDEX.LIST 文件的格式很简单，包含每个已索引的 JAR 文件中包含的包或者类的名字，如清单 2 所示：&lt;/P&gt;&lt;BR&gt;&lt;A   name=IDA3CXVB&gt;&lt;B&gt;清单 2. JarIndex INDEX.LIST 文件示例&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;  &lt;TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;PRE&gt;&lt;CODE class=section&gt;  &lt;FONT face="Lucida Console" size=2&gt;JarIndex-Version: 1.0    JarIndex_Main.jar  sp    JarIndex_test.jar  Sample    SampleDir/JarIndex_test1.jar  org  org/apache  org/apache/xerces  org/apache/xerces/framework  org/apache/xerces/framework/xml4j  &lt;/FONT&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;  &lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;    &lt;TBODY&gt;    &lt;TR&gt;      &lt;TD&gt;&lt;FONT face="Lucida Console" size=2&gt;&lt;IMG height=1 alt=""         src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&gt;&lt;BR&gt;&lt;IMG         height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8       border=0&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;  &lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;    &lt;TBODY&gt;    &lt;TR align=right&gt;      &lt;TD&gt;&lt;FONT face="Lucida Console" size=2&gt;&lt;IMG height=4 alt=""         src="http://www.ibm.com/i/c.gif" width="100%"&gt;&lt;BR&gt;&lt;/FONT&gt;        &lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;          &lt;TBODY&gt;          &lt;TR&gt;            &lt;TD vAlign=center&gt;&lt;FONT face="Lucida Console" size=2&gt;&lt;IMG height=16               alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16               border=0&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;            &lt;TD vAlign=top align=right&gt;&lt;A class=fbox               href="http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html#main"&gt;&lt;B&gt;回页首&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;  &lt;P&gt;&lt;A name=6&gt;&lt;SPAN class=atitle&gt;&lt;FONT face=Arial   size=4&gt;结束语&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;  &lt;P&gt;JAR 格式远远超出了一种压缩格式，它有许多可以改进效率、安全性和组织 Java 应用程序的功能。因为这些功能已经建立在核心平台 --   包括编译器和类装载器 -- 中了，所以开发人员可以利用 JAR 文件格式的能力简化和改进开发和部署过程。.&lt;/P&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-5687224370206570119?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/5687224370206570119/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=5687224370206570119' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/5687224370206570119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/5687224370206570119'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/01/jar-jar.html' title='JAR 文件揭密  --探索 JAR 文件格式的强大功能'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-3882130915514747034</id><published>2007-01-27T01:08:00.001+08:00</published><updated>2007-01-27T01:08:17.204+08:00</updated><title type='text'>老郑BLOG发的飙</title><content type='html'>    今天看了老郑的博客，觉得有必要在自己的Blogspot上发扬一下。&lt;br&gt;     摘录如下：&lt;br&gt; ————————————&lt;br&gt;     标题：业内人士&lt;br&gt;     &lt;span&gt;&lt;span style="font-family: 宋体;"&gt;&lt;span style="font-family: 宋体;"&gt;&lt;font  size="3"&gt;今 天的音乐台颁奖礼真是让人饱受刺激，假唱的们就不说了，整容吓乎人的们也就算了吧。但那些花儿们以疑似西游记剧组的扮相出现，金箍棒大耙子飞舞在我眼前， 我恍然明白了骑白马的不一定是王子，有可能是唐僧，亦很可能就是今时今日我们的最佳乐队。本来事不关己，但偏偏要让我颁奖，无语。只有那什么牛的可以与之 媲美，丫的兰花指也飞舞在我眼前，说请业内的朋友们和他一起唱桃花朵朵开？我第妈呀，这是什么业啊？业障？我更恍然明白了长翅膀的不一定都是天使，也可能 是鸟人，亦很可能就是牛伯。我再次无语凝噎。&lt;br&gt; _____&lt;br&gt; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-3882130915514747034?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/3882130915514747034/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=3882130915514747034' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/3882130915514747034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/3882130915514747034'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/01/blog.html' title='老郑BLOG发的飙'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-3397545458783204036</id><published>2007-01-15T12:04:00.001+08:00</published><updated>2007-01-15T12:04:57.257+08:00</updated><title type='text'>推荐几个网站</title><content type='html'>&lt;DIV&gt;&lt;FONT size=2&gt;java技术开发&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A   href="http://www-128.ibm.com/developerworks/cn/"&gt;http://www-128.ibm.com/developerworks/cn/&lt;/A&gt;&amp;nbsp;IBM   developerworks中国&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A   href="http://www.eclipseworld.org/bbs/index.php"&gt;http://www.eclipseworld.org/bbs/index.php&lt;/A&gt;&amp;nbsp;中国Eclipse社区&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;软件下载&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A   href="http://www.download.com/"&gt;http://www.download.com/&lt;/A&gt;&amp;nbsp;Free Software   Download Site&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A href="http://www.greendown.cn"&gt;www.greendown.cn&lt;/A&gt;   绿色软件下载站&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A href="http://www.crsky.com"&gt;www.crsky.com&lt;/A&gt;   破解软件下载站&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;电子书&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A   href="http://www.mtvtin.cn/default.html"&gt;http://www.mtvtin.cn/default.html&lt;/A&gt;&amp;nbsp;书馆&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A   href="http://www.adtopic.net/"&gt;http://www.adtopic.net/&lt;/A&gt;广告主题视频站&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A   href="http://www.ccw.com.cn/"&gt;http://www.ccw.com.cn/&lt;/A&gt;&amp;nbsp;计算机世界网&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;A   href="http://www.searchmash.com/"&gt;http://www.searchmash.com/&lt;/A&gt;&amp;nbsp;实验性搜索引擎&lt;/FONT&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-3397545458783204036?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/3397545458783204036/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=3397545458783204036' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/3397545458783204036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/3397545458783204036'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/01/blog-post_15.html' title='推荐几个网站'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-7256048940861172385</id><published>2007-01-06T08:01:00.000+08:00</published><updated>2007-01-06T07:52:30.859+08:00</updated><title type='text'>Windows环境下J2EE开发应用环境的配置</title><content type='html'>&lt;DIV&gt;&lt;FONT size=2&gt;&lt;EM&gt;开始之前：&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;下载J2EE相关的软件&lt;BR&gt;&amp;nbsp;1、下载Java SE   Development Kit5.0 (JDK)&lt;BR&gt;&amp;nbsp;可以在&lt;A   href="http://java.sun.com/javase/downloads/"&gt;http://java.sun.com/javase/downloads/&lt;/A&gt;找到相关下载&lt;BR&gt;&amp;nbsp;2、下载apache2.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;BR&gt;&amp;nbsp;可以在&lt;A   href="http://httpd.apache.org/"&gt;http://httpd.apache.org/&lt;/A&gt;找到相关内容&lt;BR&gt;&amp;nbsp;3、下载tomcat5.5&lt;BR&gt;&amp;nbsp;可以在&lt;A   href="http://tomcat.apache.org/"&gt;http://tomcat.apache.org/&lt;/A&gt;找到相关内容&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT   size=2&gt;&lt;EM&gt;安装和配置JDK&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;1、执行下载的jdk安装程序（如果是压缩包则直接解压缩，然后配置环境变量），选择简单的路径，如"C:\jdk\"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;2、配置环境变量&lt;BR&gt;&amp;nbsp;&amp;nbsp;   Windows环境下与Java相关的环境变量主要有3个：JAVA_HOME、CLASSPATH和PATH。&lt;BR&gt;&amp;nbsp;&amp;nbsp;   a、设置JAVA_HOME的值为"C:\jdk"。JAVA_HOME用于指向JDK的安装路径（如C:\JDK_1.6.0）此路径下包含bin、lib、jre等目录。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   可以选择任意磁盘目录，不过建议目录层次浅一点；&lt;BR&gt;&amp;nbsp;&amp;nbsp;   b、设置CLASSPATH的值为".;%JAVA_HOME%\lib\tools.jar"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   注意的最前面的".;"，这个是告诉JDK，搜索CLASS时先查找当前目录，这是由于Linux的安全机制引起的，Linux的&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   用户很明白，Windows用户就难以理解（因为WINDOWS默认的搜索顺序是先搜索当前目录，再搜索系统目录，最后搜&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   索PATH环境变量设定的值）；CLASSPATH还指定了tools.jar，这个是由java语言的import机制和jar机制决定的。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   关于CLASSPATH的作用对Java应用程序至关重要，详细信息可以查看Java相关的资料。&lt;BR&gt;&amp;nbsp;&amp;nbsp;   c、把JDK的bin目录（可执行程序目录）添加到PATH环境变量。Windows默认就有PATH，只需修改一下（增加内容）。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   作用是在命令行下面编译、执行程序时可以省略PATH中包含的路径。设置时保留原来的PATH的内容，在后面添加&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   ";%JAVA_HOME%\bin"("%%"其实是引用其它的环境变量名的操作符，用变量名来替代内容）就可以。&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;  &lt;DIV&gt;&lt;FONT size=2&gt;&lt;EM&gt;安装和测试Tomcat&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;1、安装Tomcat&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   执行下载的安装程序（如果是压缩包则直接解压缩，然后配置环境变量），安装时它会自动寻找JRE的位置，默认&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   服务端口8080。此例中假设安装到C:\tomcat-5.5。&lt;BR&gt;&amp;nbsp;2、配置Tomcat的环境变量&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   a、添加环境变量CATALINA_HOME，变量值为C:\tomcat5.5，用于指定Tomcat安装路径；&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   b、添加变量CATALINA_BASE，设置值为C:\tomcat5.5；&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   c、和JDK一样，如需要也可将%CATALINA_HOME%\bin添加到PATH。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   d、有些情况下需要修改环境变量中的CLASSPATH，把%CATALINA_HOME%\common\lib\servlet.jar追加到它中去。&lt;BR&gt;&amp;nbsp;3、测试默认服务&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   设置完毕后就可以测试运行Tomcat服务器了。用%CATALINA_HOME%\bin\startup.exe启动Tomcat（运行shutdown.exe&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   可执行关闭操作）。如果在执行startup.exe或shutdown.exe的时候提示Out of Environment Space错误，选择DOS   &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 窗口的菜单中的"属性"→" 内存"→" 常规内存"，   把"初始环境"由"自动"修改成"2816"就可以了。启动Tomcat后，打&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 开浏览器，在地址栏中输入&lt;A   href="http://localhost:8080"&gt;http://localhost:8080&lt;/A&gt;（Tomcat默认端口为8080），如果在浏览器中看到Tomcat的欢迎&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   界面，表示Tomcat工作正常。&lt;/FONT&gt;&lt;/DIV&gt;  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;FONT size=2&gt;  &lt;DIV&gt;&lt;BR&gt;&lt;EM&gt;安装和测试Apache HTTP   Server&lt;BR&gt;&lt;/EM&gt;&amp;nbsp;在安装前如已安装了IIS，请先停止IIS服务。因为IIS和apache都默认使用80端口，会造成冲突。同样直接执行下载的安&lt;BR&gt;&amp;nbsp;装程序，假设路径为C:\apache2.2\。安装时会要求输入一些关于这台服务器的信息，如域名、管理员邮箱，这些信息将&lt;BR&gt;&amp;nbsp;会加入到httpd.conf文件中。&amp;nbsp;&amp;nbsp;   &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   安装完成后配置C:apache2.2\conf\httpd.conf文件，用文本编缉器打开httpd.conf,在DirectoryIndex   index.html后添加index.jsp&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;测试，在IE中输入&lt;A   href="http://localhost/"&gt;http://localhost/&lt;/A&gt;,如果apache工作应该可以看到"It   works!"这样的页面。&lt;/DIV&gt;  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;  &lt;DIV&gt;&lt;EM&gt;整合Apache HTTP   Server和Tomcat&lt;BR&gt;&lt;/EM&gt;&amp;nbsp;网上很多是通过mod_jk来整合的，而由于Apache2.2本身已经支持tomcat了，所以这里用Apache的proxy来整合tomcat。&lt;BR&gt;&amp;nbsp;1、停止apache和tomcat的服务。&lt;BR&gt;&amp;nbsp;2、打开C:apache2.2\conf\httpd.conf文件，把&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;#LoadModule proxy_module modules/mod_proxy.so&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;#LoadModule proxy_ajp_module   modules/mod_proxy_ajp.so&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   前面的#号去掉，再在文件最后添加&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;ProxyPass /images/   !&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;ProxyPass /   ajp://127.0.0.1:8009/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;ProxyPassReverse /   ajp://127.0.0.1:8009/&lt;BR&gt;&amp;nbsp;&amp;nbsp;   &amp;nbsp;（上面几行只是对apache2.2进行简单的优化。）&lt;BR&gt;&amp;nbsp;3、最后测试整合后的apache+tomcat&lt;BR&gt;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp; 先启动apache，再启动tomcat,在浏览器中输入&lt;A   href="http://localhost"&gt;http://localhost&lt;/A&gt;，可以看到Tomcat的欢迎页面就说明成功了。&lt;BR&gt;&lt;/FONT&gt;&lt;/DIV&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-7256048940861172385?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/7256048940861172385/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=7256048940861172385' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7256048940861172385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7256048940861172385'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/01/windowsj2ee.html' title='Windows环境下J2EE开发应用环境的配置'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-7985339383696941928</id><published>2007-01-04T23:22:00.000+08:00</published><updated>2007-01-04T23:24:24.686+08:00</updated><title type='text'>明 杨慎《二十一史》弹词第三章《说秦汉》开场词《临江仙》</title><content type='html'>&lt;DIV&gt;滚滚长江东逝水，浪花淘尽英雄。&lt;/DIV&gt;  &lt;DIV&gt;是非成败转头空。&lt;BR&gt;青山依旧在，几度夕阳红。&lt;/DIV&gt;  &lt;DIV&gt;白发渔樵江渚上，惯看秋月春风。&lt;/DIV&gt;  &lt;DIV&gt;一壶浊酒喜相逢。&lt;/DIV&gt;  &lt;DIV&gt;古今多少事，都付笑谈中。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;/DIV&gt;  &lt;DIV&gt;――调寄《临江仙》&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-7985339383696941928?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/7985339383696941928/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=7985339383696941928' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7985339383696941928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7985339383696941928'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/01/blog-post_04.html' title='明 杨慎《二十一史》弹词第三章《说秦汉》开场词《临江仙》'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-6763545793113666023</id><published>2007-01-03T19:40:00.000+08:00</published><updated>2007-01-03T23:59:12.033+08:00</updated><title type='text'>Windows环境下J2EE开发应用环境的配置</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;em&gt;开始之前：&lt;/em&gt;&lt;br /&gt;下载J2EE相关的软件&lt;br /&gt;1、下载Java SE Development Kit5.0 (JDK)&lt;br /&gt;可以在&lt;a href="http://java.sun.com/javase/downloads/"&gt;http://java.sun.com/javase/downloads/&lt;/a&gt;找到相关下载&lt;br /&gt;2、下载apache2.2&lt;br /&gt;可以在&lt;a href="http://httpd.apache.org/"&gt;http://httpd.apache.org/&lt;/a&gt;找到相关内容&lt;br /&gt;3、下载tomcat5.5&lt;br /&gt;可以在&lt;a href="http://tomcat.apache.org/"&gt;http://tomcat.apache.org/&lt;/a&gt;找到相关内容&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;安装和配置JDK&lt;/em&gt;&lt;br /&gt;1、执行下载的jdk安装程序（如果是压缩包则直接解压缩，然后配置环境变量），选择简单的路径，如"C:\jdk\"&lt;br /&gt;&lt;br /&gt;2、配置环境变量&lt;br /&gt;Windows环境下与Java相关的环境变量主要有3个：JAVA_HOME、CLASSPATH和PATH。&lt;br /&gt;a、设置JAVA_HOME的值为"C:\jdk"。JAVA_HOME用于指向JDK的安装路径（如C:\JDK_1.6.0）此路径下包含bin、lib、jre等目录。&lt;br /&gt;可以选择任意磁盘目录，不过建议目录层次浅一点；&lt;br /&gt;b、设置CLASSPATH的值为".;%JAVA_HOME%\lib\tools.jar"&lt;br /&gt;注意的最前面的".;"，这个是告诉JDK，搜索CLASS时先查找当前目录，这是由于Linux的安全机制引起的，Linux的&lt;br /&gt;用户很明白，Windows用户就难以理解（因为WINDOWS默认的搜索顺序是先搜索当前目录，再搜索系统目录，最后搜&lt;br /&gt;索PATH环境变量设定的值）；CLASSPATH还指定了tools.jar，这个是由java语言的import机制和jar机制决定的。&lt;br /&gt;关于CLASSPATH的作用对Java应用程序至关重要，详细信息可以查看Java相关的资料。&lt;br /&gt;c、把JDK的bin目录（可执行程序目录）添加到PATH环境变量。Windows默认就有PATH，只需修改一下（增加内容）。&lt;br /&gt;作用是在命令行下面编译、执行程序时可以省略PATH中包含的路径。设置时保留原来的PATH的内容，在后面添加&lt;br /&gt;";%JAVA_HOME%\bin"("%%"其实是引用其它的环境变量名的操作符，用变量名来替代内容）就可以。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;安装和测试Tomcat&lt;/em&gt;&lt;br /&gt;1、安装Tomcat&lt;br /&gt;执行下载的安装程序（如果是压缩包则直接解压缩，然后配置环境变量），安装时它会自动寻找JRE的位置，默认&lt;br /&gt;服务端口8080。此例中假设安装到C:\tomcat-5.5。&lt;br /&gt;2、配置Tomcat的环境变量&lt;br /&gt;a、添加环境变量CATALINA_HOME，变量值为C:\tomcat5.5，用于指定Tomcat安装路径；&lt;br /&gt;b、添加变量CATALINA_BASE，设置值为C:\tomcat5.5；&lt;br /&gt;c、和JDK一样，如需要也可将%CATALINA_HOME%\bin添加到PATH。&lt;br /&gt;d、有些情况下需要修改环境变量中的CLASSPATH，把%CATALINA_HOME%\common\lib\servlet.jar追加到它中去。&lt;br /&gt;3、测试默认服务&lt;br /&gt;设置完毕后就可以测试运行Tomcat服务器了。用%CATALINA_HOME%\bin\startup.exe启动Tomcat（运行shutdown.exe&lt;br /&gt;可执行关闭操作）。如果在执行startup.exe或shutdown.exe的时候提示Out of Environment Space错误，选择DOS&lt;br /&gt;窗口的菜单中的"属性"→" 内存"→" 常规内存"， 把"初始环境"由"自动"修改成"2816"就可以了。启动Tomcat后，打&lt;br /&gt;开浏览器，在地址栏中输入&lt;a href="http://localhost:8080"&gt;http://localhost:8080&lt;/a&gt;（Tomcat默认端口为8080），如果在浏览器中看到Tomcat的欢迎&lt;br /&gt;界面，表示Tomcat工作正常。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;em&gt;安装和测试Apache HTTP Server&lt;br /&gt;&lt;/em&gt;在安装前如已安装了IIS，请先停止IIS服务。因为IIS和apache都默认使用80端口，会造成冲突。同样直接执行下载的安&lt;br /&gt;装程序，假设路径为C:\apache2.2\。安装时会要求输入一些关于这台服务器的信息，如域名、管理员邮箱，这些信息将&lt;br /&gt;会加入到httpd.conf文件中。&lt;br /&gt;安装完成后配置C:apache2.2\conf\httpd.conf文件，用文本编缉器打开httpd.conf,在DirectoryIndex index.html后添加index.jsp&lt;br /&gt;测试，在IE中输入&lt;a href="http://localhost/"&gt;http://localhost/&lt;/a&gt;,如果apache工作应该可以看到"It works!"这样的页面。&lt;br /&gt;&lt;br /&gt;&lt;em&gt;整合Apache HTTP Server和Tomcat&lt;br /&gt;&lt;/em&gt;网上很多是通过mod_jk来整合的，而由于Apache2.2本身已经支持tomcat了，所以这里用Apache的proxy来整合tomcat。&lt;br /&gt;1、停止apache和tomcat的服务。&lt;br /&gt;2、打开C:apache2.2\conf\httpd.conf文件，把&lt;br /&gt;#LoadModule proxy_module modules/mod_proxy.so&lt;br /&gt;#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so&lt;br /&gt;前面的#号去掉，再在文件最后添加&lt;br /&gt;ProxyPass /images/ !&lt;br /&gt;ProxyPass / ajp://127.0.0.1:8009/&lt;br /&gt;ProxyPassReverse / ajp://127.0.0.1:8009/&lt;br /&gt;（上面几行只是对apache2.2进行简单的优化。）&lt;br /&gt;3、最后测试整合后的apache+tomcat&lt;br /&gt;先启动apache，再启动tomcat,在浏览器中输入&lt;a href="http://localhost"&gt;http://localhost&lt;/a&gt;，可以看到Tomcat的欢迎页面就说明成功了。&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-6763545793113666023?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/6763545793113666023/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=6763545793113666023' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/6763545793113666023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/6763545793113666023'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/01/fw-windowsj2ee.html' title='Windows环境下J2EE开发应用环境的配置'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-7530279867391183255</id><published>2007-01-02T20:09:00.000+08:00</published><updated>2007-01-02T20:14:45.778+08:00</updated><title type='text'>结束</title><content type='html'>&lt;span style="font-size:85%;"&gt;雷帝在线翻译说要停，三友库存管理也并没有得到认可，我觉得我的一个时代已经过去了... ...&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:85%;"&gt;12/31/2006 &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-7530279867391183255?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/7530279867391183255/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=7530279867391183255' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7530279867391183255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/7530279867391183255'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2007/01/blog-post.html' title='结束'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-2311060147462963606</id><published>2006-12-26T22:36:00.001+08:00</published><updated>2006-12-26T22:45:05.324+08:00</updated><title type='text'>Excerpt</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;em&gt;"We should forget about small efficiencies, say about 97% of the time: Premature optimization is the root of all evil."―Donald Knuth&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-2311060147462963606?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/2311060147462963606/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=2311060147462963606' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/2311060147462963606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/2311060147462963606'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2006/12/fw-excerpt.html' title='Excerpt'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8604993654538446960.post-985574186420225711</id><published>2006-12-26T17:54:00.000+08:00</published><updated>2006-12-26T17:55:13.636+08:00</updated><title type='text'>月光倾城</title><content type='html'>&lt;DIV&gt;词 曲:&lt;EM&gt;高晓松&lt;/EM&gt;&amp;nbsp;   演唱:&lt;EM&gt;老狼&lt;/EM&gt;&lt;BR&gt;&lt;BR&gt;月光下的城城下的灯下的人在等&lt;BR&gt;人群里的风风里的歌里的岁月声&lt;BR&gt;谁不知不觉叹息叹那不知不觉年纪&lt;BR&gt;谁还倾听一叶知秋的美丽&lt;BR&gt;早晨你来过留下过弥漫过樱花香&lt;BR&gt;窗被打开过门开过人问我怎么说&lt;BR&gt;你曾唱一样月光&lt;BR&gt;曾陪我为落叶悲伤&lt;BR&gt;曾在落满雪的窗前画我的模样&lt;BR&gt;那些飘满雪的冬天&lt;BR&gt;那个不带伞的少年&lt;BR&gt;那句被门挡住的誓言&lt;BR&gt;那串被雪覆盖的再见&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8604993654538446960-985574186420225711?l=zhangjunlong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zhangjunlong.blogspot.com/feeds/985574186420225711/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8604993654538446960&amp;postID=985574186420225711' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/985574186420225711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8604993654538446960/posts/default/985574186420225711'/><link rel='alternate' type='text/html' href='http://zhangjunlong.blogspot.com/2006/12/blog-post.html' title='月光倾城'/><author><name>再见理想</name><uri>http://www.blogger.com/profile/12180553541343705759</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
