﻿<?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-AntSoul</title><link>http://www.blogjava.net/antsoul/</link><description>它总是在行走，行走，永远的行走……


行走是它生存的恒久姿态和最佳造型。


它似乎有一双不知疲倦的脚。


———我说的是蚂蚁。
</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 06:27:02 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 06:27:02 GMT</pubDate><ttl>60</ttl><item><title>电子书籍贡献</title><link>http://www.blogjava.net/antsoul/archive/2007/04/20/112108.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Fri, 20 Apr 2007 01:01:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/04/20/112108.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/112108.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/04/20/112108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/112108.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/112108.html</trackback:ping><description><![CDATA[javascript权威指南5th<br>下载地址: <a href="http://www.live-share.com/files/205878/OReilly.JavaScript.The.Definitive.Guide.5th.Edition.Aug.2006.chm.html" target=_blank><font color=#3366cc>http://www.live-share.com/files/205878/OReilly.JavaScript.The.Definitive.Guide.5th.Edition.Aug.2006.chm.html</font></a><br>要下赶快！
<img src ="http://www.blogjava.net/antsoul/aggbug/112108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-04-20 09:01 <a href="http://www.blogjava.net/antsoul/archive/2007/04/20/112108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jack出新专辑《好久不见了》蛮灵的，值得去听听哟</title><link>http://www.blogjava.net/antsoul/archive/2007/04/15/110799.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Sun, 15 Apr 2007 10:05:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/04/15/110799.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/110799.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/04/15/110799.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/110799.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/110799.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 歌神Jacky出新专辑了《好久不见》，曲风一改从前很轻快的，更多的展示的对于生活情感的感悟，看来为人夫为人父的Jacky给我们带来了他这段时间对生活的体会，很值得一听，如果你喜欢Jacky那么就一定不要错过了《好久不见》了。赶快去视听吧～！</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 听着《在你身边》那轻快的旋律，那么有现实的意义的歌词，真的给人更多的共鸣～！明天又是周一了，新的一周开始了，Lion King的故事又开始了。</p>
<img src ="http://www.blogjava.net/antsoul/aggbug/110799.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-04-15 18:05 <a href="http://www.blogjava.net/antsoul/archive/2007/04/15/110799.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谷歌输入法蛮灵的</title><link>http://www.blogjava.net/antsoul/archive/2007/04/12/110123.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Thu, 12 Apr 2007 03:39:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/04/12/110123.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/110123.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/04/12/110123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/110123.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/110123.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前段时间用搜狗的输入法，感觉蛮灵的。这不今天上谷歌的时候发现了谷歌输入法，我本人比较喜欢google的产品，下载下来适用了一下，感觉蛮不错的。不过发现很多和搜狗相似的地方。上网一看，原来搜狗和谷歌的输入法大战打得是不亦乐乎啊！我才不管呢，只要东西好用一切都OK！<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 谷歌输入法最吸引我的是他们的输入习惯的同步，只要有gmail一切都搞定了这样不管你在哪里用都OK！要想体验的赶紧下吧！呵呵～！<br><br><img height=36 alt="" src="http://tools.google.com/pinyin/images/down.gif" width=183 border=0><br><img height=82 alt="" src="http://tools.google.com/pinyin/images/pinyin_demo.png" width=322 border=0><br><a href="http://tools.google.com/pinyin/index.html">http://tools.google.com/pinyin/index.html</a>
<img src ="http://www.blogjava.net/antsoul/aggbug/110123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-04-12 11:39 <a href="http://www.blogjava.net/antsoul/archive/2007/04/12/110123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA与C#语法对比及转换 </title><link>http://www.blogjava.net/antsoul/archive/2007/04/12/110116.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Thu, 12 Apr 2007 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/04/12/110116.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/110116.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/04/12/110116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/110116.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/110116.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; 今天无意看到了好友草草的BLOG上登载了一篇关于《JAVA与C#语法对比及转换 》，觉得不错，就动了拿来主义，呵呵，感兴趣的大家可以看看。<br>&nbsp;&nbsp;&nbsp; 详细地址:
<p style="FONT-SIZE: 10pt"><a href="http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#comments"><u><font color=#800080>http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#comments</font></u></a></p>
<img src ="http://www.blogjava.net/antsoul/aggbug/110116.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-04-12 11:20 <a href="http://www.blogjava.net/antsoul/archive/2007/04/12/110116.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA程序员面试32问 </title><link>http://www.blogjava.net/antsoul/archive/2007/04/12/110084.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Thu, 12 Apr 2007 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/04/12/110084.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/110084.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/04/12/110084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/110084.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/110084.html</trackback:ping><description><![CDATA[<p><strong><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JAVA</span> </span><span><span>程序员面试</span> </span><span><span>32</span> </span><span><span>问</span> </span></strong><span><br><br></span><span><span>第一，谈谈</span> </span><span><span>final</span> </span><span><span>，</span> </span><span><span>finally</span> </span><span><span>，</span> </span><span><span>finalize</span> </span><span><span>的区别？</span> </span><span></span><span><br><span>Final</span> </span><span><span>：修饰符（关键字）如果一个类被声明为</span> </span><span><span>final</span> </span><span><span>，意味着它不能再派生出新的子类，</span> </span><span></span><span><br></span><span><span>不能作为父类被继承。因此一个类不能既被声明为</span> </span><span><span>abstract</span> </span><span><span>的，又被声明为</span> </span><span><span>final</span> </span><span><span>的。将变</span> </span><span></span><span><br></span><span><span>量或方法声明为</span> </span><span><span>final</span> </span><span><span>，可以保证它们在使用中不被改变。被声明为</span> </span><span><span>final</span> </span><span><span>的变量必须在声</span> </span><span></span><span><br></span><span><span>明时给定初值，而在以后的引用中只能读取，不可修改。被声明为</span> </span><span><span>final</span> </span><span><span>的方法也同样只能</span> </span><span></span><span><br></span><span><span>使用，不能重载</span> </span><span></span><span><br><span>finally</span> </span><span><span>？再异常处理时提供</span> </span><span><span>finally{}</span> </span><span><span>块来执行任何清除操作。如果抛出一个异常，那么</span> </span><span></span><span><br></span><span><span>相匹配的</span> </span><span><span>catch </span></span><span><span>子句就会执行，然后控制就会进入</span> </span><span><span>finally </span></span><span><span>块（如果有的话）。</span> </span><span></span><span><br><span>finalize</span> </span><span><span>：方法名。</span> </span><span><span>Java </span></span><span><span>技术允许使用</span> </span><span><span>finalize</span> </span><span><span>（）方法在垃圾收集器将对象从内存中</span> </span><span></span><span><br></span><span><span>清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时</span> </span><span></span><span><br></span><span><span>对这个对象调用的。它是在</span> </span><span><span>Object </span></span><span><span>类中定义的，因此所有的类都继承了它。子类覆盖</span> </span><span><span>fi </span></span><span><br><span>nalize</span> </span><span><span>（）方法以整理系统资源或者执行其他清理工作。</span> </span><span><span>finalize</span> </span><span><span>（）</span> </span><span></span><span><span>方法是在垃圾收集</span> </span><span></span><span><br></span><span><span>器删除对象之前对这个对象调用的。</span> </span><span></span><span><br><br></span><span><span>第二，</span> </span><span><span>Anonymous Inner Class </span></span><span><span>（匿名内部类）</span> </span><span></span><span><span>是否可以</span> </span><span><span>extends</span> </span><span><span>（继承）其它类，是否</span> </span><span></span><span><br></span><span><span>可以</span> </span><span><span>implements</span> </span><span><span>（实现）</span> </span><span><span>interface</span> </span><span><span>（接口）？</span> </span><span></span><span><br></span><span><span>匿名的内部类是没有名字的内部类。不能</span> </span><span><span>extends</span> </span><span><span>（继承）</span> </span><span></span><span><span>其它类，但一个内部类可以作</span> </span><span></span><span><br></span><span><span>为一个接口，由另一个内部类实现。</span> </span><span></span><span><br><br></span><span><span>第三，</span> </span><span><span>Static Nested Class </span></span><span><span>和</span> </span><span><span>Inner Class</span> </span><span><span>的不同，说得越多越好（面试题有的很笼统</span> </span><span></span><span><br></span><span><span>）？</span> </span><span></span><span><br><span>Nested Class </span></span><span><span>（一般是</span> </span><span><span>C++</span> </span><span><span>的说法），</span> </span><span><span>Inner Class </span></span><span><span>（一般是</span> </span><span><span>JAVA</span> </span><span><span>的说法）。</span> </span><span><span>Java</span> </span><span><span>内部类</span> </span><span></span><span><br></span><span><span>与</span> </span><span><span>C++</span> </span><span><span>嵌套类最大的不同就在于是否有指向外部的引用上。</span> </span><span></span><span><br></span><span><span>具体可见</span> </span><span><span>http</span> </span><span><span>：</span> </span><span><span>//www.frontfree.net/articles/services/view.asp</span> </span><span><span>？</span> </span><span><span>id=704&amp;page=1 </span></span><span><br><br></span><span><span>注：</span> </span><span></span><span><span>静态内部类（</span> </span><span><span>Inner Class</span> </span><span><span>）意味着</span> </span><span><span>1</span> </span><span><span>创建一个</span> </span><span><span>static</span> </span><span><span>内部类的对象，不需要一个外部</span> </span><span></span><span><br></span><span><span>类对象，</span> </span><span><span>2</span> </span><span><span>不能从一个</span> </span><span><span>static</span> </span><span><span>内部类的一个对象访问一个外部类对象。</span> </span><span></span><span><br><br></span><span><span>第四，</span> </span><span><span>&amp;</span> </span><span><span>和</span> </span><span><span>&amp;&amp;</span> </span><span><span>的区别？</span> </span><span></span><span><br><span>&amp;</span> </span><span><span>是位运算符。</span> </span><span><span>&amp;&amp;</span> </span><span><span>是布尔逻辑运算符。</span> </span><span></span><span><br><br></span><span><span>第五，</span> </span><span><span>HashMap</span> </span><span><span>和</span> </span><span><span>Hashtable</span> </span><span><span>的区别？</span> </span><span></span><span><br></span><span><span>都属于</span> </span><span><span>Map</span> </span><span><span>接口的类，实现了将惟一键映射到特定的值上。</span> </span><span></span><span><br><span>HashMap </span></span><span><span>类没有分类或者排序。它允许一个</span> </span><span><span>null </span></span><span><span>键和多个</span> </span><span><span>null </span></span><span><span>值。</span> </span><span></span><span><br><span>Hashtable </span></span><span><span>类似于</span> </span><span><span>HashMap</span> </span><span><span>，但是不允许</span> </span><span><span>null </span></span><span><span>键和</span> </span><span><span>null </span></span><span><span>值。它也比</span> </span><span><span>HashMap </span></span><span><span>慢，因为</span> </span><span></span><span><br></span><span><span>它是同步的。</span> </span><span></span><span><br><br></span><span><span>第六，</span> </span><span><span>Collection </span></span><span><span>和</span> </span><span><span>Collections</span> </span><span><span>的区别？</span> </span><span></span><span><br><span>Collections</span> </span><span><span>是个</span> </span><span><span>java.util</span> </span><span><span>下的类，它包含有各种有关集合操作的静态方法。</span> </span><span></span><span><br><span>Collection</span> </span><span><span>是个</span> </span><span><span>java.util</span> </span><span><span>下的接口，它是各种集合结构的父接口。</span> </span><span></span><span><br><br></span><span><span>第七，什么时候用</span> </span><span><span>assert</span> </span><span><span>？</span> </span><span></span><span><br></span><span><span>断言是一个包含布尔表达式的语句，在执行这个语句时假定该表达式为</span> </span><span><span>true</span> </span><span><span>。如果表达式</span> </span><span></span><span><br></span><span><span>计算为</span> </span><span><span>false</span> </span><span><span>，那么系统会报告一个</span> </span><span></span><span><br><span>AssertionError</span> </span><span><span>。它用于调试目的：</span> </span><span></span><span><br><span>assert(a &gt; 0); // throws an AssertionError if a &lt;= 0</span> </span><span><span>：</span> </span><span></span><span><br></span><span><span>断言可以有两种形式：</span> </span><span></span><span><br><span>assert Expression1 ; </span><br><span>assert Expression1 : Expression2 ; </span><br><span>Expression1 </span></span><span><span>应该总是产生一个布尔值。</span> </span><span></span><span><br><span>Expression2 </span></span><span><span>可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的</span> </span><span><span>Str </span></span><span><br><span>ing </span></span><span><span>消息。</span> </span><span></span><span><br></span><span><span>断言在默认情况下是禁用的。要在编译时启用断言，需要使用</span> </span><span><span>source 1.4 </span></span><span><span>标记：</span> </span><span></span><span><br><span>javac -source 1.4 Test.java </span><br></span><span><span>要在运行时启用断言，可使用</span> </span><span><span>-enableassertions </span></span><span><span>或者</span> </span><span><span>-ea </span></span><span><span>标记。</span> </span><span></span><span><br></span><span><span>要在运行时选择禁用断言，可使用</span> </span><span><span>-da </span></span><span><span>或者</span> </span><span><span>-disableassertions </span></span><span><span>标记。</span> </span><span></span><span><br></span><span><span>要系统类中启用断言，可使用</span> </span><span><span>-esa </span></span><span><span>或者</span> </span><span><span>-dsa </span></span><span><span>标记。还可以在包的基础上启用或者禁用</span> </span><span></span><span><br></span><span><span>断言。</span> </span><span></span><span><br></span><span><span>可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方</span> </span><span></span><span><br></span><span><span>法的参数。不过，断言不应该用于验证传递给公有方法的参数，因为不管是否启用了断言</span> </span><span></span><span><br></span><span><span>，公有方法都必须检查其参数。不过，既可以在公有方法中，也可以在非公有方法中利用</span> </span><span></span><span><br></span><span><span>断言测试后置条件。另外，断言不应该以任何方式改变程序的状态。</span> </span><span></span><span><br><br></span><span><span>第八，</span> </span><span><span>GC</span> </span><span><span>是什么</span> </span><span><span>? </span></span><span><span>为什么要有</span> </span><span><span>GC? (</span> </span><span><span>基础</span> </span><span><span>)</span> </span><span><span>？</span> </span><span></span><span><br><span>GC</span> </span><span><span>是垃圾收集器。</span> </span><span><span>Java </span></span><span><span>程序员不用担心内存管理，因为垃圾收集器会自动进行管理。要请</span> </span><span></span><span><br></span><span><span>求垃圾收集，可以调用下面的方法之一：</span> </span><span></span><span><br><span>System.gc() </span><br><span>Runtime.getRuntime().gc() </span><br><br></span><span><span>第九，</span> </span><span><span>String s = new String("xyz");</span> </span><span><span>创建了几个</span> </span><span><span>String Object? </span></span><span><br></span><span><span>两个对象，一个是</span> </span><span><span>&#8220;xyx&#8221;,</span> </span><span><span>一个是指向</span> </span><span><span>&#8220;xyx&#8221;</span> </span><span><span>的引用对象</span> </span><span><span>s</span> </span><span><span>。</span> </span><span></span><span><br><br></span><span><span>第十，</span> </span><span><span>Math.round(11.5)</span> </span><span><span>等於多少</span> </span><span><span>? Math.round(-11.5)</span> </span><span><span>等於多少</span> </span><span><span>? </span></span><span><br><span>Math.round(11.5)</span> </span><span><span>返回（</span> </span><span><span>long</span> </span><span><span>）</span> </span><span><span>12</span> </span><span><span>，</span> </span><span><span>Math.round(-11.5)</span> </span><span><span>返回（</span> </span><span><span>long</span> </span><span><span>）</span> </span><span><span>-11; </span></span><span><br><br></span><span><span>第十一，</span> </span><span><span>short s1 = 1; s1 = s1 + 1;</span> </span><span><span>有什么错</span> </span><span><span>? short s1 = 1; s1 += 1;</span> </span><span><span>有什么错</span> </span><span><span>? </span></span><span><br><br><span>short s1 = 1; s1 = s1 + 1;</span> </span><span><span>有错，</span> </span><span><span>s1</span> </span><span><span>是</span> </span><span><span>short</span> </span><span><span>型，</span> </span><span><span>s1+1</span> </span><span><span>是</span> </span><span><span>int</span> </span><span><span>型</span> </span><span><span>,</span> </span><span><span>不能显式转化为</span> </span><span><span>short</span> </span><span><span>型</span> </span><span></span><span><br></span><span><span>。可修改为</span> </span><span><span>s1 =(short)(s1 + 1) </span></span><span><span>。</span> </span><span><span>short s1 = 1; s1 += 1</span> </span><span><span>正确。</span> </span><span></span><span><br><br></span><span><span>第十二，</span> </span><span><span>sleep() </span></span><span><span>和</span> </span><span><span>wait() </span></span><span><span>有什么区别</span> </span><span><span>? </span></span><span><br></span><span><span>搞线程的最爱</span> </span><span><span>sleep()</span> </span><span><span>方法是使线程停止一段时间的方法。在</span> </span><span><span>sleep </span></span><span><span>时间间隔期满后，线</span> </span><span></span><span><br></span><span><span>程不一定立即恢复执行。这是因为在那个时刻，其它线程可能正在运行而且没有被调度为</span> </span><span></span><span><br></span><span><span>放弃执行，除非</span> </span><span><span>(a)&#8220;</span> </span><span><span>醒来</span> </span><span><span>&#8221;</span> </span><span><span>的线程具有更高的优先级，</span> </span><span><span>(b)</span> </span><span><span>正在运行的线程因为其它原因</span> </span><span></span><span><br></span><span><span>而阻塞。</span> </span><span></span><span><br><span>wait()</span> </span><span><span>是线程交互时，如果线程对一个同步对象</span> </span><span><span>x </span></span><span><span>发出一个</span> </span><span><span>wait()</span> </span><span><span>调用，该线程会暂停执</span> </span><span></span><span><br></span><span><span>行，被调对象进入等待状态，直到被唤醒或等待时间到。</span> </span><span></span><span><br><br></span><span><span>第十三，</span> </span><span><span>Java</span> </span><span><span>有没有</span> </span><span><span>goto? </span></span><span><br><span>Goto?java</span> </span><span><span>中的保留字，现在没有在</span> </span><span><span>java</span> </span><span><span>中使用。</span> </span><span></span><span><br><br></span><span><span>第十四，数组有没有</span> </span><span><span>length()</span> </span><span><span>这个方法</span> </span><span><span>? String</span> </span><span><span>有没有</span> </span><span><span>length()</span> </span><span><span>这个方法？</span> </span><span></span><span><br></span><span><span>数组没有</span> </span><span><span>length()</span> </span><span><span>这个方法，有</span> </span><span><span>length</span> </span><span><span>的属性。</span> </span><span></span><span><br><span>String</span> </span><span><span>有有</span> </span><span><span>length()</span> </span><span><span>这个方法。</span> </span><span></span><span><br><br></span><span><span>第十五，</span> </span><span><span>Overload</span> </span><span><span>和</span> </span><span><span>Override</span> </span><span><span>的区别。</span> </span><span><span>Overloaded</span> </span><span><span>的方法是否可以改变返回值的类型</span> </span><span><span>? </span></span><span><br><br></span><span><span>方法的重写</span> </span><span><span>Overriding</span> </span><span><span>和重载</span> </span><span><span>Overloading</span> </span><span><span>是</span> </span><span><span>Java</span> </span><span><span>多态性的不同表现。重写</span> </span><span><span>Overriding</span> </span><span><span>是父</span> </span><span></span><span><br></span><span><span>类与子类之间多态性的一种表现，重载</span> </span><span><span>Overloading</span> </span><span><span>是一个类中多态性的一种表现。如果在</span> </span><span></span><span><br></span><span><span>子类中定义某方法与其父类有相同的名称和参数，我们说该方法被重写</span> </span><span><span>(Overriding)</span> </span><span><span>。子</span> </span><span></span><span><br></span><span><span>类的对象使用这个方法时，将调用子类中的定义，对它而言，父类中的定义如同被</span> </span><span><span>&#8220;</span> </span><span><span>屏蔽</span> </span><span></span><span><br><span>&#8221;</span> </span><span><span>了。如果在一个类中定义了多个同名的方法，它们或有不同的参数个数或有不同的参数</span> </span><span></span><span><br></span><span><span>类型，则称为方法的重载</span> </span><span><span>(Overloading)</span> </span><span><span>。</span> </span><span><span>Overloaded</span> </span><span><span>的方法是可以改变返回值的类型。</span> </span><span></span><span><br><br><br></span><span><span>第十六，</span> </span><span><span>Set</span> </span><span><span>里的元素是不能重复的，那么用什么方法来区分重复与否呢</span> </span><span><span>? </span></span><span><span>是用</span> </span><span><span>==</span> </span><span><span>还是</span> </span><span><span>equ </span></span><span><br><span>als()? </span></span><span><span>它们有何区别</span> </span><span><span>? </span></span><span><br><span>Set</span> </span><span><span>里的元素是不能重复的，那么用</span> </span><span><span>iterator()</span> </span><span><span>方法来区分重复与否。</span> </span><span><span>equals()</span> </span><span><span>是判读两个</span> </span><span></span><span><br><span>Set</span> </span><span><span>是否相等。</span> </span><span></span><span><br><span>equals()</span> </span><span><span>和</span> </span><span><span>==</span> </span><span><span>方法决定引用值是否指向同一对象</span> </span><span><span>equals()</span> </span><span><span>在类中被覆盖，为的是当两个分</span> </span><span></span><span><br></span><span><span>离的对象的内容和类型相配的话，返回真值。</span> </span><span></span><span><br><br></span><span><span>第十七，给我一个你最常见到的</span> </span><span><span>runtime exception</span> </span><span><span>？</span> </span><span></span><span><br><span>ArithmeticException, ArrayStoreException, BufferOverflowException, </span><br><span>BufferUnderflowException, CannotRedoException, </span><br><span>CannotUndoException, ClassCastException, CMMException, </span><br><span>ConcurrentModificationException, </span><br><span>DOMException, EmptyStackException, IllegalArgumentException, </span><br><span>IllegalMonitorStateException, </span><br><span>IllegalPathStateException, IllegalStateException, </span><br><span>ImagingOpException, </span><br><span>IndexOutOfBoundsException, MissingResourceException, </span><br><span>NegativeArraySizeException, NoSuchElementException, </span><br><span>NullPointerException, ProfileDataException, ProviderException, </span><br><span>RasterFormatException, SecurityException, SystemException, </span><br><span>UndeclaredThrowableException, </span><br><span>UnmodifiableSetException, UnsupportedOperationException </span><br><br></span><span><span>第十八，</span> </span><span><span>error</span> </span><span><span>和</span> </span><span><span>exception</span> </span><span><span>有什么区别</span> </span><span><span>? </span></span><span><br><span>error </span></span><span><span>表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能</span> </span><span></span><span><br></span><span><span>指望程序能处理这样的情况</span> </span><span></span><span><br><span>exception </span></span><span><span>表示一种设计或实现问题。也就是说，它表示如果程序运行正常，从不会发生</span> </span><span></span><span><br></span><span><span>的情况。</span> </span><span></span><span><br><br></span><span><span>第十九，</span> </span><span><span>List, Set, Map</span> </span><span><span>是否继承自</span> </span><span><span>Collection</span> </span><span><span>接口</span> </span><span><span>? </span></span><span><br><span>List</span> </span><span><span>，</span> </span><span><span>Set</span> </span><span><span>是</span> </span><span></span><span><br><span>Map</span> </span><span><span>不是</span> </span><span></span><span><br><br></span><span><span>第二十，</span> </span><span><span>abstract class</span> </span><span><span>和</span> </span><span><span>interface</span> </span><span><span>有什么区别</span> </span><span><span>? </span></span><span><br><br></span><span><span>声明方法的存在而不去实现它的类被叫做抽象类（</span> </span><span><span>abstract class</span> </span><span><span>），它用于要创建一个</span> </span><span></span><span><br></span><span><span>体现某些基本行为的类，并为该类声明方法，但不能在该类中实现该类的情况。不能创建</span> </span><span></span><span><br><span>abstract </span></span><span><span>类的实例。然而可以创建一个变量，其类型是一个抽象类，并让它指向具体子类</span> </span><span></span><span><br></span><span><span>的一个实例。不能有抽象构造函数或抽象静态方法。</span> </span><span><span>Abstract </span></span><span><span>类的子类为它们父类中的所</span> </span><span></span><span><br></span><span><span>有抽象方法提供实现，否则它们也是抽象类为。取而代之，在子类中实现该方法。知道其</span> </span><span></span><span><br></span><span><span>行为的其它类可以在类中实现这些方法。</span> </span><span></span><span><br></span><span><span>接口（</span> </span><span><span>interface</span> </span><span><span>）是抽象类的变体。在接口中，所有方法都是抽象的。多继承性可通过实</span> </span><span></span><span><br></span><span><span>现这样的接口而获得。接口中的所有方法都是抽象的，没有一个有程序体。接口只可以定</span> </span><span></span><span><br></span><span><span>义</span> </span><span><span>static final</span> </span><span><span>成员变量。接口的实现与子类相似，除了该实现类不能从接口定义中继承</span> </span><span></span><span><br></span><span><span>行为。当类实现特殊接口时，它定义（即将程序体给予）所有这种接口的方法。然后，它</span> </span><span></span><span><br></span><span><span>可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类，它允许使用接口</span> </span><span></span><span><br></span><span><span>名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型</span> </span><span></span><span><br></span><span><span>转换，</span> </span><span><span>instanceof </span></span><span><span>运算符可以用来决定某对象的类是否实现了接口。</span> </span><span></span><span><br><br></span><span><span>第二十一，</span> </span><span><span>abstract</span> </span><span><span>的</span> </span><span><span>method</span> </span><span><span>是否可同时是</span> </span><span><span>static,</span> </span><span><span>是否可同时是</span> </span><span><span>native</span> </span><span><span>，是否可同时是</span> </span><span><span>s </span></span><span><br><span>ynchronized? </span><br></span><span><span>都不能</span> </span><span></span><span><br><br></span><span><span>第二十二，接口是否可继承接口</span> </span><span><span>? </span></span><span><span>抽象类是否可实现</span> </span><span><span>(implements)</span> </span><span><span>接口</span> </span><span><span>? </span></span><span><span>抽象类是否可继</span> </span><span></span><span><br></span><span><span>承实体类</span> </span><span><span>(concrete class)? </span></span><span><br></span><span><span>接口可以继承接口。抽象类可以实现</span> </span><span><span>(implements)</span> </span><span><span>接口，抽象类是否可继承实体类，但前</span> </span><span></span><span><br></span><span><span>提是实体类必须有明确的构造函数。</span> </span><span></span><span><br><br></span><span><span>第二十三，启动一个线程是用</span> </span><span><span>run()</span> </span><span><span>还是</span> </span><span><span>start()? </span></span><span><br></span><span><span>启动一个线程是调用</span> </span><span><span>start()</span> </span><span><span>方法，使线程所代表的虚拟处理机处于可运行状态，这意味着</span> </span><span></span><span><br></span><span><span>它可以由</span> </span><span><span>JVM</span> </span><span><span>调度并执行。这并不意味着线程就会立即运行。</span> </span><span><span>run()</span> </span><span><span>方法可以产生必须退出</span> </span><span></span><span><br></span><span><span>的标志来停止一个线程。</span> </span><span></span><span><br><br><br></span><span><span>第二十四，构造器</span> </span><span><span>Constructor</span> </span><span><span>是否可被</span> </span><span><span>override? </span></span><span><br></span><span><span>构造器</span> </span><span><span>Constructor</span> </span><span><span>不能被继承，因此不能重写</span> </span><span><span>Overriding</span> </span><span><span>，但可以被重载</span> </span><span><span>Overloading</span> </span><span><span>。</span> </span><span></span><span><br><br><br></span><span><span>第二十五，是否可以继承</span> </span><span><span>String</span> </span><span><span>类</span> </span><span><span>? </span></span><span><br><span>String</span> </span><span><span>类是</span> </span><span><span>final</span> </span><span><span>类故不可以继承。</span> </span><span></span><span><br><br></span><span><span>第二十六，当一个线程进入一个对象的一个</span> </span><span><span>synchronized</span> </span><span><span>方法后，其它线程是否可进入此</span> </span><span></span><span><br></span><span><span>对象的其它方法</span> </span><span><span>? </span></span><span><br></span><span><span>不能，一个对象的一个</span> </span><span><span>synchronized</span> </span><span><span>方法只能由一个线程访问。</span> </span><span></span><span><br><br></span><span><span>第二十七，</span> </span><span><span>try {}</span> </span><span><span>里有一个</span> </span><span><span>return</span> </span><span><span>语句，那么紧跟在这个</span> </span><span><span>try</span> </span><span><span>后的</span> </span><span><span>finally {}</span> </span><span><span>里的</span> </span><span><span>code</span> </span><span><span>会不</span> </span><span></span><span><br></span><span><span>会被执行，什么时候被执行，在</span> </span><span><span>return</span> </span><span><span>前还是后</span> </span><span><span>? </span></span><span><br></span><span><span>会执行，在</span> </span><span><span>return</span> </span><span><span>前执行。</span> </span><span></span><span><br><br></span><span><span>第二十八，编程题</span> </span><span><span>: </span></span><span><span>用最有效率的方法算出</span> </span><span><span>2</span> </span><span><span>乘以</span> </span><span><span>8</span> </span><span><span>等於几</span> </span><span><span>? </span></span><span><br></span><span><span>有</span> </span><span><span>C</span> </span><span><span>背景的程序员特别喜欢问这种问题。</span> </span><span></span><span><br><span>2 &lt;&lt; 3 </span><br><br></span><span><span>第二十九，两个对象值相同</span> </span><span><span>(x.equals(y) == true)</span> </span><span><span>，但却可有不同的</span> </span><span><span>hash code</span> </span><span><span>，这句话</span> </span><span></span><span><br></span><span><span>对不对</span> </span><span><span>? </span></span><span><br></span><span><span>不对，有相同的</span> </span><span><span>hash code</span> </span><span><span>。</span> </span><span></span><span><br><br></span><span><span>第三十，当一个对象被当作参数传递到一个方法后，此方法可改变这个对象的属性，并可</span> </span><span></span><span><br></span><span><span>返回变化后的结果，那么这里到底是值传递还是引用传递</span> </span><span><span>? </span></span><span><br></span><span><span>是值传递。</span> </span><span><span>Java </span></span><span><span>编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中</span> </span><span></span><span><br></span><span><span>时，参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变，但对象的引</span> </span><span></span><span><br></span><span><span>用是永远不会改变的。</span> </span><span></span><span><br><br></span><span><span>第三十一，</span> </span><span><span>swtich</span> </span><span><span>是否能作用在</span> </span><span><span>byte</span> </span><span><span>上，是否能作用在</span> </span><span><span>long</span> </span><span><span>上，是否能作用在</span> </span><span><span>String</span> </span><span><span>上</span> </span><span><span>? </span></span><span><br><br><span>switch</span> </span><span><span>（</span> </span><span><span>expr1</span> </span><span><span>）中，</span> </span><span><span>expr1</span> </span><span><span>是一个整数表达式。因此传递给</span> </span><span><span>switch </span></span><span><span>和</span> </span><span><span>case </span></span><span><span>语句的参数</span> </span><span></span><span><br></span><span><span>应该是</span> </span><span><span>int</span> </span><span><span>、</span> </span><span><span>short</span> </span><span><span>、</span> </span><span><span>char </span></span><span><span>或者</span> </span><span><span>byte</span> </span><span><span>。</span> </span><span><span>long,string </span></span><span><span>都不能作用于</span> </span><span><span>swtic </span></span><span><br><span>h</span> </span><span><span>。</span> </span><span></span><span><br><br></span><span><span>第三十二，编程题</span> </span><span><span>: </span></span><span><span>写一个</span> </span><span><span>Singleton</span> </span><span><span>出来？</span> </span><span></span><span><br><span>Singleton</span> </span><span><span>模式主要作用是保证在</span> </span><span><span>Java</span> </span><span><span>应用程序中，一个类</span> </span><span><span>Class</span> </span><span><span>只有一个实例存在。</span> </span><span></span><span><br><br></span><span><span>一般</span> </span><span><span>Singleton</span> </span><span><span>模式通常有几种种形式</span> </span><span><span>: </span></span><span><br></span><span><span>第一种形式</span> </span><span><span>: </span></span><span><span>定义一个类，它的构造函数为</span> </span><span><span>private</span> </span><span><span>的，它有一个</span> </span><span><span>static</span> </span><span><span>的</span> </span><span><span>private</span> </span><span><span>的该类</span> </span><span></span><span><br></span><span><span>变量，在类初始化时实例话，通过一个</span> </span><span><span>public</span> </span><span><span>的</span> </span><span><span>getInstance</span> </span><span><span>方法获取对它的引用</span> </span><span><span>,</span> </span><span><span>继而调</span> </span><span></span><span><br></span><span><span>用其中的方法。</span> </span><span></span><span><br><span>public class Singleton { </span><br><span>private Singleton(){} </span><br><span>//</span> </span><span><span>在自己内部定义自己一个实例，是不是很奇怪？</span> </span><span></span><span><br><span>//</span> </span><span><span>注意这是</span> </span><span><span>private </span></span><span><span>只供内部调用</span> </span><span></span><span><br><span>private static Singleton instance = new Singleton(); </span><br><span>//</span> </span><span><span>这里提供了一个供外部访问本</span> </span><span><span>class</span> </span><span><span>的静态方法，可以直接访问</span> </span><span></span><span><br><span>public static Singleton getInstance() { </span><br></span><span><span>　　</span> </span><span><span>return instance; </span></span><span><span>　　</span> </span><span></span><span><br><span>} </span><br><span>} </span><br><br></span><span><span>第二种形式</span> </span><span><span>: </span></span><span><br><br><span>public class Singleton { </span><br><span>private static Singleton instance = null; </span><br><span>public static synchronized Singleton getInstance() { </span><br><span>//</span> </span><span><span>这个方法比上面有所改进，不用每次都进行生成对象，只是第一次　　　</span> </span><span></span><span><span>　</span> </span><span></span><span><br><span>//</span> </span><span><span>使用时生成实例，提高了效率！</span> </span><span></span><span><br><span>if (instance==null) </span><br></span><span><span>　　</span> </span><span><span>instance</span> </span><span><span>＝</span> </span><span><span>new Singleton(); </span></span><span><br><span>return instance; </span></span><span><span>　　</span> </span><span><span>} </span></span><span><br><span>} </span><br><br></span><span><span>其他形式</span> </span><span><span>: </span></span><span><br></span><span><span>定义一个类，它的构造函数为</span> </span><span><span>private</span> </span><span><span>的，所有方法为</span> </span><span><span>static</span> </span><span><span>的。</span> </span><span></span><span><br></span><span><span>一般认为第一种形式要更加安全些</span> </span><span></span><span><br><br></span><span><span>第三十三</span> </span><span><span>Hashtable</span> </span><span><span>和</span> </span><span><span>HashMap</span> </span><span><span>？</span> </span><span></span><span><br><span>Hashtable</span> </span><span><span>继承自</span> </span><span><span>Dictionary</span> </span><span><span>类，而</span> </span><span><span>HashMap</span> </span><span><span>是</span> </span><span><span>Java1.2</span> </span><span><span>引进的</span> </span><span><span>Map interface</span> </span><span><span>的一个实现</span> </span><span></span><span><br><br><span>HashMap</span> </span><span><span>允许将</span> </span><span><span>null</span> </span><span><span>作为一个</span> </span><span><span>entry</span> </span><span><span>的</span> </span><span><span>key</span> </span><span><span>或者</span> </span><span><span>value</span> </span><span><span>，而</span> </span><span><span>Hashtable</span> </span><span><span>不允许</span> </span><span></span><span><br></span><span><span>还有就是，</span> </span><span><span>HashMap</span> </span><span><span>把</span> </span><span><span>Hashtable</span> </span><span><span>的</span> </span><span><span>contains</span> </span><span><span>方法去掉了，改成</span> </span><span><span>containsvalue</span> </span><span><span>和</span> </span><span><span>containsK </span></span><span><br><span>ey</span> </span><span><span>。因为</span> </span><span><span>contains</span> </span><span><span>方法容易让人引起误解。</span> </span><span></span><span><br><br></span><span><span>最大的不同是，</span> </span><span><span>Hashtable</span> </span><span><span>的方法是</span> </span><span><span>Synchronize</span> </span><span><span>的，而</span> </span><span><span>HashMap</span> </span><span><span>不是，在多个线程访问</span> </span><span><span>Has </span></span><span><br><span>htable</span> </span><span><span>时，不需要自己为它的方法实现同步，而</span> </span><span><span>HashMap</span> </span><span><span>就必须为之提供外同步。</span> </span><span></span><span><br><span>Hashtable</span> </span><span><span>和</span> </span><span><span>HashMap</span> </span><span><span>采用的</span> </span><span><span>hash/rehash</span> </span><span><span>算法都大概一样，所以性能不会有很大的差异。</span> </span></p>
<img src ="http://www.blogjava.net/antsoul/aggbug/110084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-04-12 10:08 <a href="http://www.blogjava.net/antsoul/archive/2007/04/12/110084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>时刻提醒自己不要被好环境给害了</title><link>http://www.blogjava.net/antsoul/archive/2007/04/10/109685.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Tue, 10 Apr 2007 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/04/10/109685.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/109685.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/04/10/109685.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/109685.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/109685.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以前总是在找一个好的环境，现在好的环境有了，却发现最近的心态出了点问题。这是很危险的，所以要时刻的提醒自己不要被好的环境给害了！太安逸了，太懒散了，容易让你慢慢的被腐蚀，慢慢的也融入到这个圈子中去，所以每天上下班要做的第一件事情就是提醒自己：不要被好的环境给害了！<br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ~by Duy on 4,10,2007 WONDERSGROUP</span> 
<img src ="http://www.blogjava.net/antsoul/aggbug/109685.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-04-10 17:15 <a href="http://www.blogjava.net/antsoul/archive/2007/04/10/109685.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何点击连接直接下载(.txt文本)文件 </title><link>http://www.blogjava.net/antsoul/archive/2007/04/10/109557.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Tue, 10 Apr 2007 01:14:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/04/10/109557.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/109557.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/04/10/109557.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/109557.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/109557.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近遇到个这样的问题(在不使用组件【如<font size=3>jspsmartupload</font>】的情况下)在web页面上如果一个有个连接,连接的的是文本文件,当左键点击的话会查看这个文件,右键点击可以下载.但是如果是windows不识别的文件,左键点击直接就下载了比如zip,那如何点击左键直接下载.txt的文本文件呢?<br><font size=3>&nbsp;&nbsp;&nbsp;&nbsp; 要直接下载一个文件，我们需要做两件事，第一件事是：设定响应的内容类为&#8220;application/octet-stream&#8221;，大小写无关。第二件事是：设置HTTP的响应头名字为：Content-Disposition，设定值为：attachment; filename = theFileName。这里的theFileName就是出现在文件下载对话框里的默认文件名，通常和所下载的文件名字相同，但也可以不同。<br></font>&nbsp;
<div class=code_title>代码</div>
<div class=code_div>
<div class=dp-highlighter>
<div class=bar></div>
<ol class=dp-xml>
    <li class=alt><span><span class=tag>&lt;</span><span class=tag-name>meta</span><span>&nbsp;</span><span class=attribute>http-equiv</span><span>=</span><span class=attribute-value>"Content-Type"</span><span>&nbsp;</span><span class=attribute>content</span><span>=</span><span class=attribute-value>"text/html;&nbsp;charset=gbk"</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span></span><span class=tag>&lt;</span><span class=tag-name>HTML</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=alt><span></span><span class=tag>&lt;</span><span class=tag-name>HEAD</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class=alt><span></span><span class=tag>&lt;/</span><span class=tag-name>HEAD</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class=alt><span></span><span class=tag>&lt;</span><span class=tag-name>BODY</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span></span><span class=tag>&lt;</span><span class=tag-name>a</span><span>&nbsp;</span><span class=attribute>href</span><span>&nbsp;=&nbsp;</span><span class=attribute-value>"download1.jsp?filepath=d:\\&amp;filename=1a.txt"</span><span>&nbsp;</span><span class=tag>&gt;</span><span>downloadtest1</span><span class=tag>&lt;/</span><span class=tag-name>a</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class=tag>&lt;/</span><span class=tag-name>BODY</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=alt><span></span><span class=tag>&lt;/</span><span class=tag-name>HTML</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
