﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-小亮的网络日志</title><link>http://www.blogjava.net/zool/</link><description> 没有副标题,真的没有副标题.-__-! </description><language>zh-cn</language><lastBuildDate>Sun, 03 May 2026 04:07:13 GMT</lastBuildDate><pubDate>Sun, 03 May 2026 04:07:13 GMT</pubDate><ttl>60</ttl><item><title>迟来的回忆！</title><link>http://www.blogjava.net/zool/archive/2005/08/16/10218.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 16 Aug 2005 04:47:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/08/16/10218.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/10218.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/08/16/10218.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/10218.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/10218.html</trackback:ping><description><![CDATA[<img style="width: 426px; height: 154px;" src="http://www.blogjava.net/images/blogjava_net/zool/1071/r_2005815197863045.jpg" alt="r_2005815197863045.jpg" border="0"><br>
<img src ="http://www.blogjava.net/zool/aggbug/10218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-08-16 12:47 <a href="http://www.blogjava.net/zool/archive/2005/08/16/10218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>比尔盖茨大学毕业典礼演讲的十项建议</title><link>http://www.blogjava.net/zool/archive/2005/08/15/10165.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 15 Aug 2005 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/08/15/10165.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/10165.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/08/15/10165.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/10165.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/10165.html</trackback:ping><description><![CDATA[<FONT size=2>Bill Gates在某大学毕业典礼的演讲中，对毕业生提出十项极为睿智的人生建议，与毕业同学互勉： </FONT>
<P>&nbsp;</P>
<P><FONT size=2>1.人生是不公平的，习惯接受吧。但如果你打算习惯一辈子，那人生是公平的。 </FONT></P>
<P><FONT size=2>2.这个世界并不在乎你的自尊，只在乎你做出来的成绩。有了成绩再去强调你的感受。 </FONT></P>
<P><FONT size=2>3.你不会一离开学校就有百万年薪、你不会马上就是拥有公司配属车位的副总裁，二者都必须靠努力赚来。 </FONT></P>
<P><FONT size=2>4.如果你觉得你的老板很凶，等你做了老板就知道，老板是没有工作任期保障的。 </FONT></P>
<P><FONT size=2>5.在速食店打工并不可耻，你的祖父母对煎汉堡有不同的看法，那没关系。重要的是你对未来的看法。 </FONT></P>
<P><FONT size=2>6.如果你一事无成，不是你父母的错。不要对自己犯的错发牢骚，要在错误中学习正确之道。 </FONT></P>
<P><FONT size=2>7.在你出生之前，你的父母并不像现在这般无趣，他们变成现在这样是因为忙着付你的开销，清洗你的衣服、听你吹嘘你有多了不起。所以在你拯救被父母这代人破坏的热带雨林之前，先整理一下自己的态度。 </FONT></P>
<P><FONT size=2>8.学校里可能有蠃家有输家，人生路上却还言之过早。学校会不断给你机会，真实人生中却完全不是这麽回事。 </FONT></P>
<P><FONT size=2>9.人生没有寒暑假。人生不是学期制，没有哪个雇主有兴趣帮你寻找自我，请用自己的时间来做这件事。 </FONT></P>
<P><FONT size=2>10.电视上演的并非真实人生。现实生活中每人都要离开咖啡馆去创业。 <BR>&nbsp;<BR></FONT></P><img src ="http://www.blogjava.net/zool/aggbug/10165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-08-15 17:18 <a href="http://www.blogjava.net/zool/archive/2005/08/15/10165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>何为：鲁棒性？</title><link>http://www.blogjava.net/zool/archive/2005/08/15/10164.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 15 Aug 2005 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/08/15/10164.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/10164.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/08/15/10164.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/10164.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/10164.html</trackback:ping><description><![CDATA[<FONT size=2>所谓“鲁棒性”，是指控制系统在一定（结构，大小）的参数摄动下，维持某些性能的特性。</FONT><img src ="http://www.blogjava.net/zool/aggbug/10164.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-08-15 17:17 <a href="http://www.blogjava.net/zool/archive/2005/08/15/10164.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google AdSense申请完全手册</title><link>http://www.blogjava.net/zool/archive/2005/08/15/10163.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 15 Aug 2005 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/08/15/10163.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/10163.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/08/15/10163.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/10163.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/10163.html</trackback:ping><description><![CDATA[<P><STRONG><FONT size=2>转贴一个Google AdSense申请完全手册，希望越來越多的朋友能够成功收到支票，呵呵。</FONT></STRONG></P>
<P><STRONG><FONT size=2>一、注册Google AdSense</FONT></STRONG></P>
<P><FONT size=2>到 </FONT><A href="https://www.google.com/adsense" target=_blank></A><A href="https://www.google.com/adsense" target=_blank><FONT color=#0002ca size=2>https://www.google.com/adsense</FONT></A><FONT size=2> 注册。如果以前注册过Google AdWords（Google广告词——对关键字进行右侧付费推广）那么就能使用您的Google AdWords密码登录，开通Google AdSense了。</FONT></P>
<P><FONT size=2>Google提示不支持中文，注册时填写拼音</FONT></P>
<P><FONT size=2>需要填写</FONT></P>
<P><FONT size=2>您输入的帐户信息如下：（XX代表隐藏站长的信息）</FONT></P><FONT size=2>
<HR width="100%" noShade SIZE=1>
</FONT>
<P><FONT size=2>收款人：Wang Xiaobo或Xiaobo Wang（这个信息一定不能错，一旦提交永远不得更改。姓、名顺序可以按中文习惯，也可以按英语习惯颠倒过来）<BR>地址：Room 102, Building 3<BR>地址（延续）：Hua Xi Cun 2#<BR>城市：Nanjing<BR>州、省或地区：Jiangsu<BR>邮政编码：210000<BR>国家/地区：中国<BR>电话：+86-25-85412654（注意：国家代码和区号前不要加0）<BR>产品：AdSense for content（针对内容的AdSense）和AdSense for search（针对搜索的AdSense）<BR>网站：</FONT><A href="http://www.yoursite.com/" target=_blank></A><A href="http://free3.e-168.cn/blue52/blog/www.yoursite.com" target=_blank><FONT color=#0002ca size=2>www.yoursite.com</FONT></A><BR><FONT size=2>网站语言：中文（简体）</FONT></P><FONT size=2>
<HR width="100%" noShade SIZE=1>
</FONT>
<P><FONT size=2>请在继续前确认所有信息都是正确的。<BR>在此之后不能更改付款人姓名或国家/地区名称。</FONT></P>
<P><STRONG><FONT size=2>二、等待Google来信</FONT></STRONG></P>
<P><FONT size=2>等了两天，Google来信如下：</FONT></P><FONT size=2>
<HR width="100%" noShade SIZE=1>
</FONT>
<P><FONT size=2>标题：欢迎光临_Google_AdSense<BR>祝贺您！</FONT></P>
<P><FONT size=2>您的 Google AdSense 申请已得到批准。现在，您可以启用帐户，几分钟后就会开始向您的网站投放 Google 广告和提供 AdSense for search （针对搜索的<BR>AdSense）。</FONT></P>
<P><FONT size=2>第 1 步：启用帐户。<BR>请访问 </FONT><A href="https://www.google.com/adsense?hl=zh_CN" target=_blank></A><A href="https://www.google.com/adsense?hl=zh_CN" target=_blank><FONT color=#0002ca size=2>https://www.google.com/adsense?hl=zh_CN</FONT></A><FONT size=2>，然后使用申请中所提交的电子邮件地址和密码登录到自己的帐户，并选择同意 AdSense 条款。</FONT></P>
<P><FONT size=2>第 2 步：将 AdSense 代码粘贴到您的网页。<BR>只需按照“广告布局代码”页和“搜索代码”页中的说明进行*作，即可将 Google 代码复制并粘贴到您的网站中。几分钟后就会开始向您的网站投放 Google 广告和提<BR>供 AdSense for search。</FONT></P>
<P><FONT size=2>第 3 步：查看结果。<BR>广告开始投放后，您就可以通过自己帐户中的在线报告随时查看收入情况。请注意，如果您的网站中包含以下任一内容，都有可能无法从 AdSense 中获得最大收<BR>入：<BR>* robots.txt<BR>* 框架<BR>* 表单与动态内容<BR>* 过多的图像<BR>* 要求登录和输入密码</FONT></P>
<P><FONT size=2>有关针对此计划优化网站的更多技术指南与建议，请访问：<BR></FONT><A href="https://www.google.com/adsense/faq-tech?hl=zh_CN" target=_blank></A><A href="https://www.google.com/adsense/faq-tech?hl=zh_CN" target=_blank><FONT color=#0002ca size=2>https://www.google.com/adsense/faq-tech?hl=zh_CN</FONT></A></P>
<P><FONT size=2>重要注意事项：<BR>* 如果 Google 尚未抓取您的网站，则可能需要数小时才能看到有针对性的广告。<BR>您在此期间可能会看到公益广告（这些广告无法为您带来任何收入）。</FONT></P>
<P><FONT size=2>* 如果您的网页还未列入 Google 搜索的索引中，Google 将不能返回SiteSearch 结果。请注意将 SiteSearch 添加至任何网页，都不会使此网页进入我们漫游器的等待抓取队列。如果您希望采用手动方式将贵网站的主要网址添加到我们的抓取索引，则可以通过</FONT><A href="http://www.google.com/intl/zh-CN/addurl.html" target=_blank></A><A href="http://www.google.com/intl/zh-CN/addurl.html" target=_blank><FONT color=#0002ca size=2>http://www.google.com/intl/zh-CN/addurl.html</FONT></A><BR><FONT size=2>进行这一*作。采用这一方式提交贵网站不能确保网站一定会被加入到 Google 索引中。</FONT></P>
<P><FONT size=2>* 网站发布商或由发布商征召的第三方不得采用人为方式或通过漫游器产生欺诈性<BR>点击（恶意点击）。点击自己网站上的广告有违此政策，所以请不要因任何原因点<BR>击这些广告。我们会监控所有的 AdSense 活动，并且会停用违反此政策的任何发<BR>布商的帐户。详细信息，请参阅 Google AdSense 条款，地址是：<BR></FONT><A href="https://www.google.com/adsense/localized-terms?hl=zh_CN" target=_blank></A><A href="https://www.google.com/adsense/localized-terms?hl=zh_CN" target=_blank><FONT color=#0002ca size=2>https://www.google.com/adsense/localized-terms?hl=zh_CN</FONT></A></P>
<P><FONT size=2>有什么问题？<BR>请随时与我们联系，我们的电子邮件地址是 </FONT><A href="mailto:adsense-zhs at google dot com" target=_blank><FONT color=#0002ca size=2>adsense-zhs at google dot com</FONT></A><FONT size=2>。</FONT></P>
<P><FONT size=2>欢迎光临 Google AdSense。我们热切期盼能够帮助您全面发挥贵网站的创收潜力。</FONT></P>
<P><FONT size=2>Google 小组敬上</FONT></P><FONT size=2>
<HR width="100%" noShade SIZE=1>
</FONT>
<P><STRONG><FONT size=2>三、登录设置，获取代码</FONT></STRONG></P>
<P><FONT size=2>为了让大家登录方便，首页放了个Google AdSense登录的地址，可以直接点击。</FONT></P>
<P><FONT size=2>由于Google的中文意思表达不明确，并且Google对于很多细节都避而不谈，所以dan迷茫了两天。通过几天的试验和询问朋友，终于明白很多东西。</FONT></P>
<P><FONT size=2>Google AdSense分为AdSense广告和AdSense搜索。AdSense广告就是放google的广告条；AdSense搜索就是提供个性化颜色的Google搜索，上面有时会出现广告条。也就是说，只有点击广告条才能赚钱，否则显示得再多也是徒劳！</FONT></P>
<P><FONT size=2>进入“广告设置”栏目。可以设置“广告颜色”等细节，最后生成一段代码，比如</FONT></P>
<P><FONT size=2>&lt;script type="text/javascript"&gt;&lt;!--<BR>google_ad_client = "ID";<BR>google_ad_width = 468;<BR>google_ad_height = 60;<BR>google_ad_format = "468x60_as";<BR>google_ad_channel ="";<BR>//--&gt;&lt;/script&gt;<BR>&lt;script type="text/javascript"<BR>src="</FONT><A href="http://pagead2.googlesyndication/" target=_blank></A><A href="http://pagead2.googlesyndication/" target=_blank><FONT color=#0002ca size=2>http://pagead2.googlesyndication</FONT></A><FONT size=2>.&amp; ... ow_ads.js";&gt;<BR>&lt;/script&gt;</FONT></P>
<P><FONT size=2>然后你就粘贴到你的网页上就可以了。</FONT></P>
<P><FONT size=2>在“搜索设置”栏目中，设置后又能得到一段代码</FONT></P>
<P><FONT size=2>&lt;!-- Search Google --&gt;<BR>&lt;center&gt;<BR>&lt;form method="get" action="</FONT><A href="http://www.google.com/custom" target=_blank></A><A href="http://www.google.com/custom" target=_blank><FONT color=#0002ca size=2>http://www.google.com/custom</FONT></A><FONT size=2>" ... ;"_top"&gt;<BR>&lt;table bgcolor="#ffffff"&gt;<BR>&lt;tr&gt;&lt;td nowrap="nowrap" valign="top" align="left" height="32"&gt;<BR>&lt;a href="</FONT><A href="http://www.google.com/" target=_blank></A><A href="http://www.google.com/" target=_blank><FONT color=#0002ca size=2>http://www.google.com/</FONT></A><FONT size=2>";&gt;<BR>&lt;img src="</FONT><A href="http://www.google.com/logos/Logo_25wht.gif" target=_blank></A><A href="http://www.google.com/logos/Logo_25wht.gif" target=_blank><FONT color=#0002ca size=2>http://www.google.com/logos/Logo_25wht.gif</FONT></A><FONT size=2>"; border="0&amp;qu ... quot;middle"&gt;&lt;/img&gt;&lt;/a&gt;<BR>&lt;input type="text" name="q" size="31" maxlength="255" value=""&gt;&lt;/input&gt;<BR>&lt;input type="submit" name="sa" value="搜索"&gt;&lt;/input&gt;<BR>&lt;input type="hidden" name="client" value="ID"&gt;&lt;/input&gt;<BR>&lt;input type="hidden" name="forid" value="1"&gt;&lt;/input&gt;<BR>&lt;input type="hidden" name="ie" value="GB2312"&gt;&lt;/input&gt;<BR>&lt;input type="hidden" name="oe" value="GB2312"&gt;&lt;/input&gt;<BR>&lt;input type="hidden" name="cof" value="GALT:#FFFFFF;GL:1;DIV:#990000;VLC:FFFFFF;AH:center;BGC:000000;LBGC:000000;ALC:66CCFF;LC:66CCFF;T:FFFF00;GFNT:808000;GIMP:808000;LH:31;LW:88;L:</FONT><A href="http://www.loveseo.com/link/imag" target=_blank><FONT color=#0002ca size=2>http://www.loveseo.com/link/imag</FONT></A><FONT size=2> ...&amp; ... :1;"&gt;&lt;/input&gt;<BR>&lt;input type="hidden" name="hl" value="zh-CN"&gt;&lt;/input&gt;<BR>&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<BR>&lt;/form&gt;<BR>&lt;/center&gt;<BR>&lt;!-- Search Google --&gt;</FONT></P>
<P><FONT size=2>同样，粘贴即可。</FONT></P>
<P><STRONG><FONT size=2>四、上传网页</FONT></STRONG></P>
<P><FONT size=2>上传后，并不能马上显示广告，有的可能要过段时间才行。有的则显示没有任何收入的公益广告！根据Google的流程来看是这样的：</FONT></P>
<P><FONT size=2>网页执行JavaScript程序，Google服务器来抓当前的网页，然后Google服务器分析网页内容，在你的网页上显示相关的广告。看来Google AdSense的确很聪明。</FONT></P>
<P><STRONG><FONT size=2>五、查询收入</FONT></STRONG></P>
<P><FONT size=2>Google AdSense是每4个小时更新一次点击记录。加上美国时间比中国时间晚12小时，所以再查询时不要疑惑。前天有3个点击，前两个赚了0.44美元，第3个外国广告的点击居然有6美元！不过，昨天看了一下统计，居然变成了每个点击0.04美元。不知道Google的浮动算法是什么，Google对于AdSense的很多东西都是保密的。</FONT></P>
<P><STRONG><FONT size=2>六、Google AdSense支付</FONT></STRONG></P>
<P><FONT size=2>当你的广告费满100美元时，Google会寄支票给你。带上支票和身份证。另外带点钱（100元就够了），去中国银行办理光票托收手续（这种支票并不是那种凭身份证就能去银行取钱的那种，所以叫“光票”）。</FONT></P>
<P><FONT size=2>首先，支票背面的指定位置需要你的签名，签名要和正面收款人的一致（别担心，银行工作人员都会告诉你的啦~~）；</FONT></P>
<P><FONT size=2>其次，您需要向银行交纳一定的手续费和支票的邮寄费（支票要寄到国外银行）,所收费用根据各地情况而不同。邮寄费一般为10——12元人民币不等，手续费一般为支票金额的0.1%（不足10元按10元交纳）；</FONT></P>
<P><FONT size=2>再次，留下您的联系电话，将收据收好，大约1个月之后，银行会电话通知您款已到帐。</FONT></P>
<P><FONT size=2>最后，拿着您的收据和身份证再到外币柜台，这时您就可以见到您的美元了！（注：如果直接把美圆存到银行，要比把美圆取出，然后再存的利率要高一些~~）</FONT></P>
<P><FONT size=2>注意：有的公司的支票是有有效期的，所以要尽快办理托收手续！比如，票面上标注“VOID AFTER 90 DAYS”表示支票在90天内有效。</FONT></P>
<P><STRONG><FONT size=2>七、疑问</FONT></STRONG></P>
<P><FONT size=2>Q: Google同意将代码放到多个网站上吗？<BR>A: 虽然申请时填了一个网址，但是Google给了你一段代码，里面有你的 ID号，所以可以放在多个网站上。</FONT></P>
<P><FONT size=2>Q: 如何避免Goolge的公益广告？<BR>A: 公益广告是不可避免的，Google允许你在应该显示公益广告时换成你自己的广告</FONT></P>
<P><FONT size=2>摘自《有风的日子》</FONT></P><FONT size=2><IMG height=1 src="http://blog.donews.com/quanlm/aggbug/501341.aspx" width=1> </FONT><img src ="http://www.blogjava.net/zool/aggbug/10163.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-08-15 17:16 <a href="http://www.blogjava.net/zool/archive/2005/08/15/10163.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让所有警察崩溃的司机</title><link>http://www.blogjava.net/zool/archive/2005/08/15/10162.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 15 Aug 2005 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/08/15/10162.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/10162.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/08/15/10162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/10162.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/10162.html</trackback:ping><description><![CDATA[<P><FONT size=2>一名警察要一位超速行驶的男士把车停到路边，之后开始了下面的问话调查：<BR><BR>警察：我能看一下你的驾驶执照吗？<BR><BR>司机：我没有驾照，因为第五次酒后开车，我的驾照被吊销了。<BR><BR>警察：我可以看看你车子的牌照吗？<BR><BR>司机：这不是我的车，是我偷人家的。<BR><BR>警察：车是偷的？<BR><BR>司机：对。但是让我想一想……我想起来了，车主的牌照……噢，放在仪表签盘上的小柜子里面了。当我把我的手枪放进小柜子里时，我看见过车牌照。<BR><BR>警察：仪表盘上的小柜子里有一把手枪？<BR><BR>司机：是的，先生。我杀了这部车的女主人，把她放进车后边的行李箱里，然后，把我的枪放进了那个小柜子里。<BR><BR>警察：你是说后备箱里有一具女尸？<BR><BR>司机：是的，先生。<BR><BR>听到这里，警察大惊，立刻向警察局呼叫求援。很快，这部汽车被一群警察包围了。一名警官走向司机，去处理这一紧急情况。<BR><BR>警官：先生，我能看一下你的驾照吗？<BR><BR>司机：当然可以，给。<BR><BR>警官：车是谁的？<BR><BR>司机：我的，警官先生。这是我的牌照。<BR><BR>警官：你能打开仪表盘上的小柜子上我看看里面的手枪吗？<BR><BR>司机：我可以打开小柜子，长官。但是，里面没有什么手枪。<BR><BR>小柜子打开了，里面果然没有手枪。<BR><BR>警官：我被告知你车尾的行李箱里藏着一具尸体。你不介意打开它吧？<BR><BR>司机：没问题。<BR><BR>行李箱打开了，没有发现尸体。<BR><BR>警官：我不明白这是怎么回事。那名让你停车的警察说，你没有驾照，车是偷的，小柜子里有一把手枪，后备箱里装着一具尸体，难道是我们这位警察谎报吗？<BR><BR>司机：那当然！他还谎报我超速行驶了呢</FONT></P><img src ="http://www.blogjava.net/zool/aggbug/10162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-08-15 17:15 <a href="http://www.blogjava.net/zool/archive/2005/08/15/10162.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>广播剧【平凡的世界】,RM。</title><link>http://www.blogjava.net/zool/archive/2005/08/15/10160.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 15 Aug 2005 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/08/15/10160.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/10160.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/08/15/10160.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/10160.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/10160.html</trackback:ping><description><![CDATA[<H2><FONT color=#808080 size=2>转自</FONT><A href="http://www.laogui.com/" target=_blank><FONT color=#808080 size=2>老鬼的blog</FONT></A><FONT color=#808080 size=2>(一个网站相关的人）我唯一坚持在电脑上看玩的小说，让人难忘的岁月.</FONT></H2>
<P><A href="http://file.laogui.com/simpleworld/01.rm" target=_blank><FONT size=2>第01集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/02.rm" target=_blank><FONT size=2>第02集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/03.rm" target=_blank><FONT size=2>第03集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/04.rm" target=_blank><FONT size=2>第04集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/05.rm" target=_blank><FONT size=2>第05集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/06.rm" target=_blank><FONT size=2>第06集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/07.rm" target=_blank><FONT size=2>第07集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/08.rm" target=_blank><FONT size=2>第08集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/09.rm" target=_blank><FONT size=2>第09集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/10.rm" target=_blank><FONT size=2>第10集</FONT></A><BR><A href="http://file.laogui.com/simpleworld/11.rm" target=_blank><FONT size=2>第11集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/12.rm" target=_blank><FONT size=2>第12集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/13.rm" target=_blank><FONT size=2>第13集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/14.rm" target=_blank><FONT size=2>第14集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/15.rm" target=_blank><FONT size=2>第15集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/16.rm" target=_blank><FONT size=2>第16集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/17.rm" target=_blank><FONT size=2>第17集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/18.rm" target=_blank><FONT size=2>第18集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/19.rm" target=_blank><FONT size=2>第19集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/20.rm" target=_blank><FONT size=2>第20集</FONT></A><BR><A href="http://file.laogui.com/simpleworld/21.rm" target=_blank><FONT size=2>第21集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/22.rm" target=_blank><FONT size=2>第22集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/23.rm" target=_blank><FONT size=2>第23集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/24.rm" target=_blank><FONT size=2>第24集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/25.rm" target=_blank><FONT size=2>第25集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/26.rm" target=_blank><FONT size=2>第26集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/27.rm" target=_blank><FONT size=2>第27集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/28.rm" target=_blank><FONT size=2>第28集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/29.rm" target=_blank><FONT size=2>第29集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/30.rm" target=_blank><FONT size=2>第30集</FONT></A><BR><A href="http://file.laogui.com/simpleworld/31.rm" target=_blank><FONT size=2>第31集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/32.rm" target=_blank><FONT size=2>第32集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/33.rm" target=_blank><FONT size=2>第33集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/34.rm" target=_blank><FONT size=2>第34集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/35.rm" target=_blank><FONT size=2>第35集</FONT></A><FONT size=2> </FONT><A href="http://file.laogui.com/simpleworld/36.rm" target=_blank><FONT size=2>第36集</FONT></A></P><img src ="http://www.blogjava.net/zool/aggbug/10160.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-08-15 17:15 <a href="http://www.blogjava.net/zool/archive/2005/08/15/10160.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习JAVA，你是那种人？</title><link>http://www.blogjava.net/zool/archive/2005/08/02/8995.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 02 Aug 2005 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/08/02/8995.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/8995.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/08/02/8995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/8995.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/8995.html</trackback:ping><description><![CDATA[<P><FONT color=#000000 size=2>凭作者对java的折服，凭着对java的兴趣，我想我会做大学里的第三种人。原blog下面还又一堆评论，不妨看看，呵呵</FONT></P>
<P><!--StartFragment --><FONT color=#000000 size=2>&nbsp;<!--StartFragment --> </FONT><A href="http://blog.csdn.net/kerry365/archive/2005/07/26/435488.aspx"><FONT color=#000000 size=2>一年以来对Java的一些感想!!</FONT></A><FONT size=2><FONT color=#000000>&nbsp;&nbsp; by<!--StartFragment --></FONT></FONT><A class=headermaintitle id=Header1_HeaderTitle href="http://blog.csdn.net/kerry365/"><FONT color=#000000 size=2>龚磊的Blog</FONT></A></P>
<P><FONT color=#800080 size=2></FONT>&nbsp;</P>
<P><FONT color=#800080 size=2>在Java的世界里面摸爬滚打也有一年多了,相比Java诞生十年来,一年真的算不了什么,Java的前五年就像一个初生的婴儿,似乎在软件开发领域找不到它应有的位置,除了在netscape浏览器中嵌入一些小小的applet之外,桌面应用基本上没有它的位置,虽然它是为了桌面应用的跨平台而设计的,但是没有设计得很完美,无法与C/C++,dephi相比,性能上来说它也不是一种很好的语言,因为与操作系统中夹了一层虚拟层,它的缓慢让很多人望而却步,但是,它的语言机制对程序语言设计来说是一种革命,而不仅仅是一种新的语言,除了语言的健壮性和安全性之外,使得我们程序员也从那些烦人的语言细节上面得以解放.直到99年J2EE的出现,才彻底改变了这种语言,jAVA也找到了它在应用开发中应有的位置.后面五年Java的发展,对软件开发领域来说是一陈风暴,席卷了整个软件业的开发,也成了高端企业开发的代表词...</FONT></P>
<P><FONT color=#800080 size=2>很庆幸,我选择了Java,从短时间上面讲,它解决了我的就业问题,常常自己想,如果我没有接触到Java,也许我还在苦苦的学MFC,我对此并不感兴趣,那种基于C/S的开发,对我没有多大的吸引力.有时觉得真的很神奇,一种那么简单的无状态的http协议竞争能构建这么大一个复杂的企业级的B/S 系统,有时我真的是被深深的折服.也许这就是带领我来到这个Java世界的一个很重要的原因,因为实现这样一个复杂的系统一直是我梦寐以求的事情,能做出这样的一个庞大的系统的时候也是我最有成就的时候..</FONT></P>
<P><FONT color=#800080 size=2>Java现在很火,学Java的人很多,软件公司需要会Java的人也很多,但是并不是说会Java就能找到好工作..经过大学几年的学习,结合自己的亲身体会,和自己做程序员的日子,总感觉自己总是被一些东西牵着鼻子在走,这些东西并不只是高的新的技术,还有很多很多......大学里学的计算机只是一些基础的基础,我并没有把这些基础学得有多好,现在也一直很后悔..其实大学里面计算机专业有两种人,一种是死守阵地,把大学里面的那计算机课程学得死死的,考试成绩很好,证书也拿了几个,但是没有开发过项目,使用的开发技术也很古老,开发效率极低,这种人出来找工作没有多大的优势可言,当然除了再回到学校里面去教书之外.还有一种人,对新技术盲目的崇拜,总是很浮躁,认为大学里面学的东西都没有用,过时了,今天想学Java,明天又想学.net,当听到.一种新的技术,又在怀疑以前学的东西是不是以后有用,是不是会淘汰,结果,什么都没有,这种人,永远 只有在IT业中被拖着走,开技术根本不行,做技术咨询到不错,反正他们都是一知半解...</FONT></P>
<P><FONT color=#800080 size=2>不知道为什么,大学里面女生的计算机成绩都很好,但是在IT公司很少很少看到女生,我们公司就一个,呵呵,看她的样子,写代码很扎实,但是并不擅长做设计....</FONT></P>
<P><FONT color=#800080 size=2>谈了这么一些,感觉危机感又来了,struts并未完全精通,hibernate才用过几次,感受到了它的强大,spring等AOP又出来了,我又要去学了... 其实我认为这并不像一些人说的这样很累很辛苦,正是因为我们年轻,我们才有这样的激情在这种世界前沿科技领域去奉献我们的青春....我觉得很值...祝 Java十周年生日快乐..</FONT></P>
<P><BR><BR><FONT color=#800080 size=2>本文引用通告地址： http://blog.csdn.net/kerry365/services/trackbacks/435488.aspx </FONT></P><img src ="http://www.blogjava.net/zool/aggbug/8995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-08-02 10:47 <a href="http://www.blogjava.net/zool/archive/2005/08/02/8995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat4.01全攻略 </title><link>http://www.blogjava.net/zool/archive/2005/04/19/3486.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 11:06:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3486.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3486.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3486.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3486.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3486.html</trackback:ping><description><![CDATA[<P><FONT size=2>Tomcat4.01全攻略 <BR>一：简介 <BR>tomcat是jakarta项目中的一个重要的子项目，其被JavaWorld杂志的编辑选为2001年度最具创新的java产品(Most Innovative Java Product)，同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见http://java.sun.com/products/jsp/tomcat/)，因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。 </FONT></P><BR>
<P><FONT size=2>二：安装及配置 <BR>tomcat最新版本为4.0.1，这个版本用了一个新的servlet容器Catalina，完整的实现了servlet2.3和jsp1.2规范。注意安装之前你的系统必须安装了jdk1.2以上版本。 </FONT></P><BR>
<P><FONT size=2>(一)：安装 <BR>1：windows平台 <BR>从tomcat网站下载jakarta-tomcat-4.0.1.exe，按照一般的windows程序安装步骤即可安装好tomcat,安装时它会自动寻找你的jdk和jre的位置。 </FONT></P><BR>
<P><FONT size=2>2：linux平台 <BR>下载jakarta-tomcat-4.0.1.tar.gz，将其解压到一个目录。 </FONT></P><BR>
<P><FONT size=2>(二)：配置 <BR>运行tomcat需要设置JAVA_HOME变量 <BR>set JAVA_HOME=c:/jdk (win98，在msdos方式下使用，或者放入autoexec.bat中) <BR>export JAVA_HOME=/usr/local/jdk (linux下使用，放到/etc/bashrc或者/etc/profile中) </FONT></P><BR>
<P><FONT size=2>(三)：运行 <BR>设置完毕后就可以运行tomcat服务器了，进入tomcat的bin目录，win98下用startup启动tomcat，linux下用startup.sh，相应的关闭tomcat的命令为shutdown和shutdown.sh。 <BR>启动后可以在浏览器中输入http://localhost:8080/测试，由于tomcat本身具有web服务器的功能，因此我们不必安装apache，当然其也可以与apache集成到一起，下面会介绍。 <BR>下面你可以测试其自带的jsp和servlet示例。 </FONT></P><BR>
<P><FONT size=2>三：应用 </FONT></P><BR>
<P><FONT size=2>(一):目录结构 <BR>tomcat的目录结构如下： <BR>目录名: 简介 <BR>bin : 存放启动和关闭tomcat脚本 <BR>conf : 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml <BR>work : 存放jsp编译后产生的class文件 <BR>webapp: 存放应用程序示例，以后你要部署的应用程序也要放到此目录 <BR>logs : 存放日志文件 <BR>lib/japser/common : 这三个目录主要存放tomcat所需的jar文件 </FONT></P><BR>
<P><BR><FONT size=2>(二)：server.xml配置简介 <BR>下面我们将讲述这个文件中的基本配置信息，更具体的配置信息见tomcat的文档 <BR>server: <BR>port 指定一个端口，这个端口负责监听关闭tomcat的请求 <BR>shutdown 指定向端口发送的命令字符串 <BR>service: <BR>name 指定service的名字 <BR>Connector (表示客户端和service之间的连接): <BR>port 指定服务器端要创建的端口号，并在这个断口监听来自客户端的请求 <BR>minProcessors 服务器启动时创建的处理请求的线程数 <BR>maxProcessors 最大可以创建的处理请求的线程数 <BR>enableLookups 如果为true，则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名，若为false则不进行DNS查询，而是返回其ip地址 <BR>redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号 <BR>acceptCount 指定当所有可以使用的处理请求的线程数都被使用时，可以放到处理队列中的请求数，超过这个数的请求将不予处理 <BR>connectionTimeout 指定超时的时间数(以毫秒为单位) <BR>Engine (表示指定service中的请求处理机，接收和处理来自Connector的请求): <BR>defaultHost 指定缺省的处理请求的主机名，它至少与其中的一个host元素的name属性值是一样的 <BR>Context (表示一个web应用程序，通常为WAR文件，关于WAR的具体信息见servlet规范): <BR>docBase 应用程序的路径或者是WAR文件存放的路径 <BR>path 表示此web应用程序的url的前缀，这样请求的url为http://localhost:8080/path/**** <BR>reloadable 这个属性非常重要，如果为true，则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化，自动装载新的应用程序，我们可以在不重起tomcat的情况下改变应用程序 <BR>host (表示一个虚拟主机): <BR>name 指定主机名 <BR>appBase 应用程序基本目录，即存放应用程序的目录 <BR>unpackWARs 如果为true，则tomcat会自动将WAR文件解压，否则不解压，直接从WAR文件中运行应用程序 <BR>Logger (表示日志，调试和错误信息): <BR>className 指定logger使用的类名，此类必须实现org.apache.catalina.Logger 接口 <BR>prefix 指定log文件的前缀 <BR>suffix 指定log文件的后缀 <BR>timestamp 如果为true，则log文件名中要加入时间，如下例:localhost_log.2001-10-04.txt <BR>Realm (表示存放用户名，密码及role的数据库): <BR>className 指定Realm使用的类名，此类必须实现org.apache.catalina.Realm接口 <BR>Valve (功能与Logger差不多，其prefix和suffix属性解释和Logger 中的一样): <BR>className 指定Valve使用的类名，如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息 <BR>directory 指定log文件存放的位置 <BR>pattern 有两个值，common方式记录远程主机名或ip地址，用户名，日期，第一行请求的字符串，HTTP响应代码，发送的字节数。combined方式比common方式记录的值更多 </FONT></P><BR>
<P><FONT size=2>注意： <BR>1：经过我测试，我设置Context 的path="",reloadable=true，然后放一个WAR文件到webapps目录，结果tomcat不能检测出此文件(重起tomcat可以)，而把此文件解压，则tomcat会自动检测出这个新的应用程序。如果不能自动检测WAR文件，我们可以利用下面管理中讲的方法来部署应用程序。 </FONT></P><BR>
<P><FONT size=2>2：默认的server.xml中，Realm元素只设置了一个className属性，但此文件中也包含几个通过JDBC连接到数据库进行验证的示例(被注释掉了)，通过Realm元素我们可以实现容器安全管理(Container Managed Security)。 </FONT></P><BR>
<P><FONT size=2>3：还有一些元素我们没有介绍，如Parameter，loader，你可以通过tomcat的文档获取这些元素的信息。 </FONT></P><BR>
<P><FONT size=2>(三)：管理 </FONT></P><BR>
<P><FONT size=2>1：配置 <BR>在进行具体的管理之前，我们先给tomcat添加一个用户，使这个用户有权限来进行管理。 <BR>打开conf目录下的tomcat-users.xml文件，在相应的位置添加下面一行： </FONT></P><BR>
<P><FONT size=2>&lt;user name="zf" password="zf" roles="standard,manager"/&gt; </FONT></P><BR>
<P><FONT size=2>注意：这一行的最后部分一定是/&gt;,tomcat的文档掉了/符号，如果没有/符号的话，tomcat重起时将无法访问应用程序。通过logs/catalina.out文件你可以看到这个错误的详细信息。 </FONT></P><BR>
<P><FONT size=2>然后重起tomcat，在浏览器中输入http://localhost:8080/manager/，会弹出对话框，输入上面的用户名和密码即可。 </FONT></P><BR>
<P><FONT size=2>2：应用程序列表 <BR>在浏览器中输入http://localhost:8080/manager/list，浏览器将会显示如下的信息： </FONT></P><BR>
<P><FONT size=2>OK - Listed applications for virtual host localhost <BR>/ex:running:1 <BR>/examples:running:1 <BR>/webdav:running:0 <BR>/tomcat-docs:running:0 <BR>/manager:running:0 <BR>/:running:0 </FONT></P><BR>
<P><FONT size=2>上面的信息分别为应用程序的路径，当前状态(running 或者stopped)，与这个程序相连的session数。 </FONT></P><BR>
<P><FONT size=2>3：重新装载应用程序 <BR>在浏览器中输入 http://localhost:8080/manager/reload?path=/examples，浏览器显示如下： </FONT></P><BR>
<P><FONT size=2>OK - Reloaded application at context path /examples </FONT></P><BR>
<P><FONT size=2>表示example应用程序装载成功，如果我们将server.xml的Context元素的reloadable属性设为true(见上面表格)，则没必要利用这种方式重新装载应用程序，因为tomcat会自动装载。 </FONT></P><BR>
<P><FONT size=2>4：显示session信息 <BR>在浏览器中输入http://localhost:8080/manager/sessions?path=/examples，浏览器显示如下： </FONT></P><BR>
<P><FONT size=2>OK - Session information for application at context path /examples Default maximum session inactive interval 30 minutes </FONT></P><BR>
<P><FONT size=2>5：启动和关闭应用程序 <BR>在浏览器中输入http://localhost:8080/manager/start?path=/examples和http://localhost:8080/manager/stop?path=/examples分别启动和关闭examples应用程序。 </FONT></P><BR>
<P><FONT size=2>6：部署及撤销部署 <BR>WAR有两种组织方式，一种是按一定的目录结构组织文件，一种是一个后缀为WAR的压缩包，因此它的部署方式也有两种： <BR>(1)：在浏览器中输入：http://localhost:8080/manager/install?path=/examples&amp;war=file:/c:examples <BR>就会将按目录结构组织的WAR部署 </FONT></P><BR>
<P><FONT size=2>(2)：如果输入:http://localhost:8080/manager/install?path=/examples&amp;war=jar:file:/c:examples.war!/ <BR>就会将按压缩包组织的WAR部署，注意此url后半部分一定要有!/号。 <BR>部署后就可以用 http://localhost:8080/examples访问了。 </FONT></P><BR>
<P><FONT size=2>在浏览器中输入：http://localhost:8080/manager/remove?path=/examples 就会撤销刚才部署的应用程序。 </FONT></P><BR>
<P><FONT size=2>(四)：与apache集成 <BR>虽然tomcat也可以作web服务器,但其处理静态html的速度比不上apache,且其作为web服务器的功能远不如apache,因此我们想把apache和tomcat集成起来。 <BR>我们以linux系统为例介绍. <BR>从apache网站下载apache1.3.22源代码版本，然后使用如下命令配置安装apache： </FONT></P><BR>
<P><FONT size=2>mkdir /usr/local/apache <BR>tar zxvf apache.1.32.tar.gz <BR>cd apache.1.32 <BR>./configure --prefix=/usr/local/apache --enable-module=so <BR>make <BR>make install </FONT></P><BR>
<P><FONT size=2>注意configure命令指定目标安装目录，并且加入DSO(Dynamic Shared Object)支持，注意一定不要忘了这一个选项。 </FONT></P><BR>
<P><FONT size=2>然后下载webapp模块，将解压后mod_webapp.so文件放入apache的libexec目录，编辑apache的conf目录下的httpd.conf，在这个文件的最后加入下面三行： </FONT></P><BR>
<P><FONT size=2>LoadModule webapp_module libexec/mod_webapp.so <BR>WebAppConnection warpConnection warp localhost:8008 <BR>WebAppDeploy examples warpConnection /examples/ </FONT></P><BR>
<P><FONT size=2>第一行是加入webapp模块，如果编译apache时不增加DSO支持，则无法使用LoadModule指令，第二行指定tomcat与apache的连接，第三行指定部署那个应用，这两个指令使用格式如下： </FONT></P><BR>
<P><FONT size=2>WebAppConnection [connection name] [provider] [host:port] <BR>WebAppDeploy [application name] [connection name] [url path] </FONT></P><BR>
<P><FONT size=2>其中connection name指定连接名，provider只能是warp，port端口与你的tomcat的配置文件server.xml最后几行指定的要保持一致。文件如下： </FONT></P><BR>
<P><FONT size=2>&lt;Service name="Tomcat-Apache"&gt; <BR>&lt;Connector className="org.apache.catalina.connector.warp.WarpConnector" <BR>port="8008" minProcessors="5" maxProcessors="75" <BR>enableLookups="true" <BR>acceptCount="10" debug="0"/&gt; <BR>****** <BR>&lt;/Service&gt; </FONT></P><BR>
<P><FONT size=2>application name与你在tomcat中部署的应用名一致，url path指定访问这个应用的url。例如上面的例子可以通过http://localhost/examples/来访问tomcat中的examples应用。 </FONT></P><BR>
<P><FONT size=2>(五)：中文问题 <BR>一般jsp的乱码问题可以通过在jsp中加入&lt;%@ page contentType="text/html;charset=GB2312" %&gt;来解决，至于servlet的乱码在可以使用servlet2.3中提供的HttpServeletRequest.setCharacterEncoding函数。更详细的中文问题请见JSP/Servlet 中的汉字编码问题。 </FONT></P><BR>
<P><FONT size=2>四：综述 <BR>tomcat作为一个servlet(jsp也被编译为servlet执行)容器，其应用前景是非常好的，如果与jboss结合起来，则可以实现sun的j2ee规范(用jboss作ejb服务器)。jboss的官方网站也提供集成了tomcat3.2*的jboss以供下载。另外一个开源的应用服务器(enhydra) 也是基于tomcat的，其提供了更友好的管理界面，部署应用程序也更简单，功能也更强大</FONT></P><img src ="http://www.blogjava.net/zool/aggbug/3486.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 19:06 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3486.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>教你如何快速成为一名Java初级程序员</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3485.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 11:03:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3485.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3485.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3485.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3485.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3485.html</trackback:ping><description><![CDATA[<FONT size=2>目前，JAVA是开发人员的热宠，很多论坛都有不少热爱JAVA的开发人员，也有不少想成为 <BR>JAVA程序员，但苦于不知道该如何学习，也不清楚该学些什么知识才能成为一个JAVA程序 <BR>员。本人在这里抛砖引玉，和大 家讨论成为一个JAVA初级程序员应该具有的知识，与大家 <BR>共享。 <BR>个人认为想成为一个合格的JAVA初级程序员应该具备如下知识： <BR><BR>一、面向对象的知识：JAVA是一个面向对象的开发语言，因此熟悉面向对象对学习JAVA很 <BR>有必要，您要了解：什么是对象，什么是类；什么是封装，什么是多态，什么是继承；什 <BR>么是抽象类，什么是接口。了解了概念后，您还需要这些概念是如何体现的，如类和对象 <BR>有什么区别？类是如何封装的？ <BR><BR>二、JAVA语法：如果您已经有了开发经验，恭喜您，您学习JAVA语法来将比较容易。如果 <BR>您有C++等面向对象语言的开发经验，您只需简单的翻看一下介绍JAVA的相关书籍就可以了 <BR>。如果您是新手，没有关系，您下些工夫，好好研究一本JAVA初级教程之类的书就可以了 <BR>。 <BR><BR>学习了JAVA语法，加上面向对象的知识，只有您用心，您就可以写出来比较好的JAVA代码 <BR>了。如果您再抽出时间熟悉一下JAVA编程规范，您代码的水平就应该不俗了。 <BR><BR>三、JSP和HTML：在我国的绝大多数公司，做JAVA程序员都少不了和JSP以及HTML打交道。 <BR>因此，想成为JAVA程序员就不可避免的要熟悉JSP和HTML，您最好能知道JSP的几个内置对 <BR>象，如Session，Request，Reponse，，以及常用的JSP标签，如 include,userBean等。尽 <BR>管一些工具会帮您生成HTML代码，但您还是要熟悉比如title，，&lt;table&gt;，&lt; tr&gt;，&lt;td&gt;等 <BR>。如果您再熟悉一下JS和CSS就更好了，那会使您制作的页面更友好。 <BR><BR>四、WebServer:熟悉了以上三种，可以肯定的说您已经可以制作出来JSP页面了，您也可以 <BR>在您的页面里使用自己开发的JAVA类 (JAVABEAN)了，但您的页面总要跑起来才能看到您要 <BR>的效果，这就要求您必须熟悉一种WebServer，比如：TOMCAT，RESIN等。您要熟悉如何发 <BR>布您的应用，如何利用WebServer的数据库资源等。 <BR><BR>五、开发工具：大家都知道，开发工具可以帮助您更好更快地开发，因此熟悉几种开发工 <BR>具很有必要。目前JAVA的开发工具比较流行的有JBuilder,IDEA,Eclipse，HTML的开发工具 <BR>有Dreamweaver等。 <BR><BR>六、熟悉一种框架：熟悉一种框架其实是成为JAVA程序员的一种可选知识，但目前开发B/ <BR>S结构的应用的开发小组，都差不多会采用一种框架来构建自己的应用系统。框架都会有许 <BR>多可重用的代码，良好的层次关系和业务控制逻辑，基于框架的开发使你可以省出很多的 <BR>开发成本。目前比较流行的框架有 Struts和WAF等。 　 </FONT><img src ="http://www.blogjava.net/zool/aggbug/3485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 19:03 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3485.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java学习路径</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3484.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 11:01:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3484.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3484.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3484.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3484.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3484.html</trackback:ping><description><![CDATA[<FONT size=2><FONT color=#006400>Java学习路径三篇 <BR></FONT><BR><FONT color=#ff0000>Java学习路径（一）工具篇 <BR></FONT><BR>一、 JDK (Java Development Kit) <BR><BR>　　JDK是整个Java的核心，包括了Java运行环境（Java Runtime Envirnment），一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK，除了Sun之外，还有很多公司和组织都开发了自己的JDK，例如IBM公司开发的JDK，BEA公司的Jrocket，还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM（Java Virtual Machine）运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说，我们还是需要先把Sun JDK掌握好。 <BR><BR>　　1、 JDK的下载和安装 <BR><BR>　　JDK又叫做J2SE（Java2 SDK Standard Edition），可以从Sun的Java网站上下载到，http://java.sun.com/j2se/downloads.html ，JDK当前最新的版本是J2SDK1.4.2，建议下载该版本的JDK，下载页面在这里：http://java.sun.com/j2se/1.4.2/download.html。 <BR><BR>　　下载好的JDK是一个可执行安装程序，默认安装完毕后会在C:\Program Files\Java\目录下安装一套JRE（供浏览器来使用），在C:\j2sdk1.4.2下安装一套JDK（也包括一套JRE）。然后我们需要在环境变量PATH的最前面增加java的路径C:\j2sdk1.4.2\bin。这样JDK就安装好了。 <BR><BR>　　2、 JDK的命令工具 <BR><BR>　　JDK的最重要命令行工具： <BR><BR>　　java： 启动JVM执行class <BR><BR>　　javac： Java编译器 <BR><BR>　　jar： Java打包工具 <BR><BR>　　javadoc： Java文档生成器 <BR><BR>　　这些命令行必须要非常非常熟悉，对于每个参数都要很精通才行。对于这些命令的学习，JDK Documentation上有详细的文档。 <BR><BR>　　二、 JDK Documentation <BR><BR>　　Documentation在JDK的下载页面也有下载连接，建议同时下载Documentation。Documentation是最最重要的编程手册，涵盖了整个Java所有方面的内容的描述。可以这样说，学习Java编程，大部分时间都是花在看这个Documentation上面的。我是随身携带的，写Java代码的时候，随时查看，须臾不离手。 <BR><BR>　　三、 应用服务器(App Server) <BR><BR>　　App Server是运行Java企业组件的平台，构成了应用软件的主要运行环境。当前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的Jboss，选择其中一个进行学习就可以了，个人推荐Weblogic，因为它的体系结构更加干净，开发和部署更加方便，是Java企业软件开发人员首选的开发平台。下面简要介绍几种常用的App Server： <BR><BR>　　1、 Tomcat <BR><BR>　　Tomcat严格意义上并不是一个真正的App Server，它只是一个可以支持运行Serlvet/JSP的Web容器，不过Tomcat也扩展了一些App Server的功能，如JNDI，数据库连接池，用户事务处理等等。Tomcat被非常广泛的应用在中小规模的Java Web应用中，因此本文做一点下载、安装和配置Tomcat的介绍： <BR><BR>　　Tomcat是Apache组织下Jakarta项目下的一个子项目，它的主网站是：http://jakarta.apache.org/tomcat/ ，Tomcat最新版本是Tomcat5.0.16，软件下载的连接是：http://www.apache.org/dist/jakarta/tomcat-5/v5.0.16/ 。 <BR><BR>　　下载Tomcat既可以直接下载zip包，也可以下载exe安装包（个人建议zip更干净些），不管哪种情况，下载完毕安装好以后（zip直接解压缩就可以了）。需要设置两个环境变量： <BR><BR>　　JAVA_HOME=C:\j2sdk1.4.2 <BR><BR>　　CATALINA_HOME=D:\tomcat4 (你的Tomcat安装目录) <BR><BR>　　这样就安装好了，启动Tomcat运行CATALINA_HOME\bin\startup.bat，关闭Tomcat运行shutdown.bat脚本。Tomcat启动以后，默认使用8080端口，因此可以用浏览器访问http://localhost:8080来测试Tomcat是否正常启动。 <BR><BR>　　Tomcat提供了两个Web界面的管理工具，URL分别是： <BR><BR>　　http://localhost:8080/admin/index.jsp <BR><BR>　　http://localhost:8080/manager/html <BR><BR>　　在启用这两个管理工具之前，先需要手工配置一下管理员用户和口令。用一个文本工具打开CATALINA_HOME\conf\tomcat-users.xml这个文件，加入如下几行： <BR><BR>　　&lt;role rolename="manager"/&gt; <BR>　　&lt;role rolename="admin"/&gt; <BR>　　&lt;user username="robbin" password="12345678" roles="admin,manager,tomcat"/&gt; <BR><BR>　　这样用户“robbin”就具备了超级管理员权限。重新启动Tomcat以后，你就可以使用该用户来登陆如上的两个管理工具，通过Web方式进行Tomcat的配置和管理了。 <BR><BR>　　2、 BEA Weblogic <BR><BR>　　Weblogic可以到BEA的网站上免费注册之后下载到Weblogic8.1企业版，License可以免费使用1年时间，其实这已经完全足够了。Weblogic的下载连接：http://commerce.bea.com/index.jsp，Weblogic的在线文档：http://edocs.bea.com/ 。 <BR><BR>　　3、 IBM Webshpere <BR><BR>　　Websphere同样可以下载到免费的试用版本，到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料，developerWorks中文网站的连接是：http://www-900.ibm.com/developerWorks/cn/wsdd/ ，Websphere的下载连接：http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html 。 <BR><BR>　　4、 Jboss <BR><BR>　　Jboss是免费开源的App Server，可以免费的从Jboss网站下载：http://www.jboss.org/index.html，然而Jboss的文档是不免费，需要花钱购买，所以为我们学习Jboss设置了一定的障碍。在Jdon上有几篇不错的Jboss配置文档，可以用来参考：http://www.jdon.com/idea.html <BR><BR>　　四、 Java应用的运行环境 <BR><BR>　　Java的应用可以简单分为以下几个方面： <BR><BR>　　1、 Java的桌面应用 <BR><BR>　　桌面应用一般仅仅需要JRE的支持就足够了。 <BR><BR>　　2、 Java Web应用 <BR><BR>　　Java的Web应用至少需要安装JDK和一个web容器（例如Tomcat），以及一个多用户数据库，Web应用至少分为三层： <BR><BR>　　Browser层：浏览器显示用户页面 <BR><BR>　　Web层：运行Servlet/JSP <BR><BR>　　DB层：后端数据库，向Java程序提供数据访问服务 <BR><BR>　　3、 Java企业级应用 <BR><BR>　　企业级应用比较复杂，可以扩展到n层，最简单情况会分为4层： <BR><BR>　　Browser层：浏览器显示用户页面 <BR><BR>　　Client层：Java客户端图形程序（或者嵌入式设备的程序）直接和Web层或者EJB层交互 <BR><BR>　　Web层：运行Servlet/JSP <BR><BR>　　EJB层：运行EJB，完成业务逻辑运算 <BR><BR>　　DB层：后端数据库，向Java程序提供数据访问服务 <BR><BR>　　4、 Java嵌入式应用 <BR><BR>　　Java嵌入式应用是一个方兴未艾的领域，从事嵌入式开发，需要从Sun下载J2ME开发包，J2ME包含了嵌入式设备专用虚拟机KVM，和普通的JDK中包含的JVM有所不同。另外还需要到特定的嵌入式厂商那里下载模拟器。 <BR><BR><BR>Java学习路径（二）书籍篇 <BR><BR>学习一门新的知识，不可能指望只看一本，或者两本书就能够完全掌握。需要有一个循序渐进的阅读过程。我推荐Oreilly出版的Java系列书籍。 <BR><BR>　　在这里我只想补充一点看法，很多人学习Java是从《Thinking in Java》这本书入手的，但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java的整个体系，而是一种跳跃式的写作方法，是一种类似tips的方法来对Java很多知识点进行了深入的分析和解释。 <BR><BR>　　对于初学者来说，最好是找一本Java入门的书籍，但是比较完整的循序的介绍Java的语法，面向对象的特性，核心类库等等，在看这本书的同时，可以同步来看《Thinking in Java》，来加深对Java的理解和原理的运用，同时又可以完整的了解Java的整个体系。 <BR><BR>　　对于Java的入门书籍，蔡学镛推荐的是Oreilly的《Exploring Java, 2nd Edition》 或者《Java in a Nutshell,2nd Edition（针对C++背景）》，我并没有看过这两本书。其实我觉得电子工业出版社的《Java 2编程详解》或者《Java 2从入门到精通》就很不错。 <BR><BR>　　在所有的Java书籍当中，其实最最有用的，并不是O´reilly的 Java Serials，真正最最有用处是JDK的Documentation！几乎你想获得的所有的知识在Documentation里面全部都有，其中最主要的部分当然是Java基础类库的API文档，是按照package来组织的，对于每一个class都有详细的解释，它的继承关系，是否实现了某个接口，通常用在哪些场合，还可以查到它所有的public的属性和方法，每个属性的解释，意义，每个方法的用途，调用的参数，参数的意义，返回值的类型，以及方法可能抛出的异常等等。可以这样来说，所有关于Java编程方面的书籍其实都不过是在用比较通俗易懂的语言，和良好的组织方式来介绍Documentation里面的某个package里面包含的一些类的用法而已。所以万变不离其宗，如果你有足够的能力来直接通过Documentation来学习Java的类库，那么基本上就不需要看其他的书籍了。除此之外，Documentation也是编程必备的手册，我的桌面上有三个Documentation的快捷方式，分别是J2SDK1.4.1的Documentation，Servlet2.3的Documentation和J2SDKEE1.3.1的Documentation。有了这个三个Documentation，什么其他的书籍都不需要了。 <BR><BR>　　对于Java Web 编程来说，最核心的是要熟悉和掌握HTTP协议，这个就和Java无关了，在熟悉HTTP协议之后，就需要熟悉Java的实现HTTP协议的类库，也就是Servlet API，所以最重要的东西就是Servlet API。当然对于初学者而言，直接通过Servlet API来学习Web编程有很大的难度，我推荐O´reilly的《Java Server Pages 》这本书来学习Web 编程。 <BR><BR>　EJB的书籍当中，《Enterprise Java Beans?, 2nd Edition》是一本很不错的书， EJB的学习门槛是比较高，入门很难，但是这本书完全降低了学习的难度，特别重要的一点是，EJB的学习需要结合一种App Server的具体实现，所以在学习EJB的同时，必须同步的学习某种App Server，而这本书相关的出了三本书，分别是Weblogic6.1，Websphere4.0和JBoss3.0上面部署书中例子的实做。真是既有理论，又有实践。在学习EJB的同时，可以边看边做，EJB的学习会变得很轻松。 <BR><BR>　　但是这本书也有一个问题，就是版本比较旧，主要讲EJB1.1规范和部分EJB2.0的规范。而Ed Roman写的《Mastering EJB 2.0》这本书完全是根据EJB2.0规范写的，深入浅出，覆盖了EJB编程的各个方面，并且还有很多编程经验tips，也是学习EJB非常推荐的书籍之一。 <BR><BR>　　如果是结合Weblogic来学习J2EE的话，《J2EE应用与BEA Weblogic Server》绝对是首选读物，虽然是讲述的Weblogic6.0，仍然值得购买，这本书是BEA官方推荐的教材，作者也是BEA公司的工程师。现在中文版已经随处可见了。这本书结合Weblogic介绍了J2EE各个方面的技术在Weblogic平台上的开发和部署，实践指导意义非常强。 <BR><BR>　　在掌握了Java平台基础知识和J2EE方面的知识以后，更进一步的是学习如何运用OO的方法进行软件的设计，那么就一定要学习“设计模式”。Sun公司出版了一本《J2EE核心模式》，是每个开发Java企业平台软件的架构师必备的书籍。这本书全面的介绍了J2EE体系架构的各种设计模式，是设计师的必读书籍。 <BR><BR><BR>Java学习路径（三）过程篇 <BR><BR>每个人的学习方法是不同的，一个人的方法不见得适合另一个人，我只能是谈自己的学习方法。因为我学习Java是完全自学的，从来没有问过别人，所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法，只能给大家提供一点参考了。 <BR><BR>　　学习Java的第一步是安装好JDK，写一个Hello World， 其实JDK的学习没有那么简单，关于JDK有两个问题是很容易一直困扰Java程序员的地方：一个是CLASSPATH的问题，其实从原理上来说，是要搞清楚JRE的ClassLoader是如何加载Class的；另一个问题是package和import问题，如何来寻找类的路径问题。把这两个问题摸索清楚了，就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》，对这两个问题进行了深入的探讨。 <BR>　　第二步是学习Java的语法。Java的语法是类C++的，基本上主流的编程语言不是类C，就是类C++的，没有什么新东西，所以语法的学习，大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法，public，protected，private，static，什么时候用，为什么要用，怎么用，这可能需要有人来指点一下，我当初是完全自己琢磨出来的，花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。 <BR><BR>　　第三步是学习Java的面向对象的编程语言的特性的地方。比如继承，构造器，抽象类，接口，方法的多态，重载，覆盖，Java的异常处理机制。对于一个没有面向对象语言背景的人来说，我觉得这个过程需要花很长很长时间，因为学习Java之前没有C++的经验，只有C的经验，我是大概花了一个月左右吧，才彻底把这些概念都搞清楚，把书上面的例子反复的揣摩，修改，尝试，把那几章内容反复的看过来，看过去，看了不下5遍，才彻底领悟了。不过我想如果有C++经验的话，应该一两天时间足够了。那么在这个过程中，可以多看看《Thinking in Java》这本书，对面向对象的讲解非常透彻。可惜的是我学习的时候，并没有看到这本书，所以自己花了大量的时间，通过自己的尝试和揣摩来学会的。 <BR><BR>　　第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个，我没有统计过。但是真正对于我们来说最核心的只有4个，分别是 <BR><BR>　　java.lang.*; <BR><BR>　　java.io.*; <BR><BR>　　java.util.*; <BR><BR>　　java.sql.*; <BR><BR>　　这四个包的学习，每个包的学习都可以写成一本厚厚的教材，而O´reilly也确实是这样做的。我觉得如果时间比较紧，是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的： <BR><BR>　　首先要通读整个package的框架，了解整个package的class，interface，exception的构成，最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。 <BR><BR>　　对包整体框架的把握并不是要熟悉每个类的用法，记住它有哪些属性，方法。想记也记不住的。而是要知道包有哪些方面的类构成的，这些类的用途是什么，最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包，所以不可能详细的介绍每个类的用法，但是我反复强调，我给你们讲这些包的不是要告诉你们类的方法是怎么调用的，也不要求你们记住类的方法调用，而是要你们了解，Java给我们提供了哪些类，每个类是用在什么场合，当我遇到问题的时候，我知道哪个类，或者哪几个类的组合可以解决我的问题，That´all！，当我们具体写程序的时候，只要你知道该用哪个类来完成你的工作就足够了。编码的时候，具体的方法调用，是边写代码，边查Documentation，所有的东西都在Documentation里面，不要求你一定记住，实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。 <BR><BR>　　第五步，通过上面的学习，如果学的比较扎实的话，就打好了Java的基础了，剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到这一步，Java的自学能力已经被培养出来了，可以到了直接学习Documentation的水平了。除了要做GUI编程之外，JDK里面其他会有用处的包是这些： <BR><BR>　　java.text.*; <BR><BR>　　java.net.*; <BR><BR>　　javax.naming.*; <BR><BR>　　这些包里面真正用的比较多的类其实很少，只有几个，所以不需要花很多时间。 <BR><BR>　　第六步，Java Web 编程 <BR><BR>　　Web编程的核心是HTTP协议，HTTP协议和Java无关，如果不熟悉HTTP协议的话，虽然也可以学好Servlet/JSP编程，但是达不到举一反三，一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话，又有了Java编程的良好的基础，学习Servlet/JSP简直易如反掌，我学习Servlet/JSP就用了不到一周的时间，然后就开始用JSP来做项目了。 <BR><BR>　　在Servlet/JSP的学习中，重头仍然是Servlet Documentation。Servlet API最常用的类很少，花比较少的时间就可以掌握了。把这些类都看一遍，多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSP，还需要熟悉几个常用JSP的标记，具体的写法记不住的话，临时查就是了。 <BR><BR>　　此外Java Web编程学习的重点要放在Web Application的设计模式上，如何进行业务逻辑的分析，并且进行合理的设计，按照MVC设计模式的要求，运用Servlet和JSP分别完成不同的逻辑层，掌握如何在Servlet和JSP之间进行流程的控制和数据的共享，以及Web Application应该如何配置和部署。 <BR><BR>　　第七步，J2EE编程 <BR><BR>　　以上的学习过程如果是比较顺利的话，进行到这一步，难度又陡然提高。因为上面的知识内容都是只涉及一个方面，而像EJB，JMS，JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶，所以掌握起来难度比较大。 <BR><BR>　　首先一定要学习好JNDI，JNDI是App Server定位服务器资源（EJB组件，Datasouce，JMS）查找方法，如果对JNDI不熟悉的话，EJB，JMS这些东西几乎学不下去。JNDI其实就是javax.naming.*这个包，运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置，就需要看看专门的文档规范了，比如web.xml的写法，ejb-jar.xml的写法等等。针对每种不同的App Server，还有自己的服务资源配置文件，也是需要熟悉的。 <BR><BR>　　然后可以学习JTA，主要是要理解JTA对于事务的控制的方法，以及该在什么场合使用JTA。这里可以简单的举个例子，我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,conn.commit())，做为一个原子*作，但是假设我的业务需求是要把对两个不同数据库的*作做为一个原子*作，你能做的到吗？这时候只能用JTA了。假设*作过程是先往A数据库插一条记录，然后删除B数据库另一个记录，我们自己写代码是控制不了把整个*作做为一个原子*作的。用JTA的话，由App Server来完成控制。 <BR><BR>　　在学习EJB之前要学习对象序列化和RMI，RMI是EJB的基础。接着学习JMS和EJB，对于EJB来说，最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的，以及在什么情况下要用到EJB。 <BR><BR>　　在学习完EJB，JMS这些东西之后，你可能会意识到要急不可待学习两个领域的知识，一个是UML，另一个是Design Pattern。Java企业软件的设计非常重视框架(Framework)的设计，一个好的软件框架是软件开发成功的必要条件。在这个时候，应该开始把学习的重点放在设计模式和框架的学习上，通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。 <BR><BR>　　J2EE规范里面，除了EJB，JMS，JTA，Servlet/JSP，JDBC之外还有很多很多的企业技术，这里不一一进行介绍了。 <BR><BR>　　另外还有一个最新领域Web Services。Web Services也完全没有任何新东西，它像是一种黏合剂，可以把不同的服务统一起来提供一个统一的调用接口，作为使用者来说，我只要获得服务提供者给我的WSDL（对服务的描述），就够了，我完全不知道服务器提供者提供的服务究竟是EJB组件，还是.Net组件，还是什么CORBA组件，还是其他的什么实现，我也不需要知道。Web Services最伟大的地方就在于通过统一的服务提供方式和调用方式，实现了整个Internet服务的共享，是一个非常令人激动的技术领域。Web Services好像目前还没有什么很好的书籍，但是可以通过在网络上面查资料的方式来学习。 <BR><BR>Java学习路径三篇 <BR><BR>Java学习路径（一）工具篇 <BR><BR>一、 JDK (Java Development Kit) <BR><BR>　　JDK是整个Java的核心，包括了Java运行环境（Java Runtime Envirnment），一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK，除了Sun之外，还有很多公司和组织都开发了自己的JDK，例如IBM公司开发的JDK，BEA公司的Jrocket，还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM（Java Virtual Machine）运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说，我们还是需要先把Sun JDK掌握好。 <BR><BR>　　1、 JDK的下载和安装 <BR><BR>　　JDK又叫做J2SE（Java2 SDK Standard Edition），可以从Sun的Java网站上下载到，http://java.sun.com/j2se/downloads.html ，JDK当前最新的版本是J2SDK1.4.2，建议下载该版本的JDK，下载页面在这里：http://java.sun.com/j2se/1.4.2/download.html。 <BR><BR>　　下载好的JDK是一个可执行安装程序，默认安装完毕后会在C:\Program Files\Java\目录下安装一套JRE（供浏览器来使用），在C:\j2sdk1.4.2下安装一套JDK（也包括一套JRE）。然后我们需要在环境变量PATH的最前面增加java的路径C:\j2sdk1.4.2\bin。这样JDK就安装好了。 <BR><BR>　　2、 JDK的命令工具 <BR><BR>　　JDK的最重要命令行工具： <BR><BR>　　java： 启动JVM执行class <BR><BR>　　javac： Java编译器 <BR><BR>　　jar： Java打包工具 <BR><BR>　　javadoc： Java文档生成器 <BR><BR>　　这些命令行必须要非常非常熟悉，对于每个参数都要很精通才行。对于这些命令的学习，JDK Documentation上有详细的文档。 <BR><BR>　　二、 JDK Documentation <BR><BR>　　Documentation在JDK的下载页面也有下载连接，建议同时下载Documentation。Documentation是最最重要的编程手册，涵盖了整个Java所有方面的内容的描述。可以这样说，学习Java编程，大部分时间都是花在看这个Documentation上面的。我是随身携带的，写Java代码的时候，随时查看，须臾不离手。 <BR><BR>　　三、 应用服务器(App Server) <BR><BR>　　App Server是运行Java企业组件的平台，构成了应用软件的主要运行环境。当前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的Jboss，选择其中一个进行学习就可以了，个人推荐Weblogic，因为它的体系结构更加干净，开发和部署更加方便，是Java企业软件开发人员首选的开发平台。下面简要介绍几种常用的App Server： <BR><BR>　　1、 Tomcat <BR><BR>　　Tomcat严格意义上并不是一个真正的App Server，它只是一个可以支持运行Serlvet/JSP的Web容器，不过Tomcat也扩展了一些App Server的功能，如JNDI，数据库连接池，用户事务处理等等。Tomcat被非常广泛的应用在中小规模的Java Web应用中，因此本文做一点下载、安装和配置Tomcat的介绍： <BR><BR>　　Tomcat是Apache组织下Jakarta项目下的一个子项目，它的主网站是：http://jakarta.apache.org/tomcat/ ，Tomcat最新版本是Tomcat5.0.16，软件下载的连接是：http://www.apache.org/dist/jakarta/tomcat-5/v5.0.16/ 。 <BR><BR>　　下载Tomcat既可以直接下载zip包，也可以下载exe安装包（个人建议zip更干净些），不管哪种情况，下载完毕安装好以后（zip直接解压缩就可以了）。需要设置两个环境变量： <BR><BR>　　JAVA_HOME=C:\j2sdk1.4.2 <BR><BR>　　CATALINA_HOME=D:\tomcat4 (你的Tomcat安装目录) <BR><BR>　　这样就安装好了，启动Tomcat运行CATALINA_HOME\bin\startup.bat，关闭Tomcat运行shutdown.bat脚本。Tomcat启动以后，默认使用8080端口，因此可以用浏览器访问http://localhost:8080来测试Tomcat是否正常启动。 <BR><BR>　　Tomcat提供了两个Web界面的管理工具，URL分别是： <BR><BR>　　http://localhost:8080/admin/index.jsp <BR><BR>　　http://localhost:8080/manager/html <BR><BR>　　在启用这两个管理工具之前，先需要手工配置一下管理员用户和口令。用一个文本工具打开CATALINA_HOME\conf\tomcat-users.xml这个文件，加入如下几行： <BR><BR>　　&lt;role rolename="manager"/&gt; <BR>　　&lt;role rolename="admin"/&gt; <BR>　　&lt;user username="robbin" password="12345678" roles="admin,manager,tomcat"/&gt; <BR><BR>　　这样用户“robbin”就具备了超级管理员权限。重新启动Tomcat以后，你就可以使用该用户来登陆如上的两个管理工具，通过Web方式进行Tomcat的配置和管理了。 <BR><BR>　　2、 BEA Weblogic <BR><BR>　　Weblogic可以到BEA的网站上免费注册之后下载到Weblogic8.1企业版，License可以免费使用1年时间，其实这已经完全足够了。Weblogic的下载连接：http://commerce.bea.com/index.jsp，Weblogic的在线文档：http://edocs.bea.com/ 。 <BR><BR>　　3、 IBM Webshpere <BR><BR>　　Websphere同样可以下载到免费的试用版本，到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料，developerWorks中文网站的连接是：http://www-900.ibm.com/developerWorks/cn/wsdd/ ，Websphere的下载连接：http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html 。 <BR><BR>　　4、 Jboss <BR><BR>　　Jboss是免费开源的App Server，可以免费的从Jboss网站下载：http://www.jboss.org/index.html，然而Jboss的文档是不免费，需要花钱购买，所以为我们学习Jboss设置了一定的障碍。在Jdon上有几篇不错的Jboss配置文档，可以用来参考：http://www.jdon.com/idea.html <BR><BR>　　四、 Java应用的运行环境 <BR><BR>　　Java的应用可以简单分为以下几个方面： <BR><BR>　　1、 Java的桌面应用 <BR><BR>　　桌面应用一般仅仅需要JRE的支持就足够了。 <BR><BR>　　2、 Java Web应用 <BR><BR>　　Java的Web应用至少需要安装JDK和一个web容器（例如Tomcat），以及一个多用户数据库，Web应用至少分为三层： <BR><BR>　　Browser层：浏览器显示用户页面 <BR><BR>　　Web层：运行Servlet/JSP <BR><BR>　　DB层：后端数据库，向Java程序提供数据访问服务 <BR><BR>　　3、 Java企业级应用 <BR><BR>　　企业级应用比较复杂，可以扩展到n层，最简单情况会分为4层： <BR><BR>　　Browser层：浏览器显示用户页面 <BR><BR>　　Client层：Java客户端图形程序（或者嵌入式设备的程序）直接和Web层或者EJB层交互 <BR><BR>　　Web层：运行Servlet/JSP <BR><BR>　　EJB层：运行EJB，完成业务逻辑运算 <BR><BR>　　DB层：后端数据库，向Java程序提供数据访问服务 <BR><BR>　　4、 Java嵌入式应用 <BR><BR>　　Java嵌入式应用是一个方兴未艾的领域，从事嵌入式开发，需要从Sun下载J2ME开发包，J2ME包含了嵌入式设备专用虚拟机KVM，和普通的JDK中包含的JVM有所不同。另外还需要到特定的嵌入式厂商那里下载模拟器。 <BR><BR><BR>Java学习路径（二）书籍篇 <BR><BR>学习一门新的知识，不可能指望只看一本，或者两本书就能够完全掌握。需要有一个循序渐进的阅读过程。我推荐Oreilly出版的Java系列书籍。 <BR><BR>　　在这里我只想补充一点看法，很多人学习Java是从《Thinking in Java》这本书入手的，但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java的整个体系，而是一种跳跃式的写作方法，是一种类似tips的方法来对Java很多知识点进行了深入的分析和解释。 <BR><BR>　　对于初学者来说，最好是找一本Java入门的书籍，但是比较完整的循序的介绍Java的语法，面向对象的特性，核心类库等等，在看这本书的同时，可以同步来看《Thinking in Java》，来加深对Java的理解和原理的运用，同时又可以完整的了解Java的整个体系。 <BR><BR>　　对于Java的入门书籍，蔡学镛推荐的是Oreilly的《Exploring Java, 2nd Edition》 或者《Java in a Nutshell,2nd Edition（针对C++背景）》，我并没有看过这两本书。其实我觉得电子工业出版社的《Java 2编程详解》或者《Java 2从入门到精通》就很不错。 <BR><BR>　　在所有的Java书籍当中，其实最最有用的，并不是O´reilly的 Java Serials，真正最最有用处是JDK的Documentation！几乎你想获得的所有的知识在Documentation里面全部都有，其中最主要的部分当然是Java基础类库的API文档，是按照package来组织的，对于每一个class都有详细的解释，它的继承关系，是否实现了某个接口，通常用在哪些场合，还可以查到它所有的public的属性和方法，每个属性的解释，意义，每个方法的用途，调用的参数，参数的意义，返回值的类型，以及方法可能抛出的异常等等。可以这样来说，所有关于Java编程方面的书籍其实都不过是在用比较通俗易懂的语言，和良好的组织方式来介绍Documentation里面的某个package里面包含的一些类的用法而已。所以万变不离其宗，如果你有足够的能力来直接通过Documentation来学习Java的类库，那么基本上就不需要看其他的书籍了。除此之外，Documentation也是编程必备的手册，我的桌面上有三个Documentation的快捷方式，分别是J2SDK1.4.1的Documentation，Servlet2.3的Documentation和J2SDKEE1.3.1的Documentation。有了这个三个Documentation，什么其他的书籍都不需要了。 <BR><BR>　　对于Java Web 编程来说，最核心的是要熟悉和掌握HTTP协议，这个就和Java无关了，在熟悉HTTP协议之后，就需要熟悉Java的实现HTTP协议的类库，也就是Servlet API，所以最重要的东西就是Servlet API。当然对于初学者而言，直接通过Servlet API来学习Web编程有很大的难度，我推荐O´reilly的《Java Server Pages 》这本书来学习Web 编程。 <BR><BR>　EJB的书籍当中，《Enterprise Java Beans?, 2nd Edition》是一本很不错的书， EJB的学习门槛是比较高，入门很难，但是这本书完全降低了学习的难度，特别重要的一点是，EJB的学习需要结合一种App Server的具体实现，所以在学习EJB的同时，必须同步的学习某种App Server，而这本书相关的出了三本书，分别是Weblogic6.1，Websphere4.0和JBoss3.0上面部署书中例子的实做。真是既有理论，又有实践。在学习EJB的同时，可以边看边做，EJB的学习会变得很轻松。 <BR><BR>　　但是这本书也有一个问题，就是版本比较旧，主要讲EJB1.1规范和部分EJB2.0的规范。而Ed Roman写的《Mastering EJB 2.0》这本书完全是根据EJB2.0规范写的，深入浅出，覆盖了EJB编程的各个方面，并且还有很多编程经验tips，也是学习EJB非常推荐的书籍之一。 <BR><BR>　　如果是结合Weblogic来学习J2EE的话，《J2EE应用与BEA Weblogic Server》绝对是首选读物，虽然是讲述的Weblogic6.0，仍然值得购买，这本书是BEA官方推荐的教材，作者也是BEA公司的工程师。现在中文版已经随处可见了。这本书结合Weblogic介绍了J2EE各个方面的技术在Weblogic平台上的开发和部署，实践指导意义非常强。 <BR><BR>　　在掌握了Java平台基础知识和J2EE方面的知识以后，更进一步的是学习如何运用OO的方法进行软件的设计，那么就一定要学习“设计模式”。Sun公司出版了一本《J2EE核心模式》，是每个开发Java企业平台软件的架构师必备的书籍。这本书全面的介绍了J2EE体系架构的各种设计模式，是设计师的必读书籍。 <BR><BR><BR>Java学习路径（三）过程篇 <BR><BR>每个人的学习方法是不同的，一个人的方法不见得适合另一个人，我只能是谈自己的学习方法。因为我学习Java是完全自学的，从来没有问过别人，所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法，只能给大家提供一点参考了。 <BR><BR>　　学习Java的第一步是安装好JDK，写一个Hello World， 其实JDK的学习没有那么简单，关于JDK有两个问题是很容易一直困扰Java程序员的地方：一个是CLASSPATH的问题，其实从原理上来说，是要搞清楚JRE的ClassLoader是如何加载Class的；另一个问题是package和import问题，如何来寻找类的路径问题。把这两个问题摸索清楚了，就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》，对这两个问题进行了深入的探讨。 <BR>　　第二步是学习Java的语法。Java的语法是类C++的，基本上主流的编程语言不是类C，就是类C++的，没有什么新东西，所以语法的学习，大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法，public，protected，private，static，什么时候用，为什么要用，怎么用，这可能需要有人来指点一下，我当初是完全自己琢磨出来的，花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。 <BR><BR>　　第三步是学习Java的面向对象的编程语言的特性的地方。比如继承，构造器，抽象类，接口，方法的多态，重载，覆盖，Java的异常处理机制。对于一个没有面向对象语言背景的人来说，我觉得这个过程需要花很长很长时间，因为学习Java之前没有C++的经验，只有C的经验，我是大概花了一个月左右吧，才彻底把这些概念都搞清楚，把书上面的例子反复的揣摩，修改，尝试，把那几章内容反复的看过来，看过去，看了不下5遍，才彻底领悟了。不过我想如果有C++经验的话，应该一两天时间足够了。那么在这个过程中，可以多看看《Thinking in Java》这本书，对面向对象的讲解非常透彻。可惜的是我学习的时候，并没有看到这本书，所以自己花了大量的时间，通过自己的尝试和揣摩来学会的。 <BR><BR>　　第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个，我没有统计过。但是真正对于我们来说最核心的只有4个，分别是 <BR><BR>　　java.lang.*; <BR><BR>　　java.io.*; <BR><BR>　　java.util.*; <BR><BR>　　java.sql.*; <BR><BR>　　这四个包的学习，每个包的学习都可以写成一本厚厚的教材，而O´reilly也确实是这样做的。我觉得如果时间比较紧，是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的： <BR><BR>　　首先要通读整个package的框架，了解整个package的class，interface，exception的构成，最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。 <BR><BR>　　对包整体框架的把握并不是要熟悉每个类的用法，记住它有哪些属性，方法。想记也记不住的。而是要知道包有哪些方面的类构成的，这些类的用途是什么，最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包，所以不可能详细的介绍每个类的用法，但是我反复强调，我给你们讲这些包的不是要告诉你们类的方法是怎么调用的，也不要求你们记住类的方法调用，而是要你们了解，Java给我们提供了哪些类，每个类是用在什么场合，当我遇到问题的时候，我知道哪个类，或者哪几个类的组合可以解决我的问题，That´all！，当我们具体写程序的时候，只要你知道该用哪个类来完成你的工作就足够了。编码的时候，具体的方法调用，是边写代码，边查Documentation，所有的东西都在Documentation里面，不要求你一定记住，实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。 <BR><BR>　　第五步，通过上面的学习，如果学的比较扎实的话，就打好了Java的基础了，剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到这一步，Java的自学能力已经被培养出来了，可以到了直接学习Documentation的水平了。除了要做GUI编程之外，JDK里面其他会有用处的包是这些： <BR><BR>　　java.text.*; <BR><BR>　　java.net.*; <BR><BR>　　javax.naming.*; <BR><BR>　　这些包里面真正用的比较多的类其实很少，只有几个，所以不需要花很多时间。 <BR><BR>　　第六步，Java Web 编程 <BR><BR>　　Web编程的核心是HTTP协议，HTTP协议和Java无关，如果不熟悉HTTP协议的话，虽然也可以学好Servlet/JSP编程，但是达不到举一反三，一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话，又有了Java编程的良好的基础，学习Servlet/JSP简直易如反掌，我学习Servlet/JSP就用了不到一周的时间，然后就开始用JSP来做项目了。 <BR><BR>　　在Servlet/JSP的学习中，重头仍然是Servlet Documentation。Servlet API最常用的类很少，花比较少的时间就可以掌握了。把这些类都看一遍，多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSP，还需要熟悉几个常用JSP的标记，具体的写法记不住的话，临时查就是了。 <BR><BR>　　此外Java Web编程学习的重点要放在Web Application的设计模式上，如何进行业务逻辑的分析，并且进行合理的设计，按照MVC设计模式的要求，运用Servlet和JSP分别完成不同的逻辑层，掌握如何在Servlet和JSP之间进行流程的控制和数据的共享，以及Web Application应该如何配置和部署。 <BR><BR>　　第七步，J2EE编程 <BR><BR>　　以上的学习过程如果是比较顺利的话，进行到这一步，难度又陡然提高。因为上面的知识内容都是只涉及一个方面，而像EJB，JMS，JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶，所以掌握起来难度比较大。 <BR><BR>　　首先一定要学习好JNDI，JNDI是App Server定位服务器资源（EJB组件，Datasouce，JMS）查找方法，如果对JNDI不熟悉的话，EJB，JMS这些东西几乎学不下去。JNDI其实就是javax.naming.*这个包，运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置，就需要看看专门的文档规范了，比如web.xml的写法，ejb-jar.xml的写法等等。针对每种不同的App Server，还有自己的服务资源配置文件，也是需要熟悉的。 <BR><BR>　　然后可以学习JTA，主要是要理解JTA对于事务的控制的方法，以及该在什么场合使用JTA。这里可以简单的举个例子，我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,conn.commit())，做为一个原子*作，但是假设我的业务需求是要把对两个不同数据库的*作做为一个原子*作，你能做的到吗？这时候只能用JTA了。假设*作过程是先往A数据库插一条记录，然后删除B数据库另一个记录，我们自己写代码是控制不了把整个*作做为一个原子*作的。用JTA的话，由App Server来完成控制。 <BR><BR>　　在学习EJB之前要学习对象序列化和RMI，RMI是EJB的基础。接着学习JMS和EJB，对于EJB来说，最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的，以及在什么情况下要用到EJB。 <BR><BR>　　在学习完EJB，JMS这些东西之后，你可能会意识到要急不可待学习两个领域的知识，一个是UML，另一个是Design Pattern。Java企业软件的设计非常重视框架(Framework)的设计，一个好的软件框架是软件开发成功的必要条件。在这个时候，应该开始把学习的重点放在设计模式和框架的学习上，通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。 <BR><BR>　　J2EE规范里面，除了EJB，JMS，JTA，Servlet/JSP，JDBC之外还有很多很多的企业技术，这里不一一进行介绍了。 <BR><BR>　　另外还有一个最新领域Web Services。Web Services也完全没有任何新东西，它像是一种黏合剂，可以把不同的服务统一起来提供一个统一的调用接口，作为使用者来说，我只要获得服务提供者给我的WSDL（对服务的描述），就够了，我完全不知道服务器提供者提供的服务究竟是EJB组件，还是.Net组件，还是什么CORBA组件，还是其他的什么实现，我也不需要知道。Web Services最伟大的地方就在于通过统一的服务提供方式和调用方式，实现了整个Internet服务的共享，是一个非常令人激动的技术领域。Web Services好像目前还没有什么很好的书籍，但是可以通过在网络上面查资料的方式来学习。 <BR><BR>Java学习路径三篇 <BR><BR>Java学习路径（一）工具篇 <BR><BR>一、 JDK (Java Development Kit) <BR><BR>　　JDK是整个Java的核心，包括了Java运行环境（Java Runtime Envirnment），一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK，除了Sun之外，还有很多公司和组织都开发了自己的JDK，例如IBM公司开发的JDK，BEA公司的Jrocket，还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM（Java Virtual Machine）运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说，我们还是需要先把Sun JDK掌握好。 <BR><BR>　　1、 JDK的下载和安装 <BR><BR>　　JDK又叫做J2SE（Java2 SDK Standard Edition），可以从Sun的Java网站上下载到，http://java.sun.com/j2se/downloads.html ，JDK当前最新的版本是J2SDK1.4.2，建议下载该版本的JDK，下载页面在这里：http://java.sun.com/j2se/1.4.2/download.html。 <BR><BR>　　下载好的JDK是一个可执行安装程序，默认安装完毕后会在C:\Program Files\Java\目录下安装一套JRE（供浏览器来使用），在C:\j2sdk1.4.2下安装一套JDK（也包括一套JRE）。然后我们需要在环境变量PATH的最前面增加java的路径C:\j2sdk1.4.2\bin。这样JDK就安装好了。 <BR><BR>　　2、 JDK的命令工具 <BR><BR>　　JDK的最重要命令行工具： <BR><BR>　　java： 启动JVM执行class <BR><BR>　　javac： Java编译器 <BR><BR>　　jar： Java打包工具 <BR><BR>　　javadoc： Java文档生成器 <BR><BR>　　这些命令行必须要非常非常熟悉，对于每个参数都要很精通才行。对于这些命令的学习，JDK Documentation上有详细的文档。 <BR><BR>　　二、 JDK Documentation <BR><BR>　　Documentation在JDK的下载页面也有下载连接，建议同时下载Documentation。Documentation是最最重要的编程手册，涵盖了整个Java所有方面的内容的描述。可以这样说，学习Java编程，大部分时间都是花在看这个Documentation上面的。我是随身携带的，写Java代码的时候，随时查看，须臾不离手。 <BR><BR>　　三、 应用服务器(App Server) <BR><BR>　　App Server是运行Java企业组件的平台，构成了应用软件的主要运行环境。当前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的Jboss，选择其中一个进行学习就可以了，个人推荐Weblogic，因为它的体系结构更加干净，开发和部署更加方便，是Java企业软件开发人员首选的开发平台。下面简要介绍几种常用的App Server： <BR><BR>　　1、 Tomcat <BR><BR>　　Tomcat严格意义上并不是一个真正的App Server，它只是一个可以支持运行Serlvet/JSP的Web容器，不过Tomcat也扩展了一些App Server的功能，如JNDI，数据库连接池，用户事务处理等等。Tomcat被非常广泛的应用在中小规模的Java Web应用中，因此本文做一点下载、安装和配置Tomcat的介绍： <BR><BR>　　Tomcat是Apache组织下Jakarta项目下的一个子项目，它的主网站是：http://jakarta.apache.org/tomcat/ ，Tomcat最新版本是Tomcat5.0.16，软件下载的连接是：http://www.apache.org/dist/jakarta/tomcat-5/v5.0.16/ 。 <BR><BR>　　下载Tomcat既可以直接下载zip包，也可以下载exe安装包（个人建议zip更干净些），不管哪种情况，下载完毕安装好以后（zip直接解压缩就可以了）。需要设置两个环境变量： <BR><BR>　　JAVA_HOME=C:\j2sdk1.4.2 <BR><BR>　　CATALINA_HOME=D:\tomcat4 (你的Tomcat安装目录) <BR><BR>　　这样就安装好了，启动Tomcat运行CATALINA_HOME\bin\startup.bat，关闭Tomcat运行shutdown.bat脚本。Tomcat启动以后，默认使用8080端口，因此可以用浏览器访问http://localhost:8080来测试Tomcat是否正常启动。 <BR><BR>　　Tomcat提供了两个Web界面的管理工具，URL分别是： <BR><BR>　　http://localhost:8080/admin/index.jsp <BR><BR>　　http://localhost:8080/manager/html <BR><BR>　　在启用这两个管理工具之前，先需要手工配置一下管理员用户和口令。用一个文本工具打开CATALINA_HOME\conf\tomcat-users.xml这个文件，加入如下几行： <BR><BR>　　&lt;role rolename="manager"/&gt; <BR>　　&lt;role rolename="admin"/&gt; <BR>　　&lt;user username="robbin" password="12345678" roles="admin,manager,tomcat"/&gt; <BR><BR>　　这样用户“robbin”就具备了超级管理员权限。重新启动Tomcat以后，你就可以使用该用户来登陆如上的两个管理工具，通过Web方式进行Tomcat的配置和管理了。 <BR><BR>　　2、 BEA Weblogic <BR><BR>　　Weblogic可以到BEA的网站上免费注册之后下载到Weblogic8.1企业版，License可以免费使用1年时间，其实这已经完全足够了。Weblogic的下载连接：http://commerce.bea.com/index.jsp，Weblogic的在线文档：http://edocs.bea.com/ 。 <BR><BR>　　3、 IBM Webshpere <BR><BR>　　Websphere同样可以下载到免费的试用版本，到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料，developerWorks中文网站的连接是：http://www-900.ibm.com/developerWorks/cn/wsdd/ ，Websphere的下载连接：http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html 。 <BR><BR>　　4、 Jboss <BR><BR>　　Jboss是免费开源的App Server，可以免费的从Jboss网站下载：http://www.jboss.org/index.html，然而Jboss的文档是不免费，需要花钱购买，所以为我们学习Jboss设置了一定的障碍。在Jdon上有几篇不错的Jboss配置文档，可以用来参考：http://www.jdon.com/idea.html <BR><BR>　　四、 Java应用的运行环境 <BR><BR>　　Java的应用可以简单分为以下几个方面： <BR><BR>　　1、 Java的桌面应用 <BR><BR>　　桌面应用一般仅仅需要JRE的支持就足够了。 <BR><BR>　　2、 Java Web应用 <BR><BR>　　Java的Web应用至少需要安装JDK和一个web容器（例如Tomcat），以及一个多用户数据库，Web应用至少分为三层： <BR><BR>　　Browser层：浏览器显示用户页面 <BR><BR>　　Web层：运行Servlet/JSP <BR><BR>　　DB层：后端数据库，向Java程序提供数据访问服务 <BR><BR>　　3、 Java企业级应用 <BR><BR>　　企业级应用比较复杂，可以扩展到n层，最简单情况会分为4层： <BR><BR>　　Browser层：浏览器显示用户页面 <BR><BR>　　Client层：Java客户端图形程序（或者嵌入式设备的程序）直接和Web层或者EJB层交互 <BR><BR>　　Web层：运行Servlet/JSP <BR><BR>　　EJB层：运行EJB，完成业务逻辑运算 <BR><BR>　　DB层：后端数据库，向Java程序提供数据访问服务 <BR><BR>　　4、 Java嵌入式应用 <BR><BR>　　Java嵌入式应用是一个方兴未艾的领域，从事嵌入式开发，需要从Sun下载J2ME开发包，J2ME包含了嵌入式设备专用虚拟机KVM，和普通的JDK中包含的JVM有所不同。另外还需要到特定的嵌入式厂商那里下载模拟器。 <BR><BR><BR><FONT color=#ff0000>Java学习路径（二）书籍篇 <BR></FONT><BR>学习一门新的知识，不可能指望只看一本，或者两本书就能够完全掌握。需要有一个循序渐进的阅读过程。我推荐Oreilly出版的Java系列书籍。 <BR><BR>　　在这里我只想补充一点看法，很多人学习Java是从《Thinking in Java》这本书入手的，但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java的整个体系，而是一种跳跃式的写作方法，是一种类似tips的方法来对Java很多知识点进行了深入的分析和解释。 <BR><BR>　　对于初学者来说，最好是找一本Java入门的书籍，但是比较完整的循序的介绍Java的语法，面向对象的特性，核心类库等等，在看这本书的同时，可以同步来看《Thinking in Java》，来加深对Java的理解和原理的运用，同时又可以完整的了解Java的整个体系。 <BR><BR>　　对于Java的入门书籍，蔡学镛推荐的是Oreilly的《Exploring Java, 2nd Edition》 或者《Java in a Nutshell,2nd Edition（针对C++背景）》，我并没有看过这两本书。其实我觉得电子工业出版社的《Java 2编程详解》或者《Java 2从入门到精通》就很不错。 <BR><BR>　　在所有的Java书籍当中，其实最最有用的，并不是O´reilly的 Java Serials，真正最最有用处是JDK的Documentation！几乎你想获得的所有的知识在Documentation里面全部都有，其中最主要的部分当然是Java基础类库的API文档，是按照package来组织的，对于每一个class都有详细的解释，它的继承关系，是否实现了某个接口，通常用在哪些场合，还可以查到它所有的public的属性和方法，每个属性的解释，意义，每个方法的用途，调用的参数，参数的意义，返回值的类型，以及方法可能抛出的异常等等。可以这样来说，所有关于Java编程方面的书籍其实都不过是在用比较通俗易懂的语言，和良好的组织方式来介绍Documentation里面的某个package里面包含的一些类的用法而已。所以万变不离其宗，如果你有足够的能力来直接通过Documentation来学习Java的类库，那么基本上就不需要看其他的书籍了。除此之外，Documentation也是编程必备的手册，我的桌面上有三个Documentation的快捷方式，分别是J2SDK1.4.1的Documentation，Servlet2.3的Documentation和J2SDKEE1.3.1的Documentation。有了这个三个Documentation，什么其他的书籍都不需要了。 <BR><BR>　　对于Java Web 编程来说，最核心的是要熟悉和掌握HTTP协议，这个就和Java无关了，在熟悉HTTP协议之后，就需要熟悉Java的实现HTTP协议的类库，也就是Servlet API，所以最重要的东西就是Servlet API。当然对于初学者而言，直接通过Servlet API来学习Web编程有很大的难度，我推荐O´reilly的《Java Server Pages 》这本书来学习Web 编程。 <BR><BR>　EJB的书籍当中，《Enterprise Java Beans?, 2nd Edition》是一本很不错的书， EJB的学习门槛是比较高，入门很难，但是这本书完全降低了学习的难度，特别重要的一点是，EJB的学习需要结合一种App Server的具体实现，所以在学习EJB的同时，必须同步的学习某种App Server，而这本书相关的出了三本书，分别是Weblogic6.1，Websphere4.0和JBoss3.0上面部署书中例子的实做。真是既有理论，又有实践。在学习EJB的同时，可以边看边做，EJB的学习会变得很轻松。 <BR><BR>　　但是这本书也有一个问题，就是版本比较旧，主要讲EJB1.1规范和部分EJB2.0的规范。而Ed Roman写的《Mastering EJB 2.0》这本书完全是根据EJB2.0规范写的，深入浅出，覆盖了EJB编程的各个方面，并且还有很多编程经验tips，也是学习EJB非常推荐的书籍之一。 <BR><BR>　　如果是结合Weblogic来学习J2EE的话，《J2EE应用与BEA Weblogic Server》绝对是首选读物，虽然是讲述的Weblogic6.0，仍然值得购买，这本书是BEA官方推荐的教材，作者也是BEA公司的工程师。现在中文版已经随处可见了。这本书结合Weblogic介绍了J2EE各个方面的技术在Weblogic平台上的开发和部署，实践指导意义非常强。 <BR><BR>　　在掌握了Java平台基础知识和J2EE方面的知识以后，更进一步的是学习如何运用OO的方法进行软件的设计，那么就一定要学习“设计模式”。Sun公司出版了一本《J2EE核心模式》，是每个开发Java企业平台软件的架构师必备的书籍。这本书全面的介绍了J2EE体系架构的各种设计模式，是设计师的必读书籍。 <BR><BR><BR><FONT color=#ff0000>Java学习路径（三）过程篇 <BR></FONT><BR>每个人的学习方法是不同的，一个人的方法不见得适合另一个人，我只能是谈自己的学习方法。因为我学习Java是完全自学的，从来没有问过别人，所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法，只能给大家提供一点参考了。 <BR><BR>　　学习Java的第一步是安装好JDK，写一个Hello World， 其实JDK的学习没有那么简单，关于JDK有两个问题是很容易一直困扰Java程序员的地方：一个是CLASSPATH的问题，其实从原理上来说，是要搞清楚JRE的ClassLoader是如何加载Class的；另一个问题是package和import问题，如何来寻找类的路径问题。把这两个问题摸索清楚了，就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》，对这两个问题进行了深入的探讨。 <BR>　　第二步是学习Java的语法。Java的语法是类C++的，基本上主流的编程语言不是类C，就是类C++的，没有什么新东西，所以语法的学习，大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法，public，protected，private，static，什么时候用，为什么要用，怎么用，这可能需要有人来指点一下，我当初是完全自己琢磨出来的，花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。 <BR><BR>　　第三步是学习Java的面向对象的编程语言的特性的地方。比如继承，构造器，抽象类，接口，方法的多态，重载，覆盖，Java的异常处理机制。对于一个没有面向对象语言背景的人来说，我觉得这个过程需要花很长很长时间，因为学习Java之前没有C++的经验，只有C的经验，我是大概花了一个月左右吧，才彻底把这些概念都搞清楚，把书上面的例子反复的揣摩，修改，尝试，把那几章内容反复的看过来，看过去，看了不下5遍，才彻底领悟了。不过我想如果有C++经验的话，应该一两天时间足够了。那么在这个过程中，可以多看看《Thinking in Java》这本书，对面向对象的讲解非常透彻。可惜的是我学习的时候，并没有看到这本书，所以自己花了大量的时间，通过自己的尝试和揣摩来学会的。 <BR><BR>　　第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个，我没有统计过。但是真正对于我们来说最核心的只有4个，分别是 <BR><BR>　　java.lang.*; <BR><BR>　　java.io.*; <BR><BR>　　java.util.*; <BR><BR>　　java.sql.*; <BR><BR>　　这四个包的学习，每个包的学习都可以写成一本厚厚的教材，而O´reilly也确实是这样做的。我觉得如果时间比较紧，是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的： <BR><BR>　　首先要通读整个package的框架，了解整个package的class，interface，exception的构成，最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。 <BR><BR>　　对包整体框架的把握并不是要熟悉每个类的用法，记住它有哪些属性，方法。想记也记不住的。而是要知道包有哪些方面的类构成的，这些类的用途是什么，最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包，所以不可能详细的介绍每个类的用法，但是我反复强调，我给你们讲这些包的不是要告诉你们类的方法是怎么调用的，也不要求你们记住类的方法调用，而是要你们了解，Java给我们提供了哪些类，每个类是用在什么场合，当我遇到问题的时候，我知道哪个类，或者哪几个类的组合可以解决我的问题，That´all！，当我们具体写程序的时候，只要你知道该用哪个类来完成你的工作就足够了。编码的时候，具体的方法调用，是边写代码，边查Documentation，所有的东西都在Documentation里面，不要求你一定记住，实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。 <BR><BR>　　第五步，通过上面的学习，如果学的比较扎实的话，就打好了Java的基础了，剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到这一步，Java的自学能力已经被培养出来了，可以到了直接学习Documentation的水平了。除了要做GUI编程之外，JDK里面其他会有用处的包是这些： <BR><BR>　　java.text.*; <BR><BR>　　java.net.*; <BR><BR>　　javax.naming.*; <BR><BR>　　这些包里面真正用的比较多的类其实很少，只有几个，所以不需要花很多时间。 <BR><BR>　　第六步，Java Web 编程 <BR><BR>　　Web编程的核心是HTTP协议，HTTP协议和Java无关，如果不熟悉HTTP协议的话，虽然也可以学好Servlet/JSP编程，但是达不到举一反三，一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话，又有了Java编程的良好的基础，学习Servlet/JSP简直易如反掌，我学习Servlet/JSP就用了不到一周的时间，然后就开始用JSP来做项目了。 <BR><BR>　　在Servlet/JSP的学习中，重头仍然是Servlet Documentation。Servlet API最常用的类很少，花比较少的时间就可以掌握了。把这些类都看一遍，多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSP，还需要熟悉几个常用JSP的标记，具体的写法记不住的话，临时查就是了。 <BR><BR>　　此外Java Web编程学习的重点要放在Web Application的设计模式上，如何进行业务逻辑的分析，并且进行合理的设计，按照MVC设计模式的要求，运用Servlet和JSP分别完成不同的逻辑层，掌握如何在Servlet和JSP之间进行流程的控制和数据的共享，以及Web Application应该如何配置和部署。 <BR><BR>　　第七步，J2EE编程 <BR><BR>　　以上的学习过程如果是比较顺利的话，进行到这一步，难度又陡然提高。因为上面的知识内容都是只涉及一个方面，而像EJB，JMS，JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶，所以掌握起来难度比较大。 <BR><BR>　　首先一定要学习好JNDI，JNDI是App Server定位服务器资源（EJB组件，Datasouce，JMS）查找方法，如果对JNDI不熟悉的话，EJB，JMS这些东西几乎学不下去。JNDI其实就是javax.naming.*这个包，运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置，就需要看看专门的文档规范了，比如web.xml的写法，ejb-jar.xml的写法等等。针对每种不同的App Server，还有自己的服务资源配置文件，也是需要熟悉的。 <BR><BR>　　然后可以学习JTA，主要是要理解JTA对于事务的控制的方法，以及该在什么场合使用JTA。这里可以简单的举个例子，我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,conn.commit())，做为一个原子*作，但是假设我的业务需求是要把对两个不同数据库的*作做为一个原子*作，你能做的到吗？这时候只能用JTA了。假设*作过程是先往A数据库插一条记录，然后删除B数据库另一个记录，我们自己写代码是控制不了把整个*作做为一个原子*作的。用JTA的话，由App Server来完成控制。 <BR><BR>　　在学习EJB之前要学习对象序列化和RMI，RMI是EJB的基础。接着学习JMS和EJB，对于EJB来说，最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的，以及在什么情况下要用到EJB。 <BR><BR>　　在学习完EJB，JMS这些东西之后，你可能会意识到要急不可待学习两个领域的知识，一个是UML，另一个是Design Pattern。Java企业软件的设计非常重视框架(Framework)的设计，一个好的软件框架是软件开发成功的必要条件。在这个时候，应该开始把学习的重点放在设计模式和框架的学习上，通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。 <BR><BR>　　J2EE规范里面，除了EJB，JMS，JTA，Servlet/JSP，JDBC之外还有很多很多的企业技术，这里不一一进行介绍了。 <BR><BR>　　另外还有一个最新领域Web Services。Web Services也完全没有任何新东西，它像是一种黏合剂，可以把不同的服务统一起来提供一个统一的调用接口，作为使用者来说，我只要获得服务提供者给我的WSDL（对服务的描述），就够了，我完全不知道服务器提供者提供的服务究竟是EJB组件，还是.Net组件，还是什么CORBA组件，还是其他的什么实现，我也不需要知道。Web Services最伟大的地方就在于通过统一的服务提供方式和调用方式，实现了整个Internet服务的共享，是一个非常令人激动的技术领域。Web Services好像目前还没有什么很好的书籍，但是可以通过在网络上面查资料的方式来学习。 <BR></FONT><img src ="http://www.blogjava.net/zool/aggbug/3484.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 19:01 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3484.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> Java新手上路大全(问问题之前请先看)</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3482.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 10:01:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3482.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3482.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3482.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3482.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3482.html</trackback:ping><description><![CDATA[<FONT color=#ff0000 size=2>Helloworld功略<BR><IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=84" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=84</FONT></A><BR><BR><FONT size=2><FONT color=red>path和classpath</FONT><BR>1.什么是java的path和classpath?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=904" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=904</FONT></A><BR><FONT size=2>2.如何一次把一个目录下的所有.jar加入到classpath?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=905" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=905</FONT></A><BR><FONT size=2>3.classspath&nbsp;的默认值是什么?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=906" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=906</FONT></A><BR><FONT size=2>4.怎样找到程序运行需要的类?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=907" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=907</FONT></A><BR><FONT size=2>5.&nbsp;Linux下Path和ClassPath是怎么设的?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=908" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=908</FONT></A><BR><FONT size=2>6.如何修改path和classpath?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=909" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=909</FONT></A><BR><BR><FONT size=2><FONT color=red>java的帮助和api文档</FONT><BR>1.什么是java的api参考?<BR>api是html格式的从sun的网站上可以找到一个包<BR>包括api的参考和user&nbsp;guide,本站有做成.chm格式的便于查找。<BR>api参考是用jdk的工具javadoc&nbsp;生成的是开发者必备的文档。<BR>2.哪里有JAVA基本类库的源代码?<BR>jdk的安装目录下有源码src.zip<BR>3.java&nbsp;web&nbsp;start&nbsp;是干什么用的?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=911" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=911</FONT></A><BR><BR><FONT size=2><FONT color=red>开发环境</FONT><BR>1.jre下的lib和jdk下的lib到底有什么区别？<BR>jre是JDK的一个子集。提供一个运行环境。JDK的lib目录是给JDK用的，例如JDK下有一些工具，可能要用该目录中的文件。例如，编译器等。JRE的lib目录是为JVM，运行时候用的。包括所有的标准类苦，和扩展类<BR>2.我的jbuilder光标对不齐?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=913" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=913</FONT></A><BR><FONT size=2>3.JDK版本冲突怎么办?<BR>要决定windows使用哪一个JDK（win2000），改注册表：<BR>HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java&nbsp;Development&nbsp;Kit\CurrentVersion<BR>的值，要决定JBuilder使用哪个JDK在project&nbsp;properties中可以设置。<BR>4.editplus能够编译java嘛?&nbsp;如何设置?<BR>&nbsp;&nbsp;&nbsp;&nbsp;先要将JAVA的运行环境安装并且调试好。<BR>&nbsp;&nbsp;&nbsp;&nbsp;首先，从菜单“工具（Tools）”-&gt;“配置用户工具...”进入用户工具设置。<BR>&nbsp;&nbsp;&nbsp;&nbsp;在类别里展开“工具”树形菜单-&gt;“用户工具”，选择“组和工具项目”中的“Group&nbsp;1”，点击面板右边的“组名称...”按钮，将文本“Group1”修改成“编译JAVA程序”。<BR>&nbsp;&nbsp;&nbsp;&nbsp;然后选择修改的组“编译JAVA程序”，点击“添加新工具”按钮，选择程序，建立“新建程序”，选中它。<BR>&nbsp;&nbsp;&nbsp;&nbsp;然后就是最重要的步骤（修改属性）：<BR>&nbsp;&nbsp;&nbsp;&nbsp;1.1&nbsp;添加编译功能&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;“菜单文字”里的内容修改为“JAVAC”；<BR>&nbsp;&nbsp;&nbsp;&nbsp;“命令”选择安装JDK后的BIN目录中的编译程序JAVAC.EXE，如果JDK&nbsp;安装路径为“c:\jdk”，那么此路径为“c:\jdk\bin\javac.exe”；<BR>&nbsp;&nbsp;&nbsp;&nbsp;“参数”选择“文件名称”，即显示为“$(FileName)”；<BR>&nbsp;&nbsp;&nbsp;&nbsp;“初始目录”选择“文件目录”，显示为“$(FileDir)”；<BR>&nbsp;&nbsp;&nbsp;&nbsp;选择“捕获输出”复选框。<BR>&nbsp;&nbsp;&nbsp;&nbsp;1.2&nbsp;添加执行功能<BR>&nbsp;&nbsp;&nbsp;&nbsp;“菜单文字”里的内容修改为“JAVA”；<BR>&nbsp;&nbsp;&nbsp;&nbsp;“命令”选择安装JDK后的BIN目录中的编译程序JAVA.EXE，路径为“c:\jdk\bin\java.exe”；<BR>&nbsp;&nbsp;&nbsp;&nbsp;“参数”选择“文件名（不含扩展名）”，即显示为“$(FileNameNoExt)”；<BR>&nbsp;&nbsp;&nbsp;&nbsp;“初始目录”选择“文件目录”，显示为“$(FileDir)”；<BR>&nbsp;&nbsp;&nbsp;&nbsp;选择“捕获输出”复选框。<BR>&nbsp;&nbsp;&nbsp;&nbsp;这样就完成了基本的配置工作<BR><BR><FONT color=red>基础概念</FONT><BR>1.public,private,protect的访问机制<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=914" target=_blank><BR><FONT size=2><IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=914" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=914</FONT></A></A><BR><FONT size=2>2.Java中如何定义一个常量？<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=915" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=915</FONT></A><BR><FONT size=2>3.异常的throw和throws有什么区别<BR>throw是在程序中抛出异常，而throws是在方法的声明中声明抛出异常<BR>4.upcasting是什么意思<BR>upcasting就是上溯.也就是说把一个子类当作它的父类看待,比如:对方法void&nbsp;do(Object&nbsp;obj){...},你可以把任何对象作为参数来调用.<BR><BR><FONT color=red>编译运行</FONT><BR>1.怎么把多个.java源文件编译成一个.class?<BR>java&nbsp;-d&nbsp;.&nbsp;a.java&nbsp;b.java<BR>2.&nbsp;depreciated&nbsp;API&nbsp;是什么意思?<BR>java发展太快,所以你应该尽可能用最新的api,但是老的api还是兼容的,所以回waning&nbsp;你deprecated&nbsp;api<BR>3.怎么样编译一个目录下的所有java文件？<BR>ant或者jbuilder,或者自己写脚本.<BR>4.如何让执行程序时不会出现dos窗口?<BR>javaw<BR>5.如何运行jar文件?<BR>java&nbsp;-jar&nbsp;***.jar<BR>6.如何去掉JAVA的内存限制<BR>加&nbsp;-Xmx参数来设置maximum&nbsp;Java&nbsp;heap&nbsp;size,如:&nbsp;java&nbsp;-Xms10M&nbsp;MyClass<BR>7.什么是Java混淆编译器?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=916" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=916</FONT></A><BR><FONT size=2>8.如何将Java应用程序本地编译为EXE?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=917" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=917</FONT></A><BR><FONT size=2>9.jar命令?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=918" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=918</FONT></A><BR><BR><FONT size=2><FONT color=red>数据类型与转换</FONT><BR>1.int、char、double与byte如何相互转换?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=919" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=919</FONT></A><BR><FONT size=2>2.int与byte&nbsp;array之间的转换程序?<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=920" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=920</FONT></A><BR><FONT size=2>3.string和int之间的转换?<BR>a1=Integer.parseInt(s1);<BR>s1=Integer.toString(a1);<BR>4.java如何获得随机整数?<BR>首先利用random()获得一个随机浮点数，然后乘以你希望得到的整数<BR>的最大值，最后对得到的结果取整。<BR>5.怎么把String类型转换成16进制的整数?<BR>&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String&nbsp;args[]){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;x&nbsp;=&nbsp;"0x300C8";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;y&nbsp;=&nbsp;Integer.decode(x).intvalue();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(y);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>6.int和java.lang.Integer有和区别?<BR>int是数据类型，Integer是类Integer的功能更强，可以将整数转换为浮点数运算，在java这种强类型语言中是很有用的。可以利用Integer的构造函数Integer(int)来对一个整数建立对象。类似的类还有Float,Short,Long等等<BR><BR><FONT color=red>数据结构</FONT><BR>1.如何实现二维向量?<BR>Vector&nbsp;vector1=new&nbsp;Vector();<BR>Vector&nbsp;vector2=new&nbsp;Vector();<BR>...<BR>..<BR>HashTable&nbsp;numbers=new&nbsp;HashTable();<BR>numbers.put("vector1",vector1);<BR>numbers.put("vector2",vector2);<BR>2.&nbsp;JAVA中怎么得到现在的系统时间?<BR>比如,当前date,Date&nbsp;today=new&nbsp;Date(System.currentTimeMillis());<BR>3.如何将java.util.Date转化为java.sql.Date?<BR>转化：<BR>&nbsp;<BR>java.sql.Date&nbsp;sd;<BR>java.util.Date&nbsp;ud;<BR>//initialize&nbsp;the&nbsp;ud&nbsp;such&nbsp;as&nbsp;ud&nbsp;=&nbsp;new&nbsp;java.util.Date();<BR>&nbsp;<BR>sd&nbsp;=&nbsp;new&nbsp;java.sql.Date(ud.getTime());<BR>&nbsp;<BR>如果要插入到数据库并且相应的字段为Date类型<BR>那么可以用PreparedStatement.setDate(int&nbsp;,java.sql.Date)方法<BR>其中的java.sql.Date可以用上面的方法得到<BR>&nbsp;<BR>也可以用数据库提供TO_DATE函数<BR>比如&nbsp;现有&nbsp;ud<BR>TO_DATE(new&nbsp;SimpleDateFormat().format(ud,"yyyy-MM-dd&nbsp;HH:mm:ss"),<BR>"YYYY-MM-DD&nbsp;HH24:MI:SS")<BR>注意java中表示格式和数据库提供的格式的不同<BR><BR><FONT color=red>系统相关</FONT><BR>1.在JAVA中如何启动一个程序?<BR>String&nbsp;strCommand;<BR>String&nbsp;cmd&nbsp;=&nbsp;"cmd";<BR>if&nbsp;(!&nbsp;System.getProperty("os.name").equals("Windows&nbsp;NT"))&nbsp;cmd&nbsp;=&nbsp;"command";<BR>cmd&nbsp;=&nbsp;cmd&nbsp;+&nbsp;"&nbsp;/c&nbsp;"&nbsp;+&nbsp;strCommand;<BR>try&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Runtime.getRuntime().exec(cmd);<BR>}<BR>catch&nbsp;(IOException&nbsp;ex)&nbsp;{<BR>}<BR>&nbsp;<BR>strCommand&nbsp;为命令串，DOS&nbsp;底下怎么用，这儿就可以怎么用<BR>2.如何得到应用程序的路径<BR>Properties&nbsp;System.getProperties()里面有<BR>3.如何得到当前系统时间?<BR>&nbsp;&nbsp;&nbsp;1.SimpleDateFormat&nbsp;formatter=new&nbsp;SimpleDateFormat("yyyy-MM-dd");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;time=formatter.format(new&nbsp;Date());<BR>&nbsp;&nbsp;&nbsp;&nbsp;2.Calendar&nbsp;cal&nbsp;=&nbsp;Calendar.getInstance();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;year&nbsp;=&nbsp;cal.get(Calendar.YEAR);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;month=..类推<BR><BR><BR><FONT color=red>输入输出</FONT><BR>1.是否可以用纯JAVA&nbsp;编写程序来访问串口?<BR>Sun提供了一个叫javax.comm的package,专门用来对serial&nbsp;port进行操作.<BR>2.writeutf和write的区别<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=921" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=921</FONT></A><BR><FONT size=2>3.如何利用FileWriter在文本中换行？<BR>\r\n<BR><BR><FONT color=red>网络相关</FONT><BR>1.如何让我的程序通过proxy访问外部网络?<BR>System.setProperty("java.proxyHost","your&nbsp;proxy&nbsp;here");&nbsp;<BR><BR><FONT color=red>本地相关</FONT><BR>1.如何调用本地的dll？<BR>&nbsp;&nbsp;jni<BR>2.如何用java编写扫描仪程序？<BR></FONT><A href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=2741" target=_blank><FONT size=2>http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=2741</FONT></A><BR><img src ="http://www.blogjava.net/zool/aggbug/3482.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 18:01 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3482.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA初学[zool笔记整理](1)</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3480.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 09:49:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3480.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3480.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3480.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3480.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3480.html</trackback:ping><description><![CDATA[<P><FONT color=#808080 size=2><FONT color=#ff0000>几个概念:</FONT><BR>1.IDE&nbsp;:JAVA编译器,知道的有eclipse&nbsp;&nbsp; ,JCreator Pro .<BR>2.J2EE&nbsp;:J2EE全称为Java2 Platform, Enterprise Edition。J2EE平台本质上是一个分布式的服务器应用程序设计环境,用来建立电子商务程序.<BR>3.java web start 的作用:就是随时连接网络更新你的JAVA版本.</FONT></P><img src ="http://www.blogjava.net/zool/aggbug/3480.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 17:49 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3480.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA基础--技术文章列表</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3452.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 03:46:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3452.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3452.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3452.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3452.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3452.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JAVA基础--技术文章列表 主栏目分栏目文章标题文章发布时间JAVA技术JAVA基础全面了解jar问题2005-01-19JAVA技术JAVA基础Java学习路径（一）工具篇2005-01-19JAVA技术JAVA基础HelloWorld 攻略2005-01-19JAVA技术...&nbsp;&nbsp;<a href='http://www.blogjava.net/zool/archive/2005/04/19/3452.html'>阅读全文</a><img src ="http://www.blogjava.net/zool/aggbug/3452.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 11:46 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3452.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java,FAQ</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3451.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 03:42:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3451.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3451.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3451.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3451.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3451.html</trackback:ping><description><![CDATA[一、入门<BR>1、下载和安装J2SDK&nbsp;&nbsp;&nbsp;&nbsp;<A href="http://java.sun.com/j2se/1.4.1/download.html"><A href="http://java.sun.com/j2se/1.4.1/download.html" target=_blank>http://java.sun.com/j2se/1.4.1/download.html</A></A><BR>2&nbsp;&nbsp;JAVA VM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A href="http://www.java.com/en/index.jsp"><A href="http://www.java.com/en/index.jsp" target=_blank>http://www.java.com/en/index.jsp</A></A> <BR>3&nbsp;&nbsp;API&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A href="http://java.sun.com/api/index.html"><A href="http://java.sun.com/api/index.html" target=_blank>http://java.sun.com/api/index.html</A></A><BR>1 首先下载J2SDK安装&nbsp;&nbsp;<BR>&nbsp;&nbsp;a&nbsp;&nbsp;更新PATH环境变量<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为了能在任何目录下都能执行java命令（如javac、java、 等），需要将java的bin目录放入PATH环&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;境变量中。 对于Windows95/98, 打开“开始”菜单、选择“运行”、输入命令sysedit（调用系统配置编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;辑程序），在C:\AUTOEXEC.BAT窗口中找到PATH设置并追加一项（c:\jdk1.3.1_01\bin）对于Windows NT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and Windows 2000 ，进入“开始”菜单，选择“设置/控制面板/系统”。对于Windows NT,选择“环境”&nbsp;&nbsp;&nbsp;&nbsp;页，对于Windows 2000，选择“高级”页，在环境变量设置中的用户变量栏中增加（如果原来没有PATH）&nbsp;&nbsp;&nbsp;&nbsp;或修改PATH环境变量，使其包含c:\jdk1.3.1_01\bin路径。<BR>&nbsp;&nbsp;b&nbsp;&nbsp; 更新CLASSPATH环境变量 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为了使系统能找到用户定义的类，需要将用户类所在的目录（通常是当前目录即把 . 加入到&nbsp;&nbsp;&nbsp;&nbsp;classpath中）放入CLASSPATH变量中。具体更改方法同PATH修改过程，只是要找到 CLASSPATH环境&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 变量进行修改。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdk Win2000下的环境变量设置<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="http://www.linuxdby.com/<a" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7045</A>&gt;<A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7045" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7045</A></A><BR>c&nbsp;&nbsp;&nbsp;&nbsp;确认系统安装<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在DOS提示符下，输入set命令可以查看PATH和CLASSPATH的设置是否成功 （ 如果是98者需运行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AUTOEXEC.BAT才能使修改的设置生效 如果是2000需把dos关闭重新运行 ）<BR>2 然后运行你的第一个java程序<BR>&nbsp;&nbsp; 写个类保存为.java文件&nbsp;&nbsp;一定记得如果是用记事本编辑器的话 保存时要选择保存类型为所有类型然后文件名字和你的类名字要一模一样&nbsp;&nbsp;或者也可以把类名.java加上引号就可以避免保存为.java.txt的类型了<BR><BR>3 常见错误处理 <BR>&nbsp;&nbsp;如果运行javac命令时出现can not read xxx.java 首先看看你的文件是否保存为.java.txt的类型了（右点文件看属性里的扩张名）&nbsp;&nbsp;重新保存 记得此时要把文件名.java加上引号 保存&nbsp;&nbsp; 。&nbsp;&nbsp;若运行java命令时提示exception in thread&nbsp;&nbsp;"main" java.lang.NoClassDefFoundErroe:的异常&nbsp;&nbsp;说明你的classpath里没有加入 .&nbsp;&nbsp;<BR><BR>二 、 常见错误<BR><BR>1&nbsp;&nbsp; can not read xxx.java<BR>&nbsp;&nbsp; 首先看看你的文件是否保存为.java.txt的类型了（右点文件看属性里的扩张名）&nbsp;&nbsp;重新保存 记得此时要把文件名.java加上引号 保存&nbsp;&nbsp; 。&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>2&nbsp;&nbsp; exception in thread&nbsp;&nbsp;"main" java.lang.NoClassDefFoundErroe:<BR>&nbsp;&nbsp; 说明你的classpath里没有加入 . <BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7233"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7233" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7233</A></A><BR><BR>3&nbsp;&nbsp; "=="和"equals()"的区别在哪里？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=16630&amp;show=0"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=16630&amp;show=0" target=_blank>http://www.chinajavaworld.net/forum/top...ic=16630&amp;show=0</A></A><BR><BR>4&nbsp;&nbsp; StringBuffer s1 = new StringBuffer("a");<BR>&nbsp;&nbsp; StringBuffer s2 = new StringBuffer("a");<BR>&nbsp;&nbsp; s1.equals(s2)//为什么是false<BR>&nbsp;&nbsp; String s1 = new String("a");<BR>&nbsp;&nbsp; String s2 = new String("a");<BR>&nbsp;&nbsp; s1.equals(s2)//为什么是true<BR><BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=14935"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=14935" target=_blank>http://www.chinajavaworld.net/forum/top...=20&amp;topic=14935</A></A><BR>&nbsp;&nbsp; String,和StringBuffer区别<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7007"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7007" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7007</A></A><BR><BR>5&nbsp;&nbsp; Java Web Start是什么？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=15868"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=15868" target=_blank>http://www.chinajavaworld.net/forum/top...=20&amp;topic=15868</A></A><BR><BR>6&nbsp;&nbsp; trim()函数的用法<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=10515"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=10515" target=_blank>http://www.chinajavaworld.net/forum/top...=20&amp;topic=10515</A></A><BR><BR>7&nbsp;&nbsp; 怎么提取系统时间?　　<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=734"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=734" target=_blank>http://www.chinajavaworld.net/forum/top...um=20&amp;topic=734</A></A><BR><BR>8&nbsp;&nbsp; 怎样让窗口始终在前<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=16587"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=16587" target=_blank>http://www.chinajavaworld.net/forum/top...=20&amp;topic=16587</A></A><BR><BR>9&nbsp;&nbsp; 日期的显示格式化<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=16750"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=16750" target=_blank>http://www.chinajavaworld.net/forum/top...=20&amp;topic=16750</A></A><BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp; 公历和阴历怎样转换？？？？？？？？？　　<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7101"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7101" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7101</A></A><BR>10&nbsp;&nbsp;静态和非静态的嵌套类有什么区别？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4721"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4721" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4721</A></A><BR><BR>11&nbsp;&nbsp;怎样判断输入的东东是字符还是数字啊?　　<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4687"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4687" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4687</A></A><BR><BR>12&nbsp;&nbsp;finalize()和System.gc()区别<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4656"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4656" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4656</A></A><BR><BR>13&nbsp;&nbsp;怎么键盘上输入2 ….竟印出50 ???&nbsp;&nbsp;System.in.read()用法<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4605"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4605" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4605</A></A><BR><BR>15&nbsp;&nbsp;类的多态　　<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4737"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4737" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4737</A></A><BR><BR>16&nbsp;&nbsp;如果一个程序包含了多个.java文件，而且他们是互相关联的，<BR>&nbsp;&nbsp; 现在要编译他们，该怎么办！<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=5000"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=5000" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=5000</A></A><BR><BR>17&nbsp;&nbsp;接口与类的讨论<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=5007"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=5007" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=5007</A></A><BR><BR>18&nbsp;&nbsp;关于汉字是怎么转成代码的？　　<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4991"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4991" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4991</A></A><BR><BR>19&nbsp;&nbsp;可不可以把JTextArea的内容一行一行读处来?　　<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4785"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4785" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4785</A></A><BR><BR>20&nbsp;&nbsp;两个日期的字符串怎么相加减<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4812"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4812" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4812</A></A><BR><BR>21&nbsp;&nbsp;"this"的功能和用处是什么？　　<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4780"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4780" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4780</A></A><BR><BR>22&nbsp;&nbsp;关于多态性和多级继承的问题　　<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4772"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=4772" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=4772</A></A><BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7154"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7154" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7154</A></A><BR><BR>23&nbsp;&nbsp;什么是面向对象的设计思想？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7069"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7069" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7069</A></A><BR><BR>24&nbsp;&nbsp;关于java内在类的一个问题<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=712"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=712" target=_blank>http://www.chinajavaworld.net/forum/top...um=20&amp;topic=712</A></A><BR><BR>25&nbsp;&nbsp;如何取得本机的IP<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7151"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7151" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7151</A></A><BR><BR>26&nbsp;&nbsp;throw和throws有什么区别呀？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7005"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7005" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7005</A></A><BR><BR>27&nbsp;&nbsp;在ｊａｖａ中为什么要引入抽象类这个问题？？<BR>&nbsp;&nbsp; 他的作用是什么，<BR>&nbsp;&nbsp; 有哪些优点？？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=160"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=160" target=_blank>http://www.chinajavaworld.net/forum/top...um=20&amp;topic=160</A></A><BR><BR>28&nbsp;&nbsp;final,private定义变量时表示什么意思<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7042"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7042" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7042</A></A><BR><BR>29&nbsp;&nbsp;java修饰符与字符输出的问题<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7054"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7054" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7054</A></A><BR><BR><BR>30&nbsp;&nbsp;什么是匿名类？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7070"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7070" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7070</A></A><BR><BR>31&nbsp;&nbsp;请问怎么样在一个APPLICATION 中运行硬盘上的另外一个可执行文件呢？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7066"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7066" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7066</A></A><BR><BR>32&nbsp;&nbsp;如何取今天日期???我想得到这样的格式:yyyy-mm--dd该怎么作？？？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7081"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7081" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7081</A></A><BR><BR>33&nbsp;&nbsp;十六进制如何转化为十进制？<BR>&nbsp;&nbsp; <A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7079"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7079" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7079</A></A><BR><BR>34&nbsp;&nbsp;怎样生成&nbsp;&nbsp;.jar文件？ <BR>&nbsp;&nbsp;<A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7073"><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=7073" target=_blank>http://www.chinajavaworld.net/forum/top...m=20&amp;topic=7073</A></A><BR><BR>35&nbsp;&nbsp;Final 是否可以继承覆盖<BR><A href="http://www.chinajavaworld.net/forum/topic.cgi?forum=20&amp;topic=25880&amp;show=0" target=_blank>http://www.chinajavaworld.net/forum/top...ic=25880&amp;show=0</A><BR><img src ="http://www.blogjava.net/zool/aggbug/3451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 11:42 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>E书下载[FTP资源收集]</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3450.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3450.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3450.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3450.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3450.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3450.html</trackback:ping><description><![CDATA[<A href="http://www.infoxa.com/index.htm"><FONT color=#808080 size=2>http://www.infoxa.com/index.htm<BR></FONT></A><BR><FONT color=#808080 size=2>FTP:220.200.160.180<BR>user:infoxa<BR>pws:infoxa<BR><BR>---------------------------------------------------------------------------------------------------------------<BR></FONT><FONT color=#808080 size=2>为方便大家交流JAVA资料特提供高速FTP服务器一台<BR>P42.4C<BR>256M*2内存<BR>40G硬盘<BR>10M电信光纤<BR>7*23小时开机<BR>地址：</FONT><A href="ftp://218.28.64.19:22/"><FONT color=#808080 size=2>ftp://218.28.64.19:22</FONT></A><BR><FONT color=#808080 size=2>下载帐号：javadown<BR>下载密码：javadown<BR>上传帐号：javaup<BR>上传密码：javaup<BR>单线程下载限速200K<BR>因现在硬件维护下午3点准时开机<BR><BR>---------------------------------------------------------------------------------------------------------------</FONT><img src ="http://www.blogjava.net/zool/aggbug/3450.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 11:30 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3450.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转帖]Google搜索从入门到精通v4.0－严重推荐</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3448.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3448.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3448.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3448.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3448.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3448.html</trackback:ping><description><![CDATA[<FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>1，前言<BR>2，摘要<BR>3，如何使用本文<BR>4，Google简介<BR>5，搜索入门<BR>6，初阶搜索<BR>　　6.1，搜索结果要求包含两个及两个以上关键字<BR>　　6.2，搜索结果要求不包含某些特定信息<BR>　　6.3，搜索结果至少包含多个关键字中的任意一个<BR>7，杂项语法<BR>　　7.1，通配符问题<BR>　　7.2，关键字的字母大小写<BR>　　7.3，搜索整个短语或者句子<BR>　　7.4，搜索引擎忽略的字符以及强制搜索<BR>8，进阶搜索<BR>　　8.1，对搜索的网站进行限制<BR>　　8.2，查询某一类文件<BR>　　8.3，搜索的关键字包含在URL链接中<BR>　　8.4，搜索的关键字包含在网页标题中<BR>　　8.5，搜索的关键字包含在网页“锚”内<BR>9，其他罕用语法<BR>　　9.1，搜索所有链接到某个URL地址的网页<BR>　　9.2，查找与某个页面结构内容相似的页面<BR>　　9.3，从Google服务器上缓存页面中查询信息<BR>10，图片搜索<BR>11，目录检索<BR>12，新闻组搜索<BR>13，Google的其他杰出功能<BR>　　13.1，网页快照<BR>　　13.2，集成化的工具条<BR>　　13.3，单词英文解释<BR>　　13.4，网页翻译<BR>　　13.5，单词纠错<BR>　　13.6，搜索结果过滤<BR>14，Google尚未发布的一些新特性和功能<BR>　　14.1，对网页更新日期做出限定<BR>　　14.2，新闻搜索<BR>　　14.3，分类广告搜索<BR>　　14.4，其它Google的最新发展动态<BR>　　14.5，一个有趣的地方<BR>15，后记<BR><BR>——————————————————————————————————<BR><BR><B>1，前言</B><BR><BR>　　我是在2000年上半年知道Google的。在这之前，我搜索英文信息通常用AltaVista，而搜索中文信息则常用Sina。但自使用了Google之后，它便成为我的Favorite&nbsp;Search&nbsp;engine了。这也得感谢新浪网友曹溪，因为当初正是因为他的大力推介，才使我识得了Google。<BR><BR>　　记得1996年夏季的时候，当我第一次接触Internet，便被扑面而来的魔力征服了。那种天涯咫尺的感觉，真是妙不可言。在经历了疯狂的WWW冲浪和如痴如醉的BBS沉迷之后，我意识到Internet对我影响至深的还是在于学习方式的变迁。<BR><BR>　　如何来描述这种变迁呢？以前的学习，一般需要预先在肚子里存储下足够的知识，必要时，就从海量的信息中提取所需的部分。这种学习方式造就了很多“才高八斗，学富五车”的大才子。但是，到了信息领域大大超出“四书五经”的新时期，预先无目的的吞下海量信息的学习方式就有些不合时宜了。比方说，我们到了大型的图书城，往往有一种不知所措的感觉。旧有的学习方式需要变更以适应这个信息爆炸的年代。目的明确的去学习，即先知道要学什么，然后有目的的去寻找答案，这种方式看上去更加有效率。我不妨把这称为“即学式”，相应的，旧有的称为“预学式”。<BR><BR>　　不过，“即学式”的实施是有前提的。首先，要求学习者拥有一个包罗万象的信息库，以供随时抽取各种目的信息；其次，是需要一个强劲的信息检索工具，以便高效率的从信息库中提取信息。很明显，Internet可以充当那个海量的信息库，而搜索引擎，则正是寻找光明之火的绝好工具。<BR><BR>　　“公欲善其事，必先利其器”。Internet只有一个，而搜索引擎则有N多个。有搜索高手说，所谓搜索，就是“在正确的地方使用正确的工具和正确的方法寻找正确的内容”。但是，对于普通人而言，掌握诸多搜索引擎的可能性似乎不大。用一两个相对强劲的具代表性的工具达到绝大多数搜索目的更为人们所迫切希望。不同的时期，涌现出不同的强者。就目前而言，我们非常幸运的有了：&nbsp;*****Google******<BR><BR><BR><B>2，摘要</B><BR><BR>　　本文简要的介绍了Google的历史和特点，Google的基本搜索语法和高级搜索语法，Google的特色功能，包括图片搜索、新闻组搜索和集成工具条等。尽管本文名为“Google搜索从入门到精通”，但事实上，本文只能算是对Google的一个并不十分完全的介绍而已。:)<BR><BR><BR><B>3，如何使用本文</B><BR><BR>　　阅读本文最好具备一些最基本的布尔代数基础，如“与”、“或”、“非”等。不过，即便你没有这方面的知识，也不必在意。对那些实例进行练习，你的疑惑就会迎刃而解。对于刚刚接触网络搜索的读者而言，也许你应该从头到尾的阅读本文；但对于那些有一定搜索基础的读者而言，只需要跳跃着寻找自己所需要的信息就可以了。此外，你也可以参考中文Google大全：<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.google.com/intl/zh-CN/about.html" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.Google.com/intl/zh-CN/about.html</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>，以及搜索帮助：<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.google.com/intl/zh-CN/help.html" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.google.com/intl/zh-CN/help.html</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>，那是官方Google使用手册以及问题解答中心。<BR><BR><BR><B>4，Google简介</B><BR><BR>　　Google（www.Google.com）是一个搜索引擎，由两个斯坦福大学博士生Larry&nbsp;Page与Sergey&nbsp;Brin于1998年9月发明，Google&nbsp;Inc.&nbsp;于1999年创立。2000年7月份，Google替代Inktomi成为Yahoo公司的搜索引擎，同年9月份，Google成为中国网易公司的搜索引擎。98年至今，Google已经获得30多项业界大奖。到Google的新闻中心（<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.google.com/press/index.html" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.Google.com/press/index.html</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>），你可以找到关于一切关于Google的历史和新闻资料。<BR><BR>　　Google的成功得益于其强大的功能和独到的特点：<BR><BR>Google检索网页数量达24亿，搜索引擎中排名第一；<BR>Google支持多达132种语言，包括简体中文和繁体中文；<BR>Google网站只提供搜索引擎功能，没有花里胡哨的累赘；<BR>Google速度极快，年初时据说有15000多台服务器，200多条T3级宽带；<BR>Google的专利网页级别技术PageRank能够提供准确率极高的搜索结果；&nbsp;<BR>Google智能化的“手气不错”功能，提供可能最符合要求的网站；<BR>Google的“网页快照”功能，能从Google服务器里直接取出缓存的网页。<BR>Google具有独到的图片搜索功能；<BR>Google具有强大的新闻组搜索功能；<BR>Google具有二进制文件搜索功能（PDF，DOC，SWF等）；<BR>Google还有很多尚在开发阶段的令人吃惊的设想和功能。<BR>等等<BR><BR><BR><B>5，搜索入门</B><BR><BR>　　要用Google做搜索，当然首先要进Google网站--www.Google.com；不过，163.com和yahoo.com.cn使用的实际上也是Google搜索引擎，只是对搜索结果进行了编排，而且无法提供一些特色功能，如图片搜索等。因此，如果你要搜索网页的话，就直接使用Google.com吧。<BR><BR>　　第一次进入Google，它会根据你的操作系统，确定语言界面。需要提醒的是，Google是通过cookie来存储页面设定的，所以，如果你的系统禁用cookie，就无法对Google界面进行个人设定了。<BR><BR>　　Google的首页很清爽，LOGO下面，排列了四大功能模块：网站、图像、新闻组和目录服务。默认是网站搜索。现在进行第一次搜索实践，假定你是个搜索新手，想要了解一下搜索引擎的来龙去脉和搜索技巧。在搜索框内输入一个关键字“搜索引擎”，&nbsp;选中“搜索中文(简体)网页”选项，然后点击下面的“Google搜索”按钮（或者直接回车），结果就出来了。&nbsp;搜索：“搜索引擎”<BR>结果：已搜索有关搜索引擎的中文(简体)网页。&nbsp;共约有707,000项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.08秒。<BR><BR>　　仔细看一下搜索结果的前十项，就会发现绝大部分链接是搜索引擎本身，而不是对搜索引擎的或者搜索技巧方面的介绍。<BR><BR>　　注意：文章中搜索语法外面的引号仅起引用作用，不能带入搜索栏内。<BR><BR><BR><B>6，初阶搜索</B><BR><BR>　　上例是最基本的搜索，即查询包含单个关键字的信息。但是，你可以发现，上例中，单个关键字“搜索引擎”，搜索得的信息浩如烟海，而且绝大部分并不符合自己的要求，怎么办呢？我们需要进一步缩小搜索范围和结果。<BR><BR>6.1，搜索结果要求包含两个及两个以上关键字<BR><BR>　　一般搜索引擎需要在多个关键字之间加上“&nbsp;”，而Google无需用明文的“&nbsp;”来表示逻辑“与”操作，只要空格就可以了。现在，我们需要了解一下搜索引擎的历史，因此期望搜得的网页上有“搜索引擎”和“历史”两个关键字。<BR><BR>示例：搜索所有包含关键词“搜索引擎”和“历史”的中文网页<BR>搜索：“搜索引擎&nbsp;历史”<BR>结果：已搜索有关搜索引擎&nbsp;历史的中文(简体)网页。&nbsp;共约有78,600项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.36秒。&nbsp;<BR><BR>　　用了两个关键字，查询结果已经从70多万项减少到7万多项。但查看一下搜索结果，发现前列的绝大部分结果还是不符合要求，大部分网页涉及的“历史”，并不是我们所需要的“搜索引擎的历史”。&nbsp;怎么办呢？删除与搜索引擎不相关的“历史”。我们发现，这部分无用的资讯，总是和“文化”这个词相关的，另外一些常见词是“中国历史”、“世界历史”、“历史书籍”等。<BR><BR>6.2，搜索结果要求不包含某些特定信息<BR><BR>　　Google用减号“-”表示逻辑“非”操作。“A&nbsp;–B”表示搜索包含A但没有B的网页。<BR><BR>示例：搜索所有包含“搜索引擎”和“历史”但不含“文化”、“中国历史”和“世界历史”的中文网页<BR>搜索：“搜索引擎&nbsp;历史&nbsp;-文化&nbsp;-中国历史&nbsp;-世界历史”<BR>结果：已搜索有关搜索引擎&nbsp;历史&nbsp;-文化&nbsp;-中国历史&nbsp;-世界历史的中文(简体)网页。&nbsp;共约有36,800项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.22秒。&nbsp;<BR><BR>　　我们看到，通过去掉不相关信息，搜索结果又减少了将近一半。第一个搜索结果是：<BR><BR>搜索引擎直通车≡搜索引擎发展历史<BR>搜索引擎直通车,&nbsp;...&nbsp;搜索引擎专业介绍站点.&nbsp;...&nbsp;<BR>www.se-express.com/about/about.htm&nbsp;-&nbsp;14k&nbsp;-&nbsp;网页快照&nbsp;-&nbsp;类似网页<BR><BR>非常符合搜索要求。另外，第八项搜索结果：<BR><BR>463搜索王<BR>本站检索&nbsp;整个网站&nbsp;在此输入关键词.&nbsp;你的当前<BR>位置：首页&nbsp;&gt;&gt;&nbsp;Internet搜索手册&nbsp;&gt;&gt;&nbsp;搜索引擎的历史.&nbsp;...&nbsp;<BR>www.cnco.net/search/history.htm&nbsp;-&nbsp;21k&nbsp;-&nbsp;网页快照&nbsp;-&nbsp;类似网页<BR><BR>　　也符合搜索要求。但是，10个结果只有两个符合要求，未免太少了点。不过，在没有更好的策略之前，不妨先点开一个结果看看。点开se-express.com的这个名为“搜索引擎发展历史”的网页，我们发现，搜索引擎的历史，是与互联网早期的文件检索工具“Archie”息息相关的。此外，搜索引擎似乎有个核心程序，叫“蜘蛛”，而最早成型的搜索引擎是“Lycos”，使搜索引擎深入人心的是“Yahoo”。了解了这些信息，我们就可以进一步的让搜索结果符合要求了。<BR><BR>　　注意：这里的“&nbsp;”和“-”号，是英文字符，而不是中文字符的“＋”和“－”。此外，操作符与作用的关键字之间，不能有空格。比如“搜索引擎&nbsp;-&nbsp;文化”，搜索引擎将视为关键字为“搜索引擎”和“文化”的逻辑“与”操作，中间的“-”被忽略。<BR><BR>6.3，搜索结果至少包含多个关键字中的任意一个。<BR><BR>　　Google用大写的“OR”表示逻辑“或”操作。搜索“A&nbsp;OR&nbsp;B”，意思就是说，搜索的网页中，要么有A，要么有B，要么同时有A和B。在上例中，我们希望搜索结果中最好含有“archie”、“lycos”、“蜘蛛”等关键字中的一个或者几个，这样可以进一步的精简搜索结果。<BR><BR>示例：搜索如下网页，要求必须含有“搜索引擎”和“历史”，没有“文化”，可以含有以下关键字中人任何一个或者多个：“Archie”、“蜘蛛”、“Lycos”、“Yahoo”。<BR>搜索：“搜索引擎&nbsp;历史&nbsp;archie&nbsp;OR&nbsp;蜘蛛&nbsp;OR&nbsp;lycos&nbsp;OR&nbsp;yahoo&nbsp;-文化”<BR>结果：已搜索有关搜索引擎&nbsp;历史&nbsp;archie&nbsp;OR&nbsp;蜘蛛&nbsp;OR&nbsp;lycos&nbsp;OR&nbsp;yahoo&nbsp;-文化的中文(简体)网页。&nbsp;共约有8,400项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.16秒。<BR><BR>　　我们看到，搜索结果缩小到8千多项，前20项结果中，大部分都符合搜索要求。如果你想了解一下解搜索引擎的历史发展，就不妨研究一下现在搜索到的结果吧。&nbsp;注意：“与”操作必须用大写的“OR”，而不是小写的“or”。<BR><BR>　　在上面的例子中，我介绍了搜索引擎最基本的语法“与”“非”和“或”，这三种搜索语法Google分别用“&nbsp;”（空格）、“-”和“OR”表示。顺着上例的思路，你也可以了解到如何缩小搜索范围，迅速找到目的资讯的一般方法：目标信息一定含有的关键字（用“&nbsp;”连起来），目标信息不能含有的关键字（用“-”去掉），目标信息可能含有的关键字（用“OR”连起来）。<BR><BR><BR><B>7，杂项语法</B><BR><BR>7.1，通配符问题<BR><BR>　　很多搜索引擎支持通配符号，如“*”代表一连串字符，“?”代表单个字符等。Google对通配符支持有限。它目前只可以用“*”来替代单个字符，而且包含“*”必须用""引起来。比如，“"以*治国"”，表示搜索第一个为“以”，末两个为“治国”的四字短语，中间的“*”可以为任何字符。<BR><BR>7.2，关键字的字母大小写<BR><BR>　　Google对英文字符大小写不敏感，“GOD”和“god”搜索的结果是一样的。<BR><BR>7.3，搜索整个短语或者句子<BR><BR>　　Google的关键字可以是单词（中间没有空格），也可以是短语（中间有空格）。但是，用短语做关键字，必须加英文引号，否则空格会被当作“与”操作符。<BR><BR>示例：搜索关于第一次世界大战的英文信息。&nbsp;<BR>搜索：“"world&nbsp;war&nbsp;I"”<BR>结果：已向英特网搜索"world&nbsp;war&nbsp;i".&nbsp;共约有937,000项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.06秒。&nbsp;<BR><BR>7.4，搜索引擎忽略的字符以及强制搜索<BR><BR>　　Google对一些网路上出现频率极高的英文单词，如“i”、“com”、“www”等，以及一些符号如“*”、“.”等，作忽略处理。<BR><BR>示例：搜索关于www起源的一些历史资料。<BR>搜索：“www的历史&nbsp;internet”<BR>结果：以下的字词因为使用过于频繁，没有被列入搜索范围:&nbsp;www&nbsp;的.&nbsp;已搜索有关www的历史&nbsp;internet的中文(简体)网页。&nbsp;共约有75,100项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.22秒。&nbsp;<BR><BR>　　我们看到，搜索“www的历史&nbsp;internet”，但搜索引擎把“www”和“的”都省略了。于是上述搜索只搜索了“历史”和“internet”。这显然不符合要求。这里我顺便说一点搜索引擎分词的知识。当我们在搜索“www的历史”的时候，搜索引擎实际上把这个短语分成三部分，“www”、“的”和“历史”分别来检索，这就是搜索引擎的分词。所以尽管你输入了连续的“www的历史”，但搜索引擎还是把这个短语当成三个关键字分别检索。<BR><BR>　　如果要对忽略的关键字进行强制搜索，则需要在该关键字前加上明文的“+”号。<BR>搜索：“+www&nbsp;+的历史&nbsp;internet”<BR>结果：已搜索有关+www&nbsp;+的历史&nbsp;internet的中文(简体)网页。&nbsp;共约有25,000项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.05秒。&nbsp;<BR><BR>　　另一个强制搜索的方法是把上述的关键字用英文双引号引起来。在上例“”world&nbsp;war&nbsp;I””中，“I”其实也是忽略词，但因为被英文双引号引起来，搜索引擎就强制搜索这一特定短语。<BR><BR>搜索：“"www的历史"&nbsp;internet”<BR>结果：已搜索有关"www的历史"&nbsp;internet的中文(简体)网页。&nbsp;共约有7项查询结果，这是第1-6项&nbsp;。&nbsp;搜索用时0.26秒。&nbsp;<BR><BR>　　我们看到，这一搜索事实上把“www的历史”作为完整的一个关键字。显然，包含这样一个特定短语的网页并不是很多，不过，每一项都很符合要求。<BR><BR>　　注意：大部分常用英文符号（如问号，句号，逗号等）无法成为搜索关键字，加强制也不行。<BR><BR><BR><B>8，进阶搜索</B><BR><BR>　　上面已经探讨了Google的一些最基础搜索语法。通常而言，这些简单的搜索语法已经能解决绝大部分问题了。不过，如果想更迅速更贴切找到需要的信息，你还需要了解更多的东西。<BR><BR>8.1，对搜索的网站进行限制<BR><BR>　　“site”表示搜索结果局限于某个具体网站或者网站频道，如“www.sina.com.cn”、“edu.sina.com.cn”，或者是某个域名，如“com.cn”、“com”等等。如果是要排除某网站或者域名范围内的页面，只需用“-网站/域名”。<BR><BR>示例：搜索中文教育科研网站（edu.cn）上关于搜索引擎技巧的页面。<BR>搜索：“搜索引擎&nbsp;技巧&nbsp;site:edu.cn”<BR>结果：已搜索有关搜索引擎&nbsp;技巧&nbsp;site:edu.cn的中文(简体)网页。&nbsp;共约有608项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.05秒。<BR><BR>示例：上著名IT门户网站ZDNET和CNET搜索一下关于搜索引擎技巧方面的资讯。<BR>搜索：“"search&nbsp;engine"&nbsp;tips&nbsp;site:www.zdnet.com&nbsp;OR&nbsp;site:www.cnet.com”<BR>结果：已在www.zdnet.com内搜索有关"search&nbsp;engine"&nbsp;tips&nbsp;OR&nbsp;site:www.cnet.com的网页。&nbsp;共约有1,040项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.09秒。<BR><BR>　　注意，在这里Google有个小BUG。“已在www.zdnet.com内搜索…”，其实应该表述成“已在www.zdnet.com和www.cnet.com内搜索…”。<BR><BR>示例：搜索新浪科技频道中关于搜索引擎技巧的信息。<BR>搜索：“搜索引擎&nbsp;技巧&nbsp;site:tech.sina.com.cn”<BR>结果：已在tech.sina.com.cn搜索有关搜索引擎&nbsp;技巧&nbsp;的中文(简体)网页。&nbsp;共约有163项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.07秒。&nbsp;<BR><BR>　　注意：site后的冒号为英文字符，而且，冒号后不能有空格，否则，“site:”将被作为一个搜索的关键字。此外，网站域名不能有“http://”前缀，也不能有任何“/”的目录后缀；网站频道则只局限于“频道名.域名”方式，而不能是“域名/频道名”方式。<BR><BR>8.2，在某一类文件中查找信息<BR><BR>　　“filetype:”是Google开发的非常强大实用的一个搜索语法。也就是说，Google不仅能搜索一般的文字页面，还能对某些二进制文档进行检索。目前，Google已经能检索微软的Office文档如.xls、.ppt、.doc，.rtf，WordPerfect文档，Lotus1-2-3文档，Adobe的.pdf文档，ShockWave的.swf文档（Flash动画）等。其中最实用的文档搜索是PDF搜索。PDF是ADOBE公司开发的电子文档格式，现在已经成为互联网的电子化出版标准。目前Google检索的PDF文档大约有2500万左右，大约占所有索引的二进制文档数量的80％。PDF文档通常是一些图文并茂的综合性文档，提供的资讯一般比较集中全面。<BR><BR>示例：搜索几个资产负债表的Office文档。<BR>搜索：“资产负债表&nbsp;filetype:doc&nbsp;OR&nbsp;filetype:xls&nbsp;OR&nbsp;filetype:ppt”<BR>结果：已搜索有关资产负债表&nbsp;filetype:doc&nbsp;OR&nbsp;filetype:xls&nbsp;OR&nbsp;filetype:ppt的中文(简体)网页。&nbsp;共约有481项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.04秒。&nbsp;<BR><BR>　　注意，下载的Office文件可能含有宏病毒，谨慎操作。<BR><BR>示例：搜索一些关于搜索引擎知识和技巧方面的PDF文档<BR>搜索：?quot;search&nbsp;engine"&nbsp;tips&nbsp;OR&nbsp;tutorial&nbsp;filetype:pdf”<BR>结果：已向英特网搜索"search&nbsp;engine"&nbsp;tips&nbsp;OR&nbsp;tutorial&nbsp;filetype:pdf.&nbsp;共约有12,600项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.22秒。<BR><BR>　　我们来看其中的一个结果：<BR><BR>[PDF]Search&nbsp;Engines&nbsp;Tips<BR>文档类型:&nbsp;PDF/Adobe&nbsp;Acrobat&nbsp;-&nbsp;HTML&nbsp;版<BR>...&nbsp;<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.google.com/press/zeitgeist.html&nbsp;" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.google.com/press/zeitgeist.html&nbsp;</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>;See&nbsp;what&nbsp;people&nbsp;are&nbsp;searching&nbsp;on&nbsp;at&nbsp;Google.com<BR>*&nbsp;Search&nbsp;Engine&nbsp;Watch&nbsp;<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://searchenginewatch.com/&nbsp;" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://searchenginewatch.com/&nbsp;</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>;Some&nbsp;free&nbsp;tips&nbsp;...&nbsp;<BR>www.allvertical.com/PromoKits/SearchEngineTips.pdf&nbsp;-&nbsp;类似网页<BR><BR>　　可以看到，Google用[PDF]来标记这是一个PDF的文档检索，另外，它还给出了该PDF文档的HTML版本，该HTML版保留了文档的文字内容和结构，但没有图片。<BR><BR>8.3，搜索的关键字包含在URL链接中<BR><BR>　　“inurl”语法返回的网页链接中包含第一个关键字，后面的关键字则出现在链接中或者网页文档中。有很多网站把某一类具有嗤粜缘淖试疵葡允驹谀柯济苹蛘咄趁浦校热纭癕P3”、“GALLARY”等，于是，就可以用INURL语法找到这些相关资源链接，然后，用第二个关键词确定是否有某项具体资料。INURL语法和基本搜索语法的最大区别在于，前者通常能提供非常精确的专题资料。&nbsp;示例：查找MIDI曲“沧海一声笑”。<BR>搜索：“inurl:midi&nbsp;“沧海一声笑””<BR>结果：已搜索有关inurl:midi&nbsp;"沧海一声笑"的中文(简体)网页。&nbsp;共约有27项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.34秒。&nbsp;<BR><BR>　　注意：“inurl:”后面不能有空格，Google也不对URL符号如“/”进行搜索。例如，Google会把“cgi-bin/phf”中的“/”当成空格处理。<BR><BR>　　“allinurl”语法返回的网页的链接中包含所有作用关键字。这个查询的关键字只集中于网页的链接字符串。<BR><BR>示例：查找可能具有PHF安全漏洞的公司网站。通常这些网站的CGI-BIN目录中含有PHF脚本程序（这个脚本是不安全的），表现在链接中就是“域名/cgi-bin/phf”。<BR>搜索：“allinurl:"cgi-bin"&nbsp;phf&nbsp;+com”<BR>结果：已向英特网搜索allinurl:"cgi-bin"&nbsp;phf&nbsp;+com.&nbsp;共约有51项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.11秒。<BR><BR>8.4，搜索的关键字包含在网页标题中<BR><BR>　　“intitle”和“allintitle”的用法类似于上面的inurl和allinurl，只是后者对URL进行查询，而前者对网页的标题栏进行查询。网页标题，就是HTML标记语言title中之间的部分。网页设计的一个原则就是要把主页的关键内容用简洁的语言表示在网页标题中。因此，只查询标题栏，通常也可以找到高相关率的专题页面。&nbsp;示例：查找日本明星藤原纪香的照片集。<BR>搜索：“intitle:藤原纪香&nbsp;"写真集"”<BR>结果：已搜索有关intitle:藤原纪香&nbsp;"写真集"的中文(简体)网页。&nbsp;共约有315项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.15秒。<BR><BR>8.5，搜索的关键字包含在网页的“锚”（anchor）链点内<BR><BR>　　所谓“锚”，就是在同一个网页中快速切换链接点。与URL和TITLE类似，Google提供了两种对anchor的检索，“inanchor”和“allincnchor”。对此不作详述。<BR><BR><BR><B>9，其他罕用语法</B><BR><BR>9.1，搜索所有链接到某个URL地址的网页<BR><BR>　　如果你拥有一个个人网站，估计很想知道有多少人对你的网站作了链接。而“link”语法就能让你迅速达到这个目的。<BR><BR>示例：搜索所有含指向华军软件园“www.newhua.com”链接的网页。<BR>搜索：“link:www.newhua.com”<BR>结果：搜索有链接到www.newhua.com的网页&nbsp;。&nbsp;共约有920项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.12秒。<BR><BR>　　注意：“link”不能与其他语法相混合操作，所以“link:”后面即使有空格，也将被Google忽略。另外还要说明的是，link只列出Google索引链接很小一部分，而非全部，所以如果你用Google没有搜到链到你的主页的链接，也不必灰心丧气。<BR><BR>　　除了上述功能，link语法还有其它妙用。一般说来，做友情链接的网站都有相似地方。这样，你可以通过这些友情链接，找到一大批具有相似内容的网站。比如说，你是个天文爱好者，你发现某网站非常不错，那么，可以用link语法查一下与之做链接的网站，也许可以找到更多符合你兴趣的内容。<BR><BR>9.2，查找与某个页面结构内容相似的页面<BR><BR>　　“related”用来搜索结构内容方面相似的网页。例：搜索所有与中文新浪网主页相似的页面（如网易首页，搜狐首页，中华网首页等），“related:wwwsina.com.cn/index.shtml”。我到现在也不明白这个语法有什么作用，如果有谁知道，请不吝指教。预先感谢。:)<BR><BR>9.3，从Google服务器上缓存页面中查询信息<BR><BR>　　“cache”用来搜索Google服务器上某页面的缓存，通常用于查找某些已经被删除的死链接网页，相当于使用普通搜索结果页面中的“网页快照”功能。<BR><BR>　　其它罕用语法如info、stock等不一一介绍，有兴趣的读者可以参阅Google大全。<BR><BR><BR><B>10，图片搜索</B><BR><BR>　　Google自称可以检索390,000,000张图片，并称自己为“互联网上最好用的图像搜索工具”。从使用结果来看，Google的图片搜索的确不错，但个人以为比AltaVista的还是要差一些，主要体现在检索图片数量比不上AV，匹配度比AV的图片搜索器也差了些。但AltaVista国内用户无法正常访问，因此对中国用户而言，Google的图片搜索引擎已经是最好的了。<BR><BR>　　Google首页点击“图像”链接就进入了Google的图像搜索界面“images.Google.com”。你可以在关键字栏位内输入描述图像内容的关键字，如“britney&nbsp;spears”，就会搜索到大量的小甜甜布兰妮的图片。我目前尚不是很清楚图片的排列标准，不过以观察来看，似乎图片文件名完全符合关键字的结果排列比较考前，然后才按照普通的页面搜索时的标准排列。<BR><BR>　　Google给出的搜索结果具有一个直观的缩略图（THUMBNAIL），以及对该缩略图的简单描述，如图像文件名称，以及大小等。点击缩略图，页面分成两祯，上祯是图像之缩略图，以及页面链接，而下祯，则是该图像所处的页面。屏幕右上角有一个“Remove&nbsp;Frame”的按钮，可以把框架页面迅速切换到单祯的结果页面，非常方便。<BR><BR>　　Google图像搜索目前支持的语法包括基本的搜索语法如“&nbsp;”、“-”、“OR”、“site”和&nbsp;“filetype:”。其中“filetype:”的后缀只能是几种限定的图片类似，如JPG，GIF等。<BR><BR>示例：查找新浪网上本拉登的图片<BR>搜索：“拉登&nbsp;OR&nbsp;拉丹&nbsp;site:sina.com.cn”<BR>结果：搜索有关&nbsp;拉登&nbsp;OR&nbsp;拉丹&nbsp;site:sina.com.cn&nbsp;的图片。&nbsp;共有6项查询结果，这是第1-6项。&nbsp;搜索用时0.36秒。<BR><BR>　　这里我想说明一点的是，images.google.com作为专门的图片搜索引擎，实际上有其特殊的用途。<BR><BR>　　举个例子，互联网上本拉登的照片成千上万，但是，它们都是分散的，往往随机的分布于各种新闻报道中。如果用搜索图片库的方式（最容易想到的如“Ben&nbsp;Ladin&nbsp;photo”），来搜索本拉登的照片，显然是不恰当的，因为很少有人专门为拉登建一个在线相册。在这个时候，images.google.com就派上用场了。<BR><BR>　　但是，如果查找的图片在网上有很多主题“gallary”，如诸多电影电视明星的照片，则明显就不适合用images.google.com来查找了。<BR><BR>　　images.google.com对于很多报纸杂志的编辑，绝对是一个雪中送炭式的工具。比如要在某个版面上插一张专题图片，用google的图片搜索功能几秒钟就可以搞定。<BR><BR>　　综上，可以有这样的一般性结论：如果要搜索的图片是分散的，则用google图片搜索；如果要搜索的图片通常是处于某个图片集合中的，则不适合用google图片搜索。<BR><BR><BR><B>11，目录检索</B><BR><BR>　　如果不想搜索广泛的网页，而是想寻找某些专题网站，可以访问Google的分类目录“<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://directory.google.com/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://directory.Google.com/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>”，中文目录是“<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://directory.google.com/Top/World/Chinese_Simplified/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://directory.Google.com/Top/World/Chinese_Simplified/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>”。分类的网站目录一般由专人负责，分类明确，信息集中。因此读者应该养成这样的习惯：首先考虑所需要的信息能否在一个专门主题的网站上找到。不过需要说明的是，用目录检索，往往需要用户对查询的领域很熟悉。否则，连查询的内容属于哪个类目都不知道，目录浏览也就无从谈及了。&nbsp;目前Google使用的分类目录采用了ODP的内容。“Open&nbsp;Directory&nbsp;Project”是网景公司所主持的一项大型公共网页目录。由全世界各地的义务编辑人员来审核挑选网页，并依照网页的性质及内容来分门别类。因此，在某一目录门类中进行搜索往往能有更高的命中率。另外，Google根据其专业的“网页级别”（PageRank）技术对目录中登录的网站进行了排序，可以让一般的检索更具高效率。<BR><BR>示例：查找一下介绍搜索引擎方面的中文网站<BR>搜索：先进入中文简体分类目录，再进入“计算机”目录，再进入“互联网络”子目录，再进入“搜寻”子目录。我们看到在“World&nbsp;&gt;&nbsp;Chinese&nbsp;Simplified&nbsp;&gt;&nbsp;计算机&nbsp;&gt;&nbsp;互联网络&nbsp;&gt;&nbsp;搜寻”下，还有两个子目录“分类目录&nbsp;(33)&nbsp;搜索引擎&nbsp;(10)”，以及6个相关网站。显然，这些都是我们所需要的信息。<BR><BR>　　除了用鼠标层层点入，也可以在目录中检索。比如，在上例的“互联网络”目录下，选中“只在互联网络中搜索”选项，在搜索栏内填入“搜索引擎”进行搜索。<BR>结果：在分类Google&nbsp;网页目录项中搜索搜索引擎。&nbsp;共约有387项查询结果，这是第11-20项&nbsp;。&nbsp;搜索用时0.09秒。&nbsp;<BR><BR>　　可以看到，上述查询结果比普通的检索更有效，因为在分类“互联网络”下进行搜索剔除了很多不相关的诸如新闻之类的无效信息。不过，对于中文用户而言，现在最大的问题是志愿的中文目录编辑太少，导致收录站点太少，因此搜索结果范围显得过于狭隘。但愿这个问题能随着Google以及ODP项目在国内名声的响亮而能得到改观。<BR><BR><BR><B>12，新闻组搜索</B><BR><BR>　　新闻组有详尽的分类主题，某些主题还有专人管理和编辑，具有大量的有价值信息。由于新闻组包含的信息实在是海量，因此不利用工具进行检索是不大可能的。DEJA一直是新闻组搜索引擎中的佼佼者。2001年2月份，Google将DEJA收购并提供了所有DEJA的功能。现在，除了搜索之外，Google还支持新闻组的WEB方式浏览和张贴功能。<BR><BR>　　进入Google新闻组“<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://groups.google.com/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://groups.Google.com/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>”，你有两种信息查找方式。一种是一层层的点击进入特定主题讨论组，另一种则是直接搜索。现在，我们进行一个最简单的搜索试验，查找一下新闻组中关于山顶洞人的讨论信息。<BR><BR>搜索：“山顶洞人”<BR>结果：在各群组内搜索&nbsp;山顶洞人&nbsp;共约有2,400项查询结果，这是第1-10项&nbsp;。&nbsp;搜索用时0.94秒。&nbsp;搜索结果默认按照“留言内容”排列，但是你也可以点击“依照日期”按钮，让帖子按照发布日期排列。<BR><BR>　　因为新闻组中的帖子实在是多，而且又涉及一些普通搜索所没有的语法，所以建议使用“高级群组搜寻”进入高级搜索界面。新闻组高级搜索提供留言内容、分类主题、标题、留言者、留言代码、语言和发布日期作为条件进行搜索。其中作者项指作者发帖所用的唯一识别号电子信箱。<BR><BR><BR><B>13，Google的其他杰出功能</B><BR><BR>13.1网页快照<BR><BR>　　网页快照是Google抓下来缓存在服务器上的网页。它有三个作用：<BR><BR>第一，&nbsp;如果原地址打开很慢，那么可以直接查看Google缓存页面，因为Google服务器速度极快。<BR><BR>第二，&nbsp;如果原链接已经死掉或者因为网络的原因暂时链接不通，那么可以通过Google快照看到该页面信息。当然，快照内容不是该页最新页面。<BR><BR>第三，&nbsp;如果打开的页面信息量巨大，一下子找不到关键词所在位置，那么可以通过Google快照，因为快照中Google用黄色表明关键字位置。<BR><BR>13.2，集成化的工具条<BR><BR>　　为了方便搜索者，Google提供了工具条，集成于浏览器中，用户无需打开Google主页就可以在工具条内输入关键字进行搜索。此外，工具条还提供了其他许多功能，如显示页面PageRank等。最方便的一点在于用户可以快捷的在Google主页、目录服务、新闻组搜索、高级搜索和搜索设定之间切换。欲安装Google的工具条，可以访问“<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://toolbar.google.com/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://toolbar.Google.com/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>”，按页面提示可以自动下载并安装。不过，Google工具条目前只支持IE5.0以上版本。<BR><BR>　　对于经常进行网络搜索者而言，Google工具条实在是必备的东西！！<BR><BR>13.3，单词英文解释<BR><BR>　　写英文文章的时候，最头疼的事情就是对某个英文单词的用法不确定。现在有了Google，一切就迎刃而解了！无论你是想查找某个生词的意思还是想了解某个单词的用法，均可使用在线词典。<BR><BR>　　进入英文Google，输入你要查的单词。举个例子，我想查一下suggest的用法。结果如下：“Searched&nbsp;the&nbsp;web&nbsp;for&nbsp;suggest.&nbsp;Results&nbsp;1&nbsp;-&nbsp;10&nbsp;of&nbsp;about&nbsp;8,000,000.&nbsp;Search&nbsp;took&nbsp;0.08&nbsp;seconds.&nbsp;”注意看上面句子中，单词suggest下出现了一个横线，点击这个链接，就跳转到另外一个网站“<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.dictionary.com/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.dictionary.com/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>”，Google已经把单词提交给该网站的查询脚本。看看这个网站所提供的详尽解释吧。:)<BR><BR>13.4，网页翻译<BR><BR>　　你懂英文，但是你不见得就懂德文、法文、拉丁文。如果搜索出来的页面是这些语言怎么办？呵呵，Google提供了网页翻译功能！！虽然目前只支持有限的拉丁语、法语、西班牙语、德语和葡萄牙文，但是我不得不承认，这是个杰出功能。<BR><BR>　　试着做以下搜索：“big&nbsp;bang&nbsp;site:fr”。这个表示查找关于宇宙大爆炸的法文网页。看第一条结果：<BR><BR>The&nbsp;Big&nbsp;Bang&nbsp;Website&nbsp;-&nbsp;[&nbsp;Translate&nbsp;this&nbsp;page&nbsp;]<BR>...&nbsp;A&nbsp;propos&nbsp;de&nbsp;Big&nbsp;Bang.&nbsp;Le&nbsp;dernier&nbsp;numéro&nbsp;en&nbsp;date.&nbsp;Les&nbsp;anciens&nbsp;numéros.&nbsp;Autres<BR>activités.&nbsp;Concerts&nbsp;progressifs&nbsp;en&nbsp;France.&nbsp;Emissions&nbsp;de&nbsp;radio.&nbsp;Liens.&nbsp;<BR>perso.club-internet.fr/calyx/bigbang/&nbsp;-&nbsp;3k&nbsp;-&nbsp;Cached&nbsp;-&nbsp;Similar&nbsp;pages<BR><BR>　　有点晕。没关系，点击“Translate&nbsp;this&nbsp;page”按钮。再看结果，嗯，大致能看明白，这原来是个叫“big&nbsp;bang”的乐队的网站，与大爆炸无关...<BR><BR>　　机器翻译是一个很前沿的人工智能课题，想指望翻译出来的结果跟专门用英语撰写的内容是不可能的。但西文间的互相转译比中英文机译强得多得多了。至少能看明白。<BR><BR>13.5，单词纠错<BR><BR>　　笔者记忆力很差，英文单词经常拼写错误。但Google有纠错功能。比如在写上文的时候，我要用到英文单词“tutorial”，我只是依稀记得好像是“tatorial”的样子，但不肯定，于是用Google查了一下，它马上提醒：“您要找的会不会是：&nbsp;tutorial&nbsp;”，呵呵，正是这个单词。<BR><BR>13.6，繁简转换<BR><BR>　　对中文用户而言，常希望能同时检索繁体和简体信息。Google能做到这一点。Google默认使用繁简自动转换功能，因此你输入的简体关键字也将被转换成繁体做检索。这样省了不少力气。当然，如果你不希望这样的话，也可以在“使用偏好”中把这个选项关掉。<BR><BR>13.7，搜索结果过滤<BR><BR>　　网络上的成人内容浩如烟海，而且很多站点具有欺骗或者其他不良企图，浏览者很容易掉入其中的陷阱。为此，Google新设立了成人内容过滤功能，见Google的设置页面，<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.google.com/preferences" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.Google.com/preferences</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>，最底下有一个选项SafeSearch&nbsp;Filtering。不过，中文状态下的Google尚没有这个功能。<BR><BR><BR><B>14，Google尚未发布的一些新特性和功能</B><BR><BR>14.1，对网页更新日期做出限定“daterange:”<BR><BR>　　评价一个搜索引擎的好坏，更新频率是一个很关键因素。通常情况下，我们总希望能找到最新的网页。Google已经开发了对更新日期做限定的搜索语法，但目前还未公布。而且比较麻烦的是，Google现在支持的日期格式为julian（凯撒日）格式，把通用日期数值切换成julian格式需要借助第三方网站：<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.tesre.bo.cnr.it/~mauro/JD/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.tesre.bo.cnr.it/~mauro/JD/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>。不过，在下面这个自称是“Google终极搜索界面”的网页上，你已经可以利用Google的这项新特性了，它自动提供日期转换功能。<BR><BR>Google&nbsp;Ultimate&nbsp;Interface：<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.faganfinder.com/google.html" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.faganfinder.com/google.html</FONT></A><BR><BR><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>　　Google为什么要这样做呢？也许是在测试阶段，不想让太多人使用吧。:)<BR><BR>14.2，新闻搜索“<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://news.google.com/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://news.google.com/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>”<BR><BR>　　Google的新闻搜索尚在B测试阶段，但使用起来已经非常不错了。新闻首页按头条新闻，各国新闻，以及不同领域做了分类。你可以通过Google搜索各大门户和新闻网站的新闻，简单、快捷、方便。遗憾的是，目前Google新闻只检索英文信息。<BR><BR>14.3，分类广告搜索“<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://catalogs.google.com/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://catalogs.google.com/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>”<BR><BR>　　这也在B测试阶段。主要是对电子分类广告做检索。广告页为JPG图片格式。<BR><BR>14.4，其它Google的最新发展动态<BR><BR>　　想了解Google公司的工程师们都在忙些什么吗？去看一下Google实验室（<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://labs.google.com/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://labs.google.com/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>）吧。Google的最新设想都在这个地方向访问者展现出来。现在处于发展和试验阶段的新功能有：术语查询、语音查询、键盘查询等等。<BR><BR>　　网络工程师和程序员可以看看这个地方：<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.google.com/apis/" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.google.com/apis/</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>，我想可以让你喜出望外的。<BR><BR>14.5，一个有趣的地方<BR><BR>　　想看看世界各国网民都用Google搜索什么信息么？到<IMG src="http://www.matrix.org.cn/images/small/url.gif" align=absMiddle></FONT><A href="http://www.google.com/press/zeitgeist.html" target=_blank><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>http://www.google.com/press/zeitgeist.html</FONT></A><FONT style="BACKGROUND-COLOR: #ffffff" color=#808080 size=2>看一下就知道了。从这些资讯中，你大致可以了解到世界热点和流行时尚走向。:)<BR><BR><BR><B>15，后记</B><BR><BR>　　这个文章4.0版本与3.0版本相比，变更很大，主要把一些与Google无关的东西删除了，另外随Google的变化作了一些修正，并增加了一些Google尚未发布的新功能。关于搜索技巧和搜索实例，是各个搜索引擎共通的东西，是搜索者长期的经验积累，要写出来，是件工程很浩大的事情，因此在这个小文章中我就不献丑了。<BR><BR>　　随着时间的推移，我发现搜索已经成为网络生活的一部分。工作需要搜索技术文档、客户信息；购物需要搜索商品信息和指南；娱乐需要搜索相关背景资料和图片。搜索已经变得无处不在，而Google则相应的成了工作和生活中的一个必备工具。套用雅虎的一句广告词，我们也许应该这样说：“今天你Google了吗？” </FONT><img src ="http://www.blogjava.net/zool/aggbug/3448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 11:21 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3448.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java经典答疑(全)</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3447.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 03:16:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3447.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3447.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3447.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3447.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3447.html</trackback:ping><description><![CDATA[<P><FONT size=2>Q1.1 什么是Java、Java2、JDK？JDK后面的1.3、1.4版本号又是怎么回事？<BR>答：Java是一种通用的，并发的，强类型的，面向对象的编程语言（摘自Java规范第二版<BR>）。<BR>JDK是Sun公司分发的免费Java开发工具包，正式名称为J2SDK(Java2 Software Develop K<BR>it)。<BR>包括基本的java工具包和标准类库。<BR>到目前(2003年7月)为止，Java有3个主要版本，即1.0，1.1，2.0；<BR>JDK有1.0，1.1，1.2，1.3，1.4五个版本。<BR>从JDK1.2起，Sun公司觉得Java改变足够大而将java语言版本号提升为2.0。<BR>不同的JDK主要在于提供的类库不同。作为学习你可以下载最新的JDK1.4.2。<BR>真正开发时则应考虑向前兼容，比如1.3。下载请去</FONT><A href="http://java.sun.com/"><FONT size=2>http://java.sun.com</FONT></A><FONT size=2>。<BR>JDK1.5预计将在2004年推出，届时其中将包含若干崭新的特性。</FONT></P>
<P><FONT size=2>Q1.2 什么是JRE/J2RE？<BR>答：J2RE是Java2 Runtime Environment，即Java运行环境，有时简称JRE。<BR>如果你只需要运行Java程序或Applet，下载并安装它即可。<BR>如果你要自行开发Java软件，请下载JDK。在JDK中附带有JRE。<BR>注意由于Microsoft对Java的支持不完全，请不要使用IE自带的虚拟机来运行Applet，务必<BR>安装一个JRE或JDK。</FONT></P>
<P><FONT size=2>Q1.3 学习Java用什么工具比较好？<BR>答：作者建议首先使用JDK+文本编辑器，这有助你理解下列几个基础概念：path，classp<BR>ath，package <BR>并熟悉基本命令：javac和java。并且下载和你的JDK版本一致的API帮助。<BR>如果你不确定类或函数的用法，请先查阅API而不是发贴求助。<BR>当你熟悉Java之后，你可以考虑开始使用一个IDE。<BR>作者推荐eclipse，下载网址</FONT><A href="http://www.eclipse.org/"><FONT size=2>http://www.eclipse.org</FONT></A><FONT size=2>。因为eclispe是免费的，插件化的<BR>。<BR>eclispe的主要缺点是缺乏一个可视化的桌面程序开发工具，<BR>幸运的是IBM在2003年11月已经将部分代码捐给eclipse组织，可以预计这个缺点很快就会<BR>得到弥补。<BR>无论如何，请不要使用Microsoft的VJ++！众所周知Microsoft从来就没有认真支持过Java<BR>。<BR>最后但并非最不重要，要有一本好的参考书，并且英文要过关。</FONT></P>
<P><FONT size=2>Q1.4&nbsp; 学习Java有哪些好的参考书？<BR>答：作者首先推荐Thinking in Java，中文名《Java编程思想》，有中文版。<BR>目前的最新版本是第三版。<BR>在</FONT><A href="http://64.78.49.204/"><FONT size=2>http://64.78.49.204</FONT></A><FONT size=2>可以免费下载英文版。<BR>该书第一章介绍了很多面向对象的编程思想，作为新手应当认真阅读。<BR>除此以外，O'relly出版社和Wrox出版社的书也不错。作者本人不喜欢大陆作者的书。<BR>也许你觉得英文太难，但是网上大多数资料都是英文的。另外，你需要经常查阅API，而那<BR>也是英文的。</FONT></P>
<P><FONT size=2>Q1.5&nbsp; Java和C++哪个更好？<BR>答：这个问题是一个很不恰当的问题。你应该问：Java和C++哪个更适用于我的项目？<BR>Java的优点和缺点一样明显。<BR>跨平台是Java的主要优点，但代价是运行速度的下降。<BR>VC和Windows平台有良好的集成和足够快的速度，但是也只能局限在Windows平台上。<BR>和C++相比，Java学起来更快，开发人员不会碰到很多容易出错的特性。<BR>但是VB程序员甚至只需要拼装模块就可以了。</FONT></P>
<P><FONT size=2>Q1.6&nbsp; 什么是J2SE/J2EE/J2ME？<BR>答：J2SE就是一般的Java。<BR>J2ME是针对嵌入式设备的，比如支持Java的手机，它有自己的JRE和SDK。<BR>J2EE是一组用于企业级程序开发的规范和类库，它使用J2SE的JRE。<BR>Q2.1&nbsp; 我写了第一个Java程序，应该如何编译/运行？<BR>答：首先请将程序保存为xxx.java文件，注意你可能需要修改文件后缀名。<BR>然后在dos窗口下使用javac xxx.java命令，你会发现该目录下多了一个xxx.class文件，</FONT></P>
<P><FONT size=2>再使用java xxx命令，你的java程序就开始运行了。</FONT></P>
<P><FONT size=2>Q2.2&nbsp; 我照你说的做了，但是出现什么“'javac' 不是内部或外部命令，也不是可运行的<BR>程序或批处理文件。”。<BR>答：你遇到了path问题。操作系统在一定的范围(path)内搜索javac.exe，但是没能找到。</FONT></P>
<P><FONT size=2>请编辑你的操作系统环境变量，新增一个JAVA_HOME变量，设为你JDK的安装目录，<BR>再编辑Path变量，加上一项 %JAVA_HOME%\bin。<BR>然后保存并新开一个dos窗口，你就可以使用javac和java命令了。</FONT></P>
<P><FONT size=2>Q2.3&nbsp; 环境变量怎么设置？<BR>答：请向身边会设的人咨询。</FONT></P>
<P><FONT size=2>Q2.4&nbsp; 我在javac xxx.java的时候显示什么“unreported exception java.io.IOExcepti<BR>on;”。<BR>答：参见Q4.8以了解java中的异常机制。</FONT></P>
<P><FONT size=2>Q2.5&nbsp; javac xxx.java顺利通过了，但是java xxx的时候显示什么“NoClassDefFoundErr<BR>or”。<BR>答：1. 你遇到了classpath问题。java命令在一定的范围(classpath)内搜索你直接或间接<BR>使用的class文件，但是未能找到。<BR>首先请确认你没有错敲成java xxx.class，<BR>其次，检查你的CLASSPATH环境变量，其实你并不需要设置该变量，<BR>但如果你设置了该变量又没有包含.（代表当前目录）的项，<BR>你就会遇到这个问题。请在你的CLASSPATH环境变量中加入一项. 或干脆删掉这个变量。</FONT></P>
<P><FONT size=2>2. 如果你使用了并非JDK自带的标准包，比如javax.servlet.*包，也会遇到这个问题，请<BR>将相应的jar文件加入classpath。<BR>3. 如果你在java源文件中定义了package，请参见Q2.11。</FONT></P>
<P><BR><FONT size=2>Q2.6&nbsp; 我在java xxx的时候显示“Exception in thread "main" java.lang.NoSuchMetho<BR>dError: main”。<BR>答：首先，在你的程序中每个java文件有且只能有一个public类，<BR>这个类的类名必须和文件名的大小写完全一样。<BR>其次，在你要运行的类中有且只能有一个public static void main(String[] args)方法<BR>，<BR>这个方法就是你的主程序。</FONT></P>
<P><BR><FONT size=2>Q2.7&nbsp; 在java xxx的时候显示“Exception in thread "main" java.lang.NullPointerEx<BR>ception”。<BR>答：在程序中你试图在值为null的对象变量上调用方法，请检查你的程序确保你的对象被恰当的初始化。<BR>参见Q4.8以了解java中的异常机制。</FONT></P>
<P><BR><FONT size=2>Q2.8 package是什么意思？怎么用？<BR>答：为了唯一标识每个类并分组，java使用了package的概念。<BR>每个类都有一个全名，例如String的全名是java.lang.String，其中java.lang是包名，S<BR>tring是短名。按照java命名惯例，包名是全部小写的，而类名的第一个字母是大写的。<BR>这样，如果你自行定义了同样名字的类String，你可以把它放在mypackage中，<BR>通过使用全名mypackage.String和java.lang.String来区分这两个类。<BR>同时，将逻辑上相关的类放在同一个包中，可以使程序结构更为清楚。<BR>为了定义包，你要做的就是在java文件开头加一行“package mypackage;”。<BR>注意包没有嵌套或包含关系，mypackage包和mypackage.mysubpackage包对JRE来说是并列的两个包（虽然开发者可<BR>能暗示包含关系）。</FONT></P>
<P><FONT size=2>Q2.9 我没有声明任何package会怎么样？<BR>答：你的类被认为放在默认包中。这时全名和短名是一致的。</FONT></P>
<P><FONT size=2>Q2.10 在一个类中怎么使用其他类？<BR>答：如果你使用java.lang包或者默认包中的类，不用做任何事。<BR>如果你的类位于mypackage包中，并且要调用同一包中的其他类，也不用做任何事。<BR>如果你使用其他包中的类，在package声明之后，类声明之前使用import otherpackage1.Class<BR>1; 或 import otherpackage2.*;&nbsp; <BR>这里.*表示引入这个包中的所有类。然后在程序中你可以使用其他类的短名。<BR>如果短名间有重名冲突，必须使用全名来区分。<BR>注意在使用其他包中的类时，你只能使用public的类和接口，参见Q5.4。</FONT></P>
<P><FONT size=2>Q2.11 我用了package的时候显示"NoClassDefFoundError"，但是我把所有package去掉的<BR>时候能正常运行。<BR>答：将你的java文件按包名组织存放。<BR>比如你的工作目录是/work，你的类是package1.Class1，那么将它存放为/work/package1<BR>/Class1.java。<BR>如果没有声明包，那么直接放在/work下。<BR>在/work下执行javac package1/class1.java，再执行java package1.class1，你会发现一<BR>切正常。<BR>另外，如果你的类的个数已经多到了你需要使用包来组织的话，你可以考虑开始使用IDE。</FONT></P>
<P><FONT size=2>Q2.12 我想把java编译成exe文件，该怎么做？<BR>答：JDK只能将java源文件编译为class文件。<BR>class文件是一种跨平台的字节码，必须依赖平台相关的JRE来运行。Java以此来实现跨平<BR>台性。<BR>有些开发工具可以将java文件编译为exe文件。作者反对这种做法，因为这样就取消了跨平<BR>台性。<BR>如果你确信你的软件只在Windows平台上运行，你可以考虑使用C++/C#来编程。</FONT></P>
<P><FONT size=2>Q2.13 我在编译的时候遇到什么"deprecated API"，是什么意思？<BR>答：所谓deprecated是指已经过时，但是为了向前兼容起见仍然保留的方法。<BR>这些方法可能会在以后取消支持。你应当改用较新的方法。<BR>在API里面会说明你应当用什么方法来代替之。<BR></FONT></P>
<P><FONT size=2>Q3.1 我怎么给java程序加启动参数，就像dir /p/w那样？<BR>答：还记得public static void main(String[] args)吗？这里的args就是你的启动参数<BR>。<BR>在运行时你输入java package1.class1 arg1 arg2，args中就会有两个String，第一个是<BR>arg1，第二个是arg2。</FONT></P>
<P><FONT size=2>Q3.2 我怎么从键盘输入一个int/double/字符串？<BR>答：java的I/O操作比C++要复杂一点。如果要从键盘输入，样例代码如下：<BR>BufferedReader cin = new BufferedReader( new InputStreamReader( System.in ) );</FONT></P>
<P><FONT size=2>String s = cin.readLine();<BR>这样你就获得了一个字符串，如果你需要数字的话再使用：<BR>int n = Integer.parseInt( s ); 或者 double d = Double.parseDouble( s );<BR>来将字符串"534"转换成int或double。</FONT></P>
<P><FONT size=2>Q3.3 我怎么输出一个int/double/字符串？<BR>答：使用System.out.println(n)或者System.out.println("Hello")等等。</FONT></P>
<P><FONT size=2>Q3.4 我发现有些书上直接用System.in输入，比你要简单得多。<BR>答：java使用unicode，是双字节。而System.in是单字节的stream。<BR>如果你要输入双字节文字比如中文，请使用作者的做法。</FONT></P>
<P><FONT size=2>Q3.5 我怎么从文件输入/输出一个int/double/字符串？<BR>答：类似于从键盘输入，只不过换成<BR>BufferedReader fin = new BufferedReader( new FileReader(" myFileName " ) );<BR>PrintWriter fout = new PrintWriter( new FileWriter(" myFileName " ) );<BR>另外如果你还没下载API，请开始下载并阅读java.io包中的内容。</FONT></P>
<P><FONT size=2>Q3.6 我想读写文件的指定位置，该怎么办？<BR>答：java.io.RandomAccessFile可以满足你的需要。</FONT></P>
<P><FONT size=2>Q3.7 怎么判断要读的文件已经到了尽头？<BR>答：在Reader的read方法中明确说明返回-1表示流的结尾。</FONT></P>
<P><FONT size=2>四、 关键字篇</FONT></P>
<P><FONT size=2>Q4.1&nbsp; java里面怎么定义宏？<BR>答：java不支持宏，因为宏代换不能保证类型安全。<BR>如果你需要定义常量，可以将它定义为某个类的static final成员。参见Q4.2和Q4.6。</FONT></P>
<P><BR><FONT size=2>Q4.2&nbsp; java里面没法用const。<BR>答：你可以用final关键字。例如 final int m = 9。被声明为final的变量不能被再次赋<BR>值。唯一的例外是所谓blank final，如下例所示：<BR>public class MyClass1 {<BR>&nbsp;&nbsp;&nbsp; private final int a = 3;<BR>&nbsp;&nbsp;&nbsp; private final int b; // blank final</FONT></P>
<P><FONT size=2>&nbsp;&nbsp;&nbsp; public MyClass1() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = 5; // 不合法，final变量不能被再次赋值。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b = 4; // 合法，这是b第一次被赋值。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b = 6; // 不合法，b不能被再次赋值。<BR>&nbsp;&nbsp;&nbsp; }<BR>}<BR>final也可以用于声明方法或类，被声明为final的方法或类不能被继承。<BR>注意const是java的保留字以备扩充。</FONT></P>
<P><FONT size=2>Q4.3&nbsp; java里面也不能用goto。<BR>答：甚至在面向过程的语言中你也可以完全不用goto。请检查你的程序流程是否合理。</FONT></P>
<P><FONT size=2>如果你需要从多层循环中迅速跳出，java增强了（和C++相比）break和continue的功能，<BR>支持label。<BR>例如：<BR>outer : <BR>while( ... )<BR>{<BR>&nbsp;inner :<BR>&nbsp;for( ... )<BR>&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...&nbsp;&nbsp; break inner; ...<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... continue outer; ...<BR>&nbsp;}<BR>}<BR>和const一样，goto也是java的保留字以备扩充。</FONT></P>
<P><FONT size=2>Q4.4&nbsp; java里面能不能重载操作符？<BR>答：不能。String的+号是唯一一个内置的重载操作符。你可以通过定义接口和方法来实现<BR>类似功能。</FONT></P>
<P><FONT size=2>Q4.5&nbsp; 我new了一个对象，但是没法delete掉它。<BR>答：java有自动内存回收机制，即所谓Garbarge Collection。你不需要删除对象。你再也<BR>不用担心指针错误，内存溢出了。</FONT></P>
<P><FONT size=2>Q4.6&nbsp; 我想知道为什么main方法必须被声明为public static？为什么在main方法中不能调<BR>用非static成员？<BR>答：声明为public是为了这个方法可以被外部调用，详情见Q5.4。<BR>static是为了将某个成员变量/方法关联到类（class）而非实例（instance）。<BR>你不需要创建一个对象就可以直接使用这个类的static成员，因而在static成员中不能调<BR>用非static成员，因为后者是关联到对象实例（instance）的。<BR>在A类中调用B类的static成员可以使用B.staticMember的写法。<BR>注意一个类的static成员变量是唯一的，被所有该类对象所共享的，在多线程程序设计中尤其要谨慎小心。<BR>类的static成员是在类第一次被JRE装载的时候初始化的。<BR>你可以使用如下方法来使用非static成员：<BR>public class A<BR>{<BR>&nbsp;&nbsp;&nbsp; private void someMethod() //非static成员<BR>&nbsp;&nbsp;&nbsp; {}<BR>&nbsp;&nbsp;&nbsp; public static void main(String args)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A a = new A();&nbsp; //创建一个对象实例<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.someMethod();&nbsp; //现在你可以使用非static方法了<BR>&nbsp;&nbsp;&nbsp; }<BR>}</FONT></P>
<P><BR><FONT size=2>Q4.7&nbsp; throw和throws有什么不同？<BR>答：throws用于方法声明中，声明一个方法会抛出哪些异常。而throw是在方法体中实际执行抛出异常的<BR>动作。<BR>如果你在方法中throw一个异常，却没有在方法声明中声明之，编译器会报错。<BR>注意Error和RuntimeException的子类是例外，无需特别声明。</FONT></P>
<P><FONT size=2>Q4.8&nbsp; 什么是异常？<BR>答：异常最早在Ada语言中引入，用于在程序中动态处理错误并恢复。<BR>你可以在方法中拦截底层异常并处理之，也可以抛给更高层的模块去处理。<BR>你也可以抛出自己的异常指示发生了某些不正常情况。常见的拦截处理代码如下：<BR>try<BR>{<BR>&nbsp;......//以下是可能发生异常的代码<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...... //异常被你或低层API抛出，执行流程中断并转向拦截代码。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...... <BR>}<BR>catch(Exception1 e) //如果Exception1是Exception2的子类并要做特别处理，应排在前<BR>面<BR>{<BR>&nbsp; //发生Exception1时被该段拦截<BR>}<BR>catch(Exception2 e)<BR>{<BR>&nbsp; //发生Exception2时被该段拦截<BR>}<BR>finally //这是可选的<BR>{<BR>&nbsp;&nbsp; //无论异常是否发生，均执行此段代码<BR>&nbsp;&nbsp; //即使在catch段中又向外抛出了新的exception，finally段也会得到执行。<BR>}</FONT></P>
<P><FONT size=2>5.1&nbsp; extends和implements有什么煌?BR&gt;答：对于class而言，extends用于（单）继承一个类（class），而implements用于实现一个接口（interf<BR>ace）。<BR>interface的引入是为了部分地提供多继承的功能。<BR>在interface中只需声明方法头，而将方法体留给实现的class来做。<BR>这些实现的class的实例完全可以当作interface的实例来对待。<BR>在interface之间也可以声明为extends（多继承）的关系。<BR>注意一个interface可以extends多个其他interface。</FONT></P>
<P><FONT size=2>Q5.2&nbsp; java怎么实现多继承？<BR>答：java不支持显式的多继承。<BR>因为在显式多继承的语言例如c++中，会出现子类被迫声明祖先虚基类构造函数的问题，</FONT></P>
<P><FONT size=2>而这是违反面向对象的封装性原则的。<BR>java提供了interface和implements关键字来部分地实现多继承。参见Q5.1。</FONT></P>
<P><FONT size=2>Q5.3 abstract是什么？<BR>答：被声明为abstract的方法无需给出方法体，留给子类来实现。<BR>而如果一个类中有abstract方法，那么这个类也必须声明为abstract。<BR>被声明为abstract的类无法实例化，尽管它可以定义构造方法供子类使用。</FONT></P>
<P><FONT size=2>Q5.4 public,protected,private有什么不同？<BR>答：这些关键字用于声明类和成员的可见性。<BR>public成员可以被任何类访问，<BR>protected成员限于自己和子类访问，<BR>private成员限于自己访问。<BR>Java还提供了第四种的默认可见性，一般称为package private，当没有任何public,protected,private修饰符时，成员<BR>是同一包内可见。<BR>类可以用public或默认来修饰。</FONT></P>
<P><FONT size=2>Q5.5 Override和Overload有什么不同？<BR>答：Override是指父类和子类之间方法的继承关系，这些方法有着相同的名称和参数类型<BR>。<BR>Overload是指同一个类中不同方法（可以在子类也可以在父类中定义）间的关系，<BR>这些方法有着相同的名称和不同的参数类型。</FONT></P>
<P><BR><FONT size=2>Q5.6 我继承了一个方法，但现在我想调用在父类中定义的方法。<BR>答：用super.xxx()可以在子类中调用父类方法。</FONT></P>
<P><FONT size=2>Q5.7 我想在子类的构造方法中调用父类的构造方法，该怎么办？<BR>答：在子类构造方法的第一行调用super(...)即可。</FONT></P>
<P><FONT size=2>Q5.8 我在同一个类中定义了好几个构造方法并且想在一个构造方法中调用另一个。<BR>答：在构造方法第一行调用this(...)。</FONT></P>
<P><FONT size=2>Q5.9 我没有定义构造方法会怎么样？<BR>答：自动获得一个无参数的构造方法。</FONT></P>
<P><FONT size=2>Q5.10 我调用无参数的构造方法失败了。<BR>答：如果你至少定义了一个构造方法，就不再有自动提供的无参数的构造方法了。<BR>你需要另外显式定义一个无参数的构造方法。<BR>另外一种可能是你的构造方法或者类不是public的，参见Q5.4了解java中的可见性。</FONT></P>
<P><FONT size=2>Q5.11 我该怎么定义类似于C++中的析构方法（destructor）？<BR>答：提供一个void finalize()方法。在Garbarge Collector回收该对象时会调用该方法。</FONT></P>
<P><FONT size=2>注意实际上你很难判断一个对象会在什么时候被回收。作者从未感到需要用到该方法。</FONT></P>
<P><BR><FONT size=2>Q5.12 我想将一个父类对象转换成一个子类对象该怎么做？<BR>答：强制类型转换。如<BR>public void meth(A a)<BR>{<BR>&nbsp;B b = (B)a;<BR>}<BR>如果a实际上并不是B的实例，会抛出ClassCastException。所以请确保a确实是B的实例。</FONT></P>
<P><BR><FONT size=2>Q5.13 其实我不确定a是不是B的实例，能不能分情况处理？<BR>答：可以使用instanceof操作符。例如<BR>if( a instanceof B )<BR>{<BR>&nbsp;B b = (B)a;<BR>}<BR>else<BR>{<BR>&nbsp;...<BR>}</FONT></P>
<P><FONT size=2>Q5.14 我在方法里修改了一个对象的值，但是退出方法后我发现这个对象的值没变！<BR>答：很可能你把传入参数重赋了一个新对象，例如下列代码就会造成这种错误：<BR>public void fun1(A a) //a是局部参数，指向了一个外在对象。<BR>{<BR>&nbsp;a = new A(); //a指向了一个新对象，和外在对象脱钩了。如果你要让a作为传出变量，<BR>不要写这一句。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.setAttr(attr);//修改了新对象的值，外在对象没有被修改。<BR>}<BR>基本类型也会出现这种情况。例如：<BR>public void fun2(int a)<BR>{<BR>&nbsp;a = 10;//只作用于本方法，外面的变量不会变化。<BR>}</FONT></P>
<P><FONT size=2></FONT>&nbsp;</P>
<P><FONT size=2>Q6.1 java能动态分配数组吗？<BR>答：可以。例如int n = 3; Language[] myLanguages = new Language[n];</FONT></P>
<P><FONT size=2>Q6.2 我怎么知道数组的长度？<BR>答：用length属性。如上例中的&nbsp; myLanguages.length 就为 3。</FONT></P>
<P><FONT size=2>Q6.3 我还想让数组的长度能自动改变，能够增加/删除元素。<BR>答：用顺序表--java.util.List接口。<BR>你可以选择用ArrayList或是LinkedList，前者是数组实现，后者是链表实现。<BR>例如：&nbsp; List list = new ArrayList(); 或是 List list = new LinkedList();&nbsp; 。</FONT></P>
<P><FONT size=2>Q6.4 什么是链表？为什么要有ArrayList和LinkedList两种List？<BR>答：请补习数据结构。</FONT></P>
<P><FONT size=2>Q6.5 我想用队列/栈。<BR>答：用java.util.LinkedList。</FONT></P>
<P><FONT size=2>Q6.6 我希望不要有重复的元素。<BR>答：用集合--java.util.Set接口。例如：Set set = new HashSet()。</FONT></P>
<P><FONT size=2>Q6.7 我想遍历集合/Map。<BR>答：用java.util.Iterator。参见API。</FONT></P>
<P><FONT size=2>Q6.8 我还要能够排序。<BR>答：用java.util.TreeSet。例如：Set set = new TreeSet()。放进去的元素会自动排序<BR>。<BR>你需要为元素实现Comparable接口，还可能需要提供equals()方法，compareTo()方法，h<BR>ashCode()方法。</FONT></P>
<P><FONT size=2>Q6.9 但是我想给数组排序。<BR>答：java.util.Arrays类包含了sort等实用方法。</FONT></P>
<P><FONT size=2>Q6.10 我想按不同方式排序。<BR>答：为每种方式定义一个实现了接口Comparator的排序类并和Arrays或TreeSet综合运用。</FONT></P>
<P><BR><FONT size=2>Q6.11 Map有什么用？<BR>答：存储key-value的关键字-值对，你可以通过关键字来快速存取相应的值。</FONT></P>
<P><FONT size=2>Q6.12 set方法没问题，但是get方法返回的是Object。<BR>答：强制类型转换成你需要的类型。参见Q5.12。</FONT></P>
<P><FONT size=2>Q6.13 ArrayList和Vector有什么不同？HashMap和Hashtable有什么不同？<BR>答：ArrayList和HashMap是多线程不安全的，在多个线程中访问同一个ArrayList对象可能<BR>会引起冲突并导致错误。<BR>而Vector和Hashtable是多线程安全的，即使在多个线程中同时访问同一个Vector对象也不<BR>会引起差错。<BR>看起来我们更应该使用Vector和Hashtable，但是实际上Vector和Hashtable的性能太差，<BR>所以如果你不在多线程中使用的话，还是应该用ArrayList和HashMap。</FONT></P>
<P><FONT size=2>Q6.14 我要获得一个随机数。<BR>答：使用java.util.Random类。</FONT></P>
<P><FONT size=2>Q6.15 我比较两个String总是false，但是它们明明都是"abc" ！<BR>答：比较String一定要使用equals或equalsIgnoreCase方法，不要使用 == ！<BR>==比较的是两个引用（变量）是否指向了同一个对象，而不是比较其内容。</FONT></P>
<P><FONT size=2>Q6.16 我想修改一个String但是在String类中没找到编辑方法。<BR>答：使用StringBuffer类。<BR>String str = "......."; //待处理的字符串<BR>StringBuffer buffer = new StringBuffer(str); //使用该字符串初始化一个StringBuf<BR>fer<BR>buffer.append("..."); //调用StringBuffer的相关API来编辑字符串<BR>String str2 = buffer.toString(); //获得编辑后的字符串。<BR>另外，如果你需要将多个字符串连接起来，请尽量避免使用+号直接连接，而是使用Strin<BR>gBuffer.append()方法。</FONT></P>
<P><FONT size=2>Q6.17 我想处理日期/时间。<BR>答：使用java.util.Date类。你可以使用java.text.SimpleDateFormat类来在String和Da<BR>te间互相转换。<BR>SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //规<BR>定日期格式<BR>Date date = formatter.parse("2003-07-26 18:30:35"); //将符合格式的String转换为<BR>Date<BR>String s = formatter.format(date); //将Date转换为符合格式的String<BR>关于定义日期格式的详细信息请参见API。</FONT></P><img src ="http://www.blogjava.net/zool/aggbug/3447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 11:16 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2EE准备篇</title><link>http://www.blogjava.net/zool/archive/2005/04/19/3446.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/19/3446.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3446.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/19/3446.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3446.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1 什么是J2EE？它和普通的Java有什么不同？答：J2EE全称为Java2 Platform, Enterprise Edition。“J2EE平台本质上是一个分布式的服务器应用程序设计环境——一个Java环境，它提供了：·宿主应用的一个运行基础框架环境。·一套用来创建应用的Java扩展API。”（引自《J2EE服务器端高级编程》） 2 J2EE好学吗？答：J2EE是很多技术的集合体，并且...&nbsp;&nbsp;<a href='http://www.blogjava.net/zool/archive/2005/04/19/3446.html'>阅读全文</a><img src ="http://www.blogjava.net/zool/aggbug/3446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-19 11:11 <a href="http://www.blogjava.net/zool/archive/2005/04/19/3446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网页设计代码</title><link>http://www.blogjava.net/zool/archive/2005/04/18/3403.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 18 Apr 2005 03:27:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/18/3403.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3403.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/18/3403.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3403.html</trackback:ping><description><![CDATA[<TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/4-13/1049033862.html" target=_blank><FONT size=2>RSS的语言编码大全</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/4-3/14501948826.html" target=_blank><FONT size=2>在网页中实现细线边框的两种方法</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/3-23/08392584017.html" target=_blank><FONT size=2>用AS2解决中文ID3的乱码</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/2-26/08445370454.html" target=_blank><FONT size=2>网页色彩设计点滴</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/2-4/16105420248.html" target=_blank><FONT size=2>网站设计中有利于排名的25条建议</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/2-2/09092814482.html" target=_blank><FONT size=2>提高网站的链接广泛度三方面</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/1-24/17142388593.html" target=_blank><FONT size=2>为自己的网站添加RSS功能</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/1-21/08451625203.html" target=_blank><FONT size=2>Dreamweaver技巧锦集１７条</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/1-20/09175739503.html" target=_blank><FONT size=2>如何选择一个适合的博客服务器</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/1-13/10514271275.html" target=_blank><FONT size=2>网页制作&nbsp;JSP与ASP&nbsp;的比较</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/1-9/11140672540.html" target=_blank><FONT size=2>页面上所有的链接都在新窗口打开</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2005/1-5/13582822386.html" target=_blank><FONT size=2>创建一个Flash站点的十大技巧</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-30/11030474911.html" target=_blank><FONT size=2>FrontPage实用小技巧</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-29/09285944940.html" target=_blank><FONT size=2>Frontpage&nbsp;XP玩特效</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-23/17240775590.html" target=_blank><FONT size=2>创建一个Flash站点的十大技巧</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-23/10200619562.html" target=_blank><FONT size=2>教你创建个性化的网页链接</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-20/11513041926.html" target=_blank><FONT size=2>IIS&nbsp;错误代码大汇总</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-17/09104890765.html" target=_blank><FONT size=2>十大常见网页炸弹完全揭密</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-12/11074998923.html" target=_blank><FONT size=2>给你的网站请一个“小秘书”</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-7/09090335698.html" target=_blank><FONT size=2>Web开发技术发展史话</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/12-2/11010268287.html" target=_blank><FONT size=2>令网站打开提高速度的7大秘方</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/11-23/13305532106.html" target=_blank><FONT size=2>实现页面中按钮刷新的N种方法</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/11-16/21333917303.html" target=_blank><FONT size=2>由显示/隐藏引出的CSS&nbsp;Bug</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/11-5/20152458940.html" target=_blank><FONT size=2>超级免费主页空间10M-30M</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/11-5/15495214619.html" target=_blank><FONT size=2>减少Flash&nbsp;MX&nbsp;2004的启动时间</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/11-4/10041543029.html" target=_blank><FONT size=2>用CSS巧控制段落缩进</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/10-26/125440580.html" target=_blank><FONT size=2>细谈网页、网站优化</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/2004/10-15/13290147503.html" target=_blank><FONT size=2>40种网页常用小技巧(javascript)</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200409/20040929QBI110723.html" target=_blank><FONT size=2>成功企业网站的三个考核指标</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200409/20040925QBI190647.html" target=_blank><FONT size=2>网页编辑常用表现的实现方法</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200409/20040913QBI130009.html" target=_blank><FONT size=2>去掉动网论坛中搜集用户信息的代码！</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200409/20040904QBI110226.html" target=_blank><FONT size=2>行业网站设计心得</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200408/20040811QBI114246.html" target=_blank><FONT size=2>网页间非常规方法传递值的方法</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200407/20040720QBI113034.html" target=_blank><FONT size=2>商业网站设计主要原则</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200407/20040720QBI112959.html" target=_blank><FONT size=2>2003年度十大WEB设计误区</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200407/20040719QBI140924.html" target=_blank><FONT size=2>让垃圾邮件远离网页上的Email地址</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200407/20040716QBI115826.html" target=_blank><FONT size=2>谈谈网页、网站优化</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200407/20040701QBI084746.html" target=_blank><FONT size=2>[图]网页设计颜色对照卡</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200406/20040628QBI223814.html" target=_blank><FONT size=2>在&nbsp;DW&nbsp;中插入&nbsp;Flash&nbsp;的参数详解</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200406/20040620QBI110609.html" target=_blank><FONT size=2>浅谈在网页上显示日期的两种方法</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200405/20040527QBI165821.html" target=_blank><FONT size=2>如何成为一名优秀的web设计师？</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200405/20040521QBI075546.html" target=_blank><FONT size=2>国外空间乱码显示问题的解决</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200405/20040521QBI075444.html" target=_blank><FONT size=2>多种网页弹出窗口代码</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200405/20040520QBI215628.html" target=_blank><FONT size=2>网页设计问题大搜集</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200405/20040511QBI113846.html" target=_blank><FONT size=2>[图]网站设计的标准时代</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200405/20040508QBI131645.html" target=_blank><FONT size=2>网站建设常用尺寸</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200405/20040506QBI114659.html" target=_blank><FONT size=2>HTML页面如何象ASP一样接受参数</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200404/20040430QBI182413.html" target=_blank><FONT size=2>关于版权声明的写法</FONT></A><FONT size=2>&nbsp; </FONT></TD></TR>
<TR>
<TD height=1><FONT size=2></FONT></TD></TR>
<TR>
<TD colSpan=2><FONT size=2>·</FONT><A href="http://www.weste.net/html/200404/20040415QBI092303.html" target=_blank><FONT size=2>网页制作隐藏对象巧利用</FONT></A><FONT size=2>&nbsp;<BR><BR></FONT></TD></TR></TBODY></TABLE><img src ="http://www.blogjava.net/zool/aggbug/3403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-18 11:27 <a href="http://www.blogjava.net/zool/archive/2005/04/18/3403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[bolog's friend]范凯的废纸篓 </title><link>http://www.blogjava.net/zool/archive/2005/04/18/3402.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 18 Apr 2005 03:15:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/18/3402.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3402.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/18/3402.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3402.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3402.html</trackback:ping><description><![CDATA[<A href="http://www.fankai.com/index.php?op=ViewArticle&amp;articleId=28&amp;blogId=1"><FONT size=2>纵论5-7年内的技术发展大势</FONT></A><img src ="http://www.blogjava.net/zool/aggbug/3402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-18 11:15 <a href="http://www.blogjava.net/zool/archive/2005/04/18/3402.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java电子书籍 </title><link>http://www.blogjava.net/zool/archive/2005/04/18/3399.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 18 Apr 2005 03:03:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/18/3399.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3399.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/18/3399.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3399.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3399.html</trackback:ping><description><![CDATA[<P><FONT face="verdana, arial, helvetica" size=2>所有的电子书籍都存放在电子图书与IT文档资料版块：<BR><BR><A href="http://www.itpub.net/forumdisplay.php?s=&amp;daysprune=&amp;forumid=61&amp;x=8&amp;y=4" target=_blank>http://www.itpub.net/forumdisplay.p...umid=61&amp;x=8&amp;y=4</A><BR><BR>但是添加图书的时候可以定义标签：<BR><BR>Java基础：<A href="http://www.itpub.net/quintessence.php?forumid=61&amp;typeid=111" target=_blank>http://www.itpub.net/quintessence.p...d=61&amp;typeid=111</A><BR><BR>Java框架：<A href="http://www.itpub.net/quintessence.php?forumid=61&amp;typeid=112" target=_blank>http://www.itpub.net/quintessence.p...d=61&amp;typeid=112</A><BR><BR>J2EE：<A href="http://www.itpub.net/quintessence.php?forumid=61&amp;typeid=113" target=_blank>http://www.itpub.net/quintessence.p...d=61&amp;typeid=113</A><BR><BR>J2ME：<A href="http://www.itpub.net/quintessence.php?forumid=61&amp;typeid=114" target=_blank>http://www.itpub.net/quintessence.p...d=61&amp;typeid=114</A><BR><BR>分析设计：<A href="http://www.itpub.net/quintessence.php?forumid=61&amp;typeid=115" target=_blank>http://www.itpub.net/quintessence.p...d=61&amp;typeid=115</A><BR><BR>C/C++：<A href="http://www.itpub.net/quintessence.php?forumid=61&amp;typeid=116" target=_blank>http://www.itpub.net/quintessence.p...d=61&amp;typeid=116</A><BR><BR>数据库设计：<A href="http://www.itpub.net/quintessence.php?forumid=61&amp;typeid=117" target=_blank>http://www.itpub.net/quintessence.p...d=61&amp;typeid=117</A></FONT></P><img src ="http://www.blogjava.net/zool/aggbug/3399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-18 11:03 <a href="http://www.blogjava.net/zool/archive/2005/04/18/3399.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在线书籍、文档 </title><link>http://www.blogjava.net/zool/archive/2005/04/18/3397.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 18 Apr 2005 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/18/3397.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3397.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/18/3397.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3397.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3397.html</trackback:ping><description><![CDATA[<P align=center><A href="http://www.huihoo.com/debian/index.html"><FONT size=2>Learning Debian GNU/Linux</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/security/OSPKI-html/ospki-book.htm"><FONT size=2>The Open Source PKI Book</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/open_source/software_map/map_v1.01/html/"><FONT size=2>Linux &amp; 自由软件总蓝图</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.org/npact/content.htm" target=_blank><FONT size=2>现代计算科学和万维网技术</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/ace_tao/ACE-5.4-html/html/index.html"><FONT size=2>ACE-5.4+TAO-1.4+CIAO-0.4</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/jboss/online_manual/3.0/index.html"><FONT size=2>JBoss3.0</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/jboss/online_manual/2.4/index.html"><FONT size=2>JBoss2.4</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/jonas/jonas-4.1/doc-en/index.html"><FONT size=2>JOnAS 4.1</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/jonas/jonas-3.3.6/doc/index.html"><FONT size=2>3.3.6</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/jonas/jonas-tutorial/book1.html"><FONT size=2>2.4</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/gnu_linux/debian/tutorial/Debian-Install-Guide.html"><FONT size=2>Debian 无痛起步法</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/gnu_linux/redhat/index.html"><FONT size=2>redhat9中文文档</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/gnu_linux/sag_cn/index.html"><FONT size=2>Linux系统管理者手册</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/linux/lfs/5.1/index.html"><FONT size=2>Linux From Scratch 5.1</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/gnu_linux/own_os/index.htm"><FONT size=2>在PC上开发自己的OS</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/linux/kernel/index.htm"><FONT size=2>Linux核心中文版</FONT></A><FONT size=2>|</FONT><A href="http://www.huihoo.com/gnu_linux/kernel-api/index.htm"><FONT size=2>Kernel API</FONT></A><FONT size=2> <BR>。Linux核心架构: </FONT><A href="http://www.huihoo.com/linux/kernel/a1/index.html"><FONT size=2>a1</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/linux/kernel/a2/index.html"><FONT size=2>a2</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/gnu/linux/index.htm"><FONT size=2>Linux编程一</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/gnu/linux1/index.htm"><FONT size=2>二</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/gnu/linux2/index.htm"><FONT size=2>三</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/gnu/gcc/gcc_howto/GCC-HOWTO.html"><FONT size=2>Linux GCC HOWTO中译版V0.2 </FONT></A><BR><FONT size=2>。</FONT><A href="http://www.huihoo.com/gnu/gtk2-tut/book1.html"><FONT size=2>GTK+ 2.0中文教程</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/gnu/linux2/gtk_tut.html"><FONT size=2>GTK入门</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/gnu/programming_in_c.html"><FONT size=2>C编程</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/gnu/c++_study_doc.html"><FONT size=2>C++概述</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/gnu/lcp11/index.htm"><FONT size=2>学习c</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/gnu/emacs/emacs_user_guide/index.htm"><FONT size=2>Emacs用户指南</FONT></A><FONT size=2>|</FONT><A href="http://www.huihoo.com/gnu/emacs/tutorial_cn.txt"><FONT size=2>快速指南</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/mysql/manual/manual_toc.html"><FONT size=2>MySQL 3.23.7-alpha中文手册</FONT></A><FONT size=2> <BR>。PostgreSQL手册 </FONT><A href="http://www.huihoo.com/postgresql/pgsqldoc-7.1C/postgres.html"><FONT size=2>7.1.1</FONT></A><FONT size=2>|</FONT><A href="http://www.huihoo.com/postgresql/pgsql-doc-7.3/index.html"><FONT size=2>7.3.3</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/freebsd/handbook_cn/index.htm"><FONT size=2>FreeBSD中文手册</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/freebsd/handbook/index.html"><FONT size=2>英文</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/freebsd/freebsd_book/index.html"><FONT size=2>FreeBSD system programming</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/freebsd/handbook1/index.htm"><FONT size=2>FreeBSD使用大全</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/freebsd/freebsdchina/index.html"><FONT size=2>FreeBSD Porter's中文手册</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/freebsd/freebsd_site/index.html"><FONT size=2>FreeBSD网站平台建设全过程</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/netbsd/cn/netbsd.html"><FONT size=2>NetBSD 中译本</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/iona/orbix/index.html"><FONT size=2>IONA Orbix 2000 技术白皮书</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/open_source/magic-cauldron/magic-cauldron.html"><FONT size=2>魔法大锅炉</FONT></A><FONT size=2> | </FONT><A href="http://www.huihoo.com/open_source/homesteading/homesteading.html"><FONT size=2>开拓智域</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/open_source/software_release/index.html"><FONT size=2>自由软件发布方法惯例</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/os/process/main.htm"><FONT size=2>进程的同步与互斥</FONT></A><FONT size=2> <BR>。</FONT><A href="http://www.huihoo.com/vm/tut_script/tut_script0.htm"><FONT size=2>实现一个脚本引擎</FONT></A><FONT size=2> <BR></P></FONT><img src ="http://www.blogjava.net/zool/aggbug/3397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-18 10:56 <a href="http://www.blogjava.net/zool/archive/2005/04/18/3397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[javablog's friend]</title><link>http://www.blogjava.net/zool/archive/2005/04/18/3396.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Mon, 18 Apr 2005 02:45:00 GMT</pubDate><guid>http://www.blogjava.net/zool/archive/2005/04/18/3396.html</guid><wfw:comment>http://www.blogjava.net/zool/comments/3396.html</wfw:comment><comments>http://www.blogjava.net/zool/archive/2005/04/18/3396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zool/comments/commentRss/3396.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zool/services/trackbacks/3396.html</trackback:ping><description><![CDATA[<P><A class=singleposttitle id=viewpost1_TitleUrl HREF="/sgsoft/archive/2005/01/21/553.html"><FONT color=#223355 size=2>Linux学习和提高优秀书籍下载</FONT></A> </P><img src ="http://www.blogjava.net/zool/aggbug/3396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zool/" target="_blank">zool</a> 2005-04-18 10:45 <a href="http://www.blogjava.net/zool/archive/2005/04/18/3396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>