</div>
<br>这是页面上的连接，我传了个路径和文件名 <br>
<div class=code_title>代码</div>
<div class=code_div>
<div class=dp-highlighter>
<div class=bar></div>
<ol class=dp-j>
    <li class=alt><span><span>&lt;%&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;filename&nbsp;=&nbsp;request.getParameter(</span><span class=string>"filename"</span><span>);</span><span class=comment>//"1a.txt";&nbsp; </span><span>&nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;filepath&nbsp;=&nbsp;request.getParameter(</span><span class=string>"filepath"</span><span>);</span><span class=comment>//"d:\\"; </span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=keyword>int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class=number>0</span><span>; &nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType("application/octet-stream</span><span class=string>"); </span>&nbsp;</span></li>
    <li class=""><span><span class=string>&nbsp;&nbsp;&nbsp;&nbsp;response.setHeader("</span><span>Content-Disposition</span><span class=string>","</span><span>attachment;filename&nbsp;=&nbsp;"+filename);&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;java.io.FileInputStream&nbsp;fileInputStream&nbsp;=&nbsp;</span><span class=keyword>new</span><span>&nbsp;java.io.FileInputStream(filepath+filename); &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=keyword>while</span><span>((i=&nbsp;fileInputStream.read())&nbsp;!=&nbsp;-</span><span class=number>1</span><span>){ &nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(i); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=alt><span>%&gt;&nbsp;&nbsp;</span></li>
</ol>
</div>
<div class=dp-highlighter>
<div class=bar></div>
<ol class=dp-j>
    <li class=alt><span><span>&lt;%&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;filename&nbsp;=&nbsp;request.getParameter(</span><span class=string>"filename"</span><span>);</span><span class=comment>//"1a.txt";&nbsp; </span><span>&nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;filepath&nbsp;=&nbsp;request.getParameter(</span><span class=string>"filepath"</span><span>);</span><span class=comment>//"d:\\"; </span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=keyword>int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class=number>0</span><span>; &nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType("application/octet-stream</span><span class=string>"); </span>&nbsp;</span></li>
    <li class=""><span><span class=string>&nbsp;&nbsp;&nbsp;&nbsp;response.setHeader("</span><span>Content-Disposition</span><span class=string>","</span><span>attachment;filename&nbsp;=&nbsp;"+filename);&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;java.io.FileInputStream&nbsp;fileInputStream&nbsp;=&nbsp;</span><span class=keyword>new</span><span>&nbsp;java.io.FileInputStream(filepath+filename); &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=keyword>while</span><span>((i=&nbsp;fileInputStream.read())&nbsp;!=&nbsp;-</span><span class=number>1</span><span>){ &nbsp;&nbsp;</span></span></li>
    <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(i); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=alt><span>%&gt;&nbsp;&nbsp;</span></li>
</ol>
</div>
</div>
<br>这是被调用的download1.jsp，这个jsp就是执行直接下载文件。<br>参考一下JS来实现:<br>
<p>function svcode(obj) { <br>var winname = window.open('', '_blank', 'height=1,width=1,top=200,left=300'); <br>winname.document.open('text/html', 'replace'); <br>winname.document.writeln(obj.value); <br>winname.document.execCommand('saveas','','code.txt'); <br>winname.close(); <br>}</p>
<br></span>
<img src ="http://www.blogjava.net/antsoul/aggbug/109557.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-04-10 09:14 <a href="http://www.blogjava.net/antsoul/archive/2007/04/10/109557.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>好书推荐之《人性的弱点》</title><link>http://www.blogjava.net/antsoul/archive/2007/04/01/107784.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Sun, 01 Apr 2007 09:27:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/04/01/107784.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/107784.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/04/01/107784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/107784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/107784.html</trackback:ping><description><![CDATA[
		<img src="http://yc.book.sohu.com/data/book/70/6670/6670.icon.gif" />
		<br />
		<br />         有这样一个真实的故事。包布? 胡佛是一位著名的飞行员，他经常在航空展览中进行飞行表演。一天，他在圣地亚哥航空展览中表演结束飞回洛杉矶，在300英尺的高度，他的飞机引擎突然熄灭！他凭着丰富的飞行经验和高超的驾驶技 术，紧急迫降，人虽未受伤，昂贵的飞机却严重损坏。胡佛迫降后要做的第一件事就是检查... <br /><br /><br /><br /><br /><br /><br /><br />下载地址为: <a href="http://www.live-share.com/files/191765/_____.rar.html" target="_blank"><font color="#3366cc">http://www.live-share.com/files/191765/_____.rar.html</font></a><br />如果下载不下来请email给我，我发给你，希望对你有点用处。<img src ="http://www.blogjava.net/antsoul/aggbug/107784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-04-01 17:27 <a href="http://www.blogjava.net/antsoul/archive/2007/04/01/107784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>感想啊！</title><link>http://www.blogjava.net/antsoul/archive/2007/03/31/107617.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Sat, 31 Mar 2007 03:41:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/03/31/107617.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/107617.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/03/31/107617.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/107617.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/107617.html</trackback:ping><description><![CDATA[
		<p>今天看到好友caoxicao在起博客上写了一篇读《不成熟不要紧》的读书笔记，良多感慨，回想自己这1年多的工作经历，越发觉得此书值得一看。他的读书笔记似乎也正是我心里想说的话，故转贴下来以提醒自己。<br />记下几条：<br />1： 除非你的主管已经成了一只落水狗，千万不要得罪他，你可以不是他的心腹，但绝对不能成为他的敌人。<br />2： 把勤向领导汇报工作，不要擅自主张！（<strong>大忌</strong>！！）<br /> 工作汇报做得不好还有一个重要因素就是不尊重别人的权限，喜欢自作主张。<br /> 汇报工作最重要的是提出解决问题的方案而不是简单地提出问题。要记住，汇报问题的实质是求得领导对你的方案的批准，而不是问你的上司如何解决这个问题，否则事事上司拿主意，要下属还有什么意义呢。我们去找领导汇报工作时要准备多套方案，并将它的利弊了然于胸，必要时向领导阐述明白，并提出自己的主张，然后争取领导批准你的主张，这是汇报的最标准版本。<br />3： 心态。<br /><u>工作过程中不要太计较自己的职位</u>。头衔只是个虚名，太高的头衔对新人不但没有帮助，还会产生负面的影响。对于新人，能拥有一份富有挑战性的工作，得到切实的历练，比拥有一个看似显赫的头衔更重要。<br />4： 鲶鱼效应。<br />由于鲶鱼的存在，与它共处的小鱼面临着巨大的生存危险，为了生存它们就得不停地提高自己的速度，从而使自己保持了旺盛的生命力。<br />5： 承担责任。<br />  权力与责任是成正比的，如果我们还没有锻造出一颗勇于担负责任的心，最好也不要对权力、事业产生多大的企图心。</p>
<img src ="http://www.blogjava.net/antsoul/aggbug/107617.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-03-31 11:41 <a href="http://www.blogjava.net/antsoul/archive/2007/03/31/107617.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>好书推荐</title><link>http://www.blogjava.net/antsoul/archive/2007/03/31/107615.html</link><dc:creator>yok</dc:creator><author>yok</author><pubDate>Sat, 31 Mar 2007 03:31:00 GMT</pubDate><guid>http://www.blogjava.net/antsoul/archive/2007/03/31/107615.html</guid><wfw:comment>http://www.blogjava.net/antsoul/comments/107615.html</wfw:comment><comments>http://www.blogjava.net/antsoul/archive/2007/03/31/107615.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/antsoul/comments/commentRss/107615.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/antsoul/services/trackbacks/107615.html</trackback:ping><description><![CDATA[工具类:<img src="http://www.jpoblog.com/images/icons/31.gif" /><br /><img alt="" src="http://www.jpoblog.com/images/icons/31.gif" align="absMiddle" /><a title="Eclipse中文教程" href="http://www.jpoblog.com/attachments/share/ebook/Eclipse.rar">Eclipse中文教程</a><br /><br />技术类（.NET）<img src="http://www.jpoblog.com/images/icons/31.gif" /><br /><img alt="" src="http://www.jpoblog.com/images/icons/31.gif" align="absMiddle" /><a title="展现C#" href="http://www.jpoblog.com/attachments/share/ebook/csharp.doc">展现C#</a><br /><img alt="" src="http://www.jpoblog.com/images/icons/31.gif" align="absMiddle" /><a href="http://www.eshuba.com/down.asp?id=2671&amp;no=1">《C#Web应用程序入门经典》</a><br /><br />管理类<img src="http://www.jpoblog.com/images/icons/31.gif" /><br /><img alt="" src="http://www.jpoblog.com/images/icons/31.gif" align="absMiddle" /> <a href="http://www.jpoblog.com/attachments/share/ebook/jiye.rar">《基业长青》</a><img src ="http://www.blogjava.net/antsoul/aggbug/107615.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/antsoul/" target="_blank">yok</a> 2007-03-31 11:31 <a href="http://www.blogjava.net/antsoul/archive/2007/03/31/107615.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>