??xml version="1.0" encoding="utf-8" standalone="yes"?>天堂va在线高清一区,一区二区三区在线免费,一本色道久久综合亚洲aⅴ蜜桃http://www.aygfsteel.com/jie-java/zh-cnSat, 17 May 2025 18:16:53 GMTSat, 17 May 2025 18:16:53 GMT60WebWork 2.2中新增的default-action-ref http://www.aygfsteel.com/jie-java/archive/2007/06/21/125569.htmljie_javajie_javaThu, 21 Jun 2007 06:39:00 GMThttp://www.aygfsteel.com/jie-java/archive/2007/06/21/125569.htmlhttp://www.aygfsteel.com/jie-java/comments/125569.htmlhttp://www.aygfsteel.com/jie-java/archive/2007/06/21/125569.html#Feedback0http://www.aygfsteel.com/jie-java/comments/commentRss/125569.htmlhttp://www.aygfsteel.com/jie-java/services/trackbacks/125569.html在WebWork 2.2.1?在配|文件xwork.xml中新增加了了一个元? default-action-ref,其实q个配置非常?但是很多Z知道,所以简单介l一?

如果你在xwork.xml里面配置了default-action-ref,那么当xwork中没有找到对应的action?默认׃(x)调用default-action-ref指定的action.

官方的wiki文档参考这? http://wiki.opensymphony.com/display/WW/Action+configuration

配置代码如下:

 

												<package name="myPackage" ....>
            ...
            <default-action-ref name="simpleViewResultAction">
            <!--
            An example of a default action that is just a simple class
            that has 3 fields: successUrl, errorUrl, and inputUrl.  This action
            parses the request url to set the result values.  In the normal case
            it just renders velocity results of the same name as the requested url.
            -->
            <action name="simpleViewResultAction" class="SimpleViewResultAction">
            <result type="velocity">${successUrl}</result>
            
<result name="error" type="velocity">${errorUrl}</result>
            <result name="input" type="velocity">${inputUrl}</result>
            
</action>
... </package>

但是要注?一般一个package内配|一?如果配置多个,无法预结果了.

注意上面的配|?W一个result的name属性被省略?webwork?x)认为它?SUCCESS".

WebWork带的例子里面有default-action-ref的配|?可以参?



jie_java 2007-06-21 14:39 发表评论
]]>
性能调优的基本知识和JDK调优 http://www.aygfsteel.com/jie-java/archive/2007/03/19/104668.htmljie_javajie_javaMon, 19 Mar 2007 02:12:00 GMThttp://www.aygfsteel.com/jie-java/archive/2007/03/19/104668.htmlhttp://www.aygfsteel.com/jie-java/comments/104668.htmlhttp://www.aygfsteel.com/jie-java/archive/2007/03/19/104668.html#Feedback0http://www.aygfsteel.com/jie-java/comments/commentRss/104668.htmlhttp://www.aygfsteel.com/jie-java/services/trackbacks/104668.html

基本知识

1.1 性能是什?/span>

在性能调优之前Q我们首先来了解一下性能是什么?关于性能Q我x个学?fn)?/span> Java 的h都能列出几点Q甚臛_以夸夸其谈。在?/span> Java TM Platform Performance 》一书中Q定义了如下五个斚w来作判性能的标准:(x)

1)       q算的性能——哪一个算法的执行性能最好?

2)       内存的分配——程序运行时需要耗费多少内存Q?/span>

3)       启动的时间——程序启动需要多长时_(d)q在 Web 目中的影响不大Q但要注意部分程序需要部|或q行在客L(fng)时的情ŞQ比?/span> applet E序Q?/span>

4)       E序的可伸羃性——在压力负蝲的情况下Q程序的性能如何Q?/span>

5)       性能的感知——用户在什么情况下?x)觉得程序的性能不好Q?/span>

以上五个斚wQ在具体的用场景可以有选择的去评判。至于这五方面的性能调优Q在后箋的章节中会(x)陆箋的给以相应的性能调优{略?/span>

1.2 调优的规?/span>

我们只需要关心对我们E序有媄(jing)响,可以察觉到的性能问题Q而不是每一个类中的每一个方法我们都需要想方设法的提高性能。如果程序的性能没有辑ֈ我们所期望的要求,我们才需要考虑如何优化性能。同L(fng)Q晦涩的代码虽然提高了程序的性能Q但同时可能带给我们的是l护的噩梦。我们需要折中的考虑以上两种情况Q得程序的代码是优的Qƈ且运行的_快,辑ֈ客户所期望的性能要求?/span>

优化代码甚至?x)导致不良的l果Q?/span> Donald Knuth Q一位比较牛比较有媄(jing)响的人物Q具体是谁,我也忘了Q谁知道Q可以告诉我一下,谢谢Q)(j)曾说q,?/span> Premature optimization is the root of all evil?/font> 。在开始性能调优前,需要先指出不优化代码的一些理由?/span>

1)       如果优化的代码已l正常工作,优化后可能会(x)引入新的 bug Q?/span>

2)       优化代码向于代码更难理解和维护;

3)       在一个^C优化的代码,在另一个^C可能更糟Q?/span>

4)       p很多旉在代码的优化上,提高了很的性能Q却D了晦涩的代码?/span>

实Q在优化前,我们必须认真的考虑是否值得M化?/span>

1.3 调优的步?/span>

一般我们提高应用程序的性能划分Z下几个步骤:(x)

1)       明确应用E序的性能指标Q怎样才符合期望的性能需求;

2)       在目标^台进行测试;

3)       如果性能已经辑ֈ性能指标Q?/span> Stop Q?/span>

4)       查找性能瓉Q?/span>

5)       修改性能瓉Q?/span>

6)       q回到第 2 步?/span>

?/span> JDK 调优

2.1 选择合适的 JDK 版本

不同版本?/span> JDK Q甚至不同厂家的 JDK 可能都存在着很大的差异,对于性能优化的程度不同。一般来_(d)可能选择最新发布的E_?/span> JDK 版本。最新的E_?/span> JDK 版本相对以前?/span> JDK 版本都会(x)做一?/span> bug 的修改和性能的优化工作?/span>

2.2 垃圾攉 Java 堆的优化

垃圾攉是自动释放不再被程序所使用的对象的q程。当一个对象不再被E序所引用Ӟ它所引用的堆I间可以被回Ӟ以便被后l的新对象所使用。垃圾收集器必须能够断定哪些对象是不再被引用的,q且能够把它们所占据的堆I间释放出来。如果对象不再被使用Q但q有被程序所引用Q这时是不能被垃圾收集器所回收的,此时是所谓的“内存泄漏”。监控应用程序是否发生了内存泄漏Q有一个非怼U的监控工h荐给大家—?/span> Quest 公司?/span> JProbe 工具Q用它来观察程序运行期的内存变化,q可产生内存快照Q从而分析ƈ定位内存泄漏的确切位|,可以_定位到源码内。这个工L(fng)使用我在后箋的章节中q会(x)做具体介l?/span>

Java 堆是指在E序q行时分配给对象生存的空间。通过 -mx/-Xmx ?/span> -ms/-Xms 来设|v始堆的大和最大堆的大。根据自?/span> JDK 的版本和厂家军_使用 -mx ?/span> -ms ?/span> -Xmx ?/span> -Xms ?/span> Java 堆大决定了垃圾回收的频度和速度Q?/span> Java 堆越大,垃圾回收的频度越低,速度慢。同理, Java 堆越,垃圾回收的频度越高,速度快。要惌|比较理想的参数Q还是需要了解一些基知识的?/span>

Java 堆的最大g能太大,q样?x)造成pȝ内存被频J的交换和分c(din)所以最大内存必M于物理内存减d他应用程序和q程需要的内存。而且堆设|的太大Q造成垃圾回收的时间过长,q样得不偿失,极大的媄(jing)响程序的性能。以下是一些经怋用的参数讄Q?/span>

1)       -Xms {于 -XmX 的|

2)       估计内存中存?gu)zd象所占的I间的大,讄 -Xms {于此| -Xmx 四倍于此|

3)       -Xms {于 -Xmx ?/span> 1/2 大小Q?/span>

4)       -Xms 介于 -Xmx ?/span> 1/10 ?/span> 1/4 之间Q?/span>

5)       使用默认的设|?/span>

大家需要根据自qq行E序的具体用场景,来确定最适合自己的参数设|?/span>

除了 -Xms ?/span> -Xmx 两个最重要的参数外Q还有很多可能会(x)用到的参敎ͼq些参数通常强烈的依赖于垃圾攉的算法,所以可能因?/span> JDK 的版本和厂家而有所不同。但q些参数一般在 Web 开发中用的比较?yu),我就不做详细介绍了。在实际的应用中注意讄 -Xms ?/span> -Xmx 使其可能的优化应用E序p了。对于性能要求很高的程序,需要自己再多研I研I?/span> Java 虚拟机和垃圾攉法的机制了。可以看看曹晓钢译的《深?/span> Java 虚拟机》一书?/span> 


 


jie_java 2007-03-19 10:12 发表评论
]]>
[转蝲]男h三十岁前不应该在乎的事情Q?/title><link>http://www.aygfsteel.com/jie-java/archive/2006/12/07/86125.html</link><dc:creator>jie_java</dc:creator><author>jie_java</author><pubDate>Thu, 07 Dec 2006 08:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/jie-java/archive/2006/12/07/86125.html</guid><wfw:comment>http://www.aygfsteel.com/jie-java/comments/86125.html</wfw:comment><comments>http://www.aygfsteel.com/jie-java/archive/2006/12/07/86125.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jie-java/comments/commentRss/86125.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jie-java/services/trackbacks/86125.html</trackback:ping><description><![CDATA[ <font size="2">1、放?<br /></font> <div class="wmqeeuq" id="msgcns!A9DD07CF0EC1A100!168"> <div>  有舍才有? </div> <div>  把握的反面就是放弃,选择了一个机?x),q于放弃了其它所有的可能。当新的Z(x)摆在面前的时候,敢于攑ּ已经获得的一切,q不是功亏一,q不是半途而废Q这是ؓ(f)了谋求更大的发展I间Q或者什么都不ؓ(f)Q只因ؓ(f)喜欢q样做,因ؓ(f)Q年d是最大的Z(x)。不断尝试新的挑战,?x)让人生更丰? </div> <div>  人,只有在三十岁之前才会(x)有这个胆量,有这雄厚的资本,才能具备q个资格?</div> <div>  <strong>2、失?</strong></div> <div>  不是不在乎,是在乎不赗如果沉q其中的(zhn)伤Q将错失所有更好的一? </div> <div>  三十岁前最怕失ȝQ不是已l拥有的东西Q而是失去梦想。爱情如果只是一个过E,那么正是q个q龄应当l历的,如果要承担结果,三十岁以后,可能?x)更有能力,更有资格?</div> <div>  其实Q三十岁之前Q我们要做的事情很多Q稍U即逝,q久地沉溺在已经q涸的爱河的沛_中,与这个年龄应拥有的热情活力的生命节奏不合?</div> <div>  <strong>3、离?</strong></div> <div>  不是不在乎,是重新找到真正的q福一切还来得?qing)?</div> <div>  一位三十八岁的奛_与老公l婚十五q_(d)h十三q_(d)l于分手了。她_(d)(x)"如果说后来不愿意d是ؓ(f)了孩子,那他W一ơ提出离婚我没有同意Q现在想来真不知道ؓ(f)什么。如果那个时候早分手Q我的生zȝ不会(x)是今天这个样子。现在再重新开始,总觉得一切都晚了?</div> <div>  <strong>4、漂?</strong></div> <div>  漂泊不是一U不q,而是一U资根{趁着没有家室拖篏Q趁着w体健康Q此时不飘何旉Q相信已婚的Z定很认同q句话。也只有漂泊q的人,才懂得珍惜日后安定的q福?</div> <div>  当然Q漂泊的不一定是w体Q也许只是惛_梦境。新世纪的时领袖是飘Q的一代,渴望漂泊的h唯一不飘的是那颗心?</div> <div>  5、失?</div> <div>  三十岁以前,尝到失业的滋味当然是一件不q的事,但不一定是坏事Q它同时可以让你更懂人情事故Q体?x)h情冷暖?</div> <div>  三十岁之前,p早地固定在一个职业上Q终此一生也许才是最大的不幸。失业也许让你想起埋藏很久而尘的梦想Q也怼(x)唤醒q你自己都从未知道的潜能。也怽本来没什么梦惻Iq时候也?x)逼着你去做梦?</div> <div>  6、时?</div> <div>  不要q赶时尚Q因多花费与奢侈可能D生活拮据或是信用破?</div> <div>  按说青年人应该是最时尚的,但是独立思考和个性生zL重要。在q个物质C会(x)Q其实对时尚的追求早已经成ؓ(f)寚wqq求。今天,时尚是物Ʋ和世俗的同义语?</div> <div>  7、格?</div> <div>  q是属于雅痞的东西,q求D?yu)是他们的专利?</div> <div>  他们_(d)有格调要满四大要gQ智能、素充R自信和金钱。格调就是把〝高〞理解成I著、气质、爱好的品位和室内装潢?</div> <div>  也就是大老粗只会(x)表现谈吐的庸俗,〝雅痞〞们已经有能力庸俗他们的心灵了。主观念倒不是非要另c,另类已经成ؓ(f)q轻늚L了,在今天,老土倒显得另cR关键是当今C会(x)是一个创造观늚时代Q而不是一个固守陈旧观늚时代?</div> <div>  8、评?</div> <div>  我们最不应该做出的牺牲Q就是因为别人的评h(hun)而改变自?因ؓ(f)那些对你指手画脚的hQ其实四Ҏ(gu)指头正指着自己Q惶惑的不知道他们遵从的规则是什么?</div> <div>  千万不要只遵从规矩做事,规矩q在创造之中,要根据自q判断做每一件事Q虽然这样会(x)ȝ(ch)一炏V?</div> <div>  9、幼E?</div> <div>  不要怕h说我们幼E,q正说明你还q轻Q还充满zdQ正享受q福的h生。〝成熟〞是个吓人的词儿Q也是个害h的词ѝ成熟和q稚是对一个h最大而无当、最不负责Q、最没用的概括?</div> <div>  那些思hQ绝不会(x)有h说他们幼E。不信,到哪天你被生zd得老气横秋Q暮气沉沉的时候,Z一定会(x)说你成熟了,你就?x)知道〝成熟〞是个什么东ѝ?</div> <div>  10、不适应 </div> <div>  在一首摇?有这么一句:(x)q个城市改变了我Q这个城市不需要我。不要盲目地适应你生存的环境Q因为很可能q环境自w已l不适应q个C会(x)的发展了?</div> <div>  11、失?</div> <div>  我的老师曄跟我_(d)一个hL(fng)要在感情上失恋一ơ,在事业上p|一ơ,在选择上失误一ơ,才能长大。不要说p|是成功之母那L(fng)老话Q失败来得越早越好,要是三十岁,四十岁之后再l历p|Q有些事Q很可能来不及(qing)了?</div> <div>  12、错?</div> <div>  不要怕跌?犯错Q是没有l验的年Mh的专利?</div> <div>  13、浅?</div> <div>  如果每看一ơ《铁辑ְ受就一ơ眼泪,每看一ơ豆豆先生就W得直不赯Q就?x)有人笑你浅薄。其实那只能说明你的经依旧非常敏锐Q对哪怕非常微q刺激都会(x)q速做出适应的反应;{你的感觉迟钝了Qh们就?x)说你深沉了?</div> <div>  14、明?</div> <div>  不是不必在乎Q是不能在乎?</div> <div>  明星在商品社?x)是一U消费品Q花了钱Q听了歌Q看了电(sh)影,明星们的表现再好Q不q是物超所D己Q也不值得崇拜呀Q?</div> <div>  像你在地摊上花五十块钱买的仿冒皮包Q别人都猜是正牌货,物超所g吧?你就崇拜上这个包包了吗? </div> <div>  15、代?</div> <div>  不是不计代h(hun)Q而是要明白做M事都要付Z仗对我们q个q龄的h来说Q这l不是一句废话。否则,要到三十岁的时候才?x)明白自己曾l付Z多少代h(hun)Q却不明白ؓ(f)什么付出,更不明白自己得到了多,得到什么?</div> <div>  16、孤?</div> <div>  不要怕一个hQ这是ؓ(f)自由付出的代仗?</div> <div>  17、失?</div> <div>  包括感情上的Q事业上的,也许仅仅是今天花了冤枉钱没买到喜Ƣ的东西Q朋友家高朋满自己却插不上一句话。过分在乎失意的感受Q不是拿命运的捉弄来捉弄自己Q就是拿别h的错误来惩罚自己?</div> <div>  18、缺?</div> <div>  也许你个子矮Q也怽长得不好看,也许你的嗓音像唐老鸭……那么你的优势就是:(x)你不?x)被自己表面的浅薄的亮点所耽搁Q少׃些时_(d)走一些弯Q直接发C内在的优势,直接挖掘自己深层的潜能?</div> <div>  19、误?</div> <div>  如果Z恶意Q那么解释也没有用;如果Z善意Q就不需要解释。专门说到〝误?x)〞倒不是因Z个h在三十岁之前被h误会(x)的时候更多,而是q个q龄的h想不开的时候更多?</div> <div>  20、谣a </div> <div>  q是一U传染病Q沉默是最好的疫苗。除非你能找Z染源Q否则解释恰C(x)成ؓ(f)病毒传播最理想的条件?</div> <div>  21、疯?</div> <div>  q是q轻人最好的心理调适,只能说明你精力旺盛,w心健康。说你〝疯狂〞是某些生活压抑、心力交瘁的中老年人恶意的评h(hun)Q他们就像一部年久失修的机器Q最需要调试,但只能微调,一ơ大修就?x)让他们完全报废?</div> <div>  E_三十岁之前就在乎E_的生z,那只有两U可能,要么是中了彩票Q要么就是未老先衰?</div> <div>  22、压?</div> <div>  中年够承受多大压力检验的是他的韧性;q轻承受多大压力Q焕发的是他的潜能?</div> <div>  23、出?</div> <div>  对待出国的态度应该像对待爱情一P努力争取成|随缘?</div> <div>  24、薪?</div> <div>  l有q见的你Q如果只是给人打工,薪水再高也高不到哪儿厅R所以不要太计较你从工作中得到多钱Q而是在三十岁之前Q机?x)远比金钱重要,事业q比金钱重要Q将来远比金钱重要?</div> <div>  对大多数人来_(d)三十岁之前工作的首要目标l不是挣钱,而是挣未来?</div> <div>  25、存?gu)?</div> <div>  不要在意有没有存?gu)ƾ,倒不一定是因ؓ(f)我们钱少Q年Mh现在谁都知道钱是有生命的?</div> <div>  到处都是信用PZ(x)q么多,条g有都很好Q可以拿钱去投资Q拿钱去“充?sh)”。钱只有在它通的q程中才是钱Q否则只是一叠世界上质量最好的废纸?</div> <div>  26、房?</div> <div>  除非买房子是Z升|或是你结婚,不然大可不必Z房子挤破头的伤脑{?</div> <div>  有个男子Q家在外圎ͼ大学毕业之后Q家人就替他C一间房子。他曄有个ȝ国工作的Z(x)Q但是他觉得刚买了房子就d上v说不q去Q就攑ּ了?</div> <div>  现在他工作稳定,但总觉得自己好象一事无成。唯一的成就是结婚了Qƈ且有了孩子,因ؓ(f)他觉得不该让q房子永q空着Q所以房子变成了家。房子是都市生活的寓aQ这个寓a不应该过早的和我们相兟?</div> <div>  27、年?</div> <div>  接近三十岁女孩子开始隐瞒自qq龄Q其实大可不必。现在青q期都gq到四十五岁了,快三十又得了什么呢Q?</div> <div>  28、在?</div> <div>  q是一U拿不v、放不下的心态,它的反面不是攑ּQ而是天马行空Q自p在,永远保持革命乐观M的精?/div> </div> <img src ="http://www.aygfsteel.com/jie-java/aggbug/86125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jie-java/" target="_blank">jie_java</a> 2006-12-07 16:58 <a href="http://www.aygfsteel.com/jie-java/archive/2006/12/07/86125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>高手谈做E序员的基本原则http://www.aygfsteel.com/jie-java/archive/2006/08/13/63289.htmljie_javajie_javaSun, 13 Aug 2006 02:16:00 GMThttp://www.aygfsteel.com/jie-java/archive/2006/08/13/63289.htmlhttp://www.aygfsteel.com/jie-java/comments/63289.htmlhttp://www.aygfsteel.com/jie-java/archive/2006/08/13/63289.html#Feedback0http://www.aygfsteel.com/jie-java/comments/commentRss/63289.htmlhttp://www.aygfsteel.com/jie-java/services/trackbacks/63289.html                                                              高手谈做E序员的基本原则
                                                                                                                  引用来源Q金蝶中间g公司CTO袁红?br />
      不知不觉做Y件已l做了十q_(d)有成功的喜?zhn)Q也有失败的痛苦Q但M敢称自己是高手,因ؓ(f)和我心目中真正的高手们比hQ还差的太远。世界上q没有成为高手的捷径Q但一些基本原则是可以遵@的?/p>

  1. 扎实的基。数据结构、离散数学?a class="bluekey" target="_blank">~译原理Q这些是所有计机U学的基Q如果不掌握他们Q很隑ֆ出高水^的程序。据我的观察Q学计算Z?/a>的h比学其他专业的h更能写出高质量的软g。程序h人都?x)写Q但当你发现写到一定程度很隑ֆ提高的时候,应该想x不是要回q头来学学这些最基本的理论。不要一开始就dOOPQ即使你再精通OOPQ遇C些基本算法的时候可能也?x)束手无{?/p>

  2. 丰富的想象力。不要拘泥于固定的思维方式Q遇到问题的时候要多想几种解决问题的方案,试试别h从没惌的方法。丰富的惌力是建立在丰富的知识的基上,除计机以外Q多涉猎其他的学U,比如天文、物理、数学等{。另外,?a class="bluekey" target="_blank">看科qȝ(sh)?/a>也是一个很好的途径?/p>

  3. 最单的是最好的。这也许是所有科学都遵@的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的Ҏ(gu)更容易被人理解,更容易实玎ͼ也更Ҏ(gu)l护。遇到问题时要优先考虑最单的Ҏ(gu)Q只有简单方案不能满求时再考虑复杂的方案?/p>

  4. 不钻牛角。当你遇到障的时候,不妨暂时q离?sh)脑Q看看窗外的风景Q听听轻音乐Q和朋友聊聊天。当我遇到难题的时候会(x)ȝ游戏Q而且是那U极暴力的打斗类游戏Q当负责游戏的那部分大脑l胞(yu)极度亢奋的时候,负责~程的那部分大脑l胞(yu)得C充分的休息。当重新开始工作的时候,我会(x)发现那些N现在竟然可以q刃而解?/p>

  5. 对答案的渴求。hc自然科学的发展史就是一个(f)求得到答案的q程Q即使只能知道答案的一部分也值得我们M出。只要你坚定信念Q一定要扑ֈ问题的答案,你才?x)付出精力去探?ch)Q即使最后没有得到答案,在过E中你也?x)学到很多东ѝ?/p>

  6. 多与别h交流。三必有我师Q也许在一ơ和别h不经意的谈话中,可以迸出灵感的火花。多上上|,看看别h对同一问题的看法,?x)给你很大的启发?/p>

  7. 良好的编E风根{注意养成良好的?fn)惯Q代码的~进~排Q变量的命名规则要始l保持一致。大安知道如何排除代码中错误,却往往忽视了对注释的排错。注释是E序的一个重要组成部分,它可以你的代码更容易理解,而如果代码已l清楚地表达了你的思想Q就不必再加注释了,如果注释和代码不一_(d)那就更加p糕?/p>

  8. 韧性和毅力。这也许?高手"和一般程序员最大的区别。高手们q不是天才,他们是在无数个日日夜夜中练出来的。成功能l我们带来无比的喜?zhn)Q但q程却是无比的枯燥乏呟뀂你不妨做个试Q找?0000以内的素数表Q把它们全都抄下来,然后再检查三遍,如果能够不间断地完成q一工作Q你可以满一条?/p>

  q些是我q几q程序员生(dng)的一点体?x),希望能够l大家有所帮助?/p>

jie_java 2006-08-13 10:16 发表评论
]]>
一个美国老工E师的心理话: l年dE师的十大忠?/title><link>http://www.aygfsteel.com/jie-java/archive/2006/07/18/58793.html</link><dc:creator>jie_java</dc:creator><author>jie_java</author><pubDate>Tue, 18 Jul 2006 07:29:00 GMT</pubDate><guid>http://www.aygfsteel.com/jie-java/archive/2006/07/18/58793.html</guid><wfw:comment>http://www.aygfsteel.com/jie-java/comments/58793.html</wfw:comment><comments>http://www.aygfsteel.com/jie-java/archive/2006/07/18/58793.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jie-java/comments/commentRss/58793.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jie-java/services/trackbacks/58793.html</trackback:ping><description><![CDATA[[1]好好规划自己的\Q不要跟着感觉赎ͼҎ(gu)个h的理惛_{安排,l大部分人ƈ不指望成Z么院士或教授Q而是希望zd滋润一些,爽一些。那么,需要慎重安排自q轨迹。从哪个行业入手Q逐渐对该行业深入了解Q不要频J蟩槽,特别是不要ؓ(f)了一点工资而{U阵圎ͼ从长q看Q这炚wҎ(gu)不算什么,当你对一个行业有那么几年的体?x),以后钱根本不是问题。频J地动荡不是上策Q最后你对哪个行业都没有摔R,永远是新手!   <br /><br />[2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!l自己很大压力,如果你的心思全部放在这上面Q那么注定你成为孔乙己一cȝ人物Q适可而止ZQ因为技术只不过是你今后前途的支柱之一Q而且q不是最大的支柱Q除非你只愿意到老还是个工程师!   <br /><br />[3] 不要d技术高手,只去做综合素质高手!在企业里P我们时常瞧不h人,说他“什么都不懂Q凭啥拿那么多钱Q凭啥升官!”这是普遍的典型的工E师的迂腐之a?051很牛吗?人家能上d然有他的本事Q而且是你没有的本事。你xQ老板搞经营那么多q_(d)N见识不如你这个新兵?人家或许善于理Q善于领?x)老板意图Q善于部门协调等{。因此务必培养自己多斚w的能力,包括理Q亲和力Q察a观色能力Q攻兌力等Q要成ؓ(f)l合素质的高手,则前途无量,否则只能w在角落看示波器Q技术以外的技能才是更重要的本事!Q从古到今,国*本,一律如此!   <br /><br />[4]多交C会(x)三教?ji)流的朋友!不要只和工程师交往Q认为有共同语言Q其实更重要的是和其他类人物交往Q如果你希望有朝一*当老板或高层管理,那么你整*面对的就是这些h。了解他们的l历Q思维?fn)惯Q爱好,学习(fn)他们处理问题的模式,了解C会(x)各个角落的现象和问题Q这是以后发展的巨大的本钱,没有q些以后׃(x)W手W脚Q跌跌撞撞,遇到重重困难Q交不少学费Q成功的概率大大降低Q?br /><br /> [5]知识涉猎不一定专Q但一定要q!多看看其他方面的书,金融Q胦(ch)?x),q出口,E务Q法律等{,Z后做一些积累,以后的用处会(x)更大Q会(x)交许多学费Q!   <br /><br />[6] 抓住时机向技术管理或市场销售方面的转变Q要x前途就不能一直搞开发,适当时候要转变为管理或销售,前途会(x)更大Q以前搞技术也没有白搞Q以后还用得着。搞理可以培养自己的领D力,搞销售可以培养自q市场概念和思维Q同时ؓ(f)自己以后发展U篏庞大的h脉!应该说这才是前途的真正支柱Q!Q   <br /><br />[7] 逐渐克服自己的心里弱点和性格~陷Q多疑,敏感Q天真(贬义Qƈ不可爱)(j)Q犹豫不冻I胆怯,多虑Q脸皮太薄,心不够黑Q教条式思维。。。这些工E师普遍存在的性格q必须改变Q很隑֐Q只在床上想一惛_然不可能Q去帮朋友守一个月地摊Q包准有效果Q去实践Q而不要只惻I不克服这些缺点,一切不可能Q甚臌目l理都当不好--管你可能技术不错!   <br /><br />[8]工作的同时要Z后做准备Q徏立自q工作环境Q及(qing)早ؓ(f)自己配置一个工作环境,装备?sh)脑Q示波器Q可以买个二手的Q,仿真器,~程器等Q业余可以接Ҏ(gu)Q一斚w接触市场Q培d场感觉,同时也积累资金,更重要的是准备自q产品Q咱搞技术的没有钱,只有技术,技术的代表不是学历和证书,而是产品Q拿L(fng)产品Q就可技术{让或与h合作搞企业!先把东西准备好,{待Z(x)Q否则,有了Z(x)也抓不住Q   <br /><br />[9]要学?x)善于推销自己Q不仅要能干Q还要能_(d)能写Q善于利用一切机?x)推销自己Q树(wi)立自q品牌形象Q很必要Q要创造条件让别h了解自己Q不然老板怎么知道你能qԌ外面的投资h怎么怿你?提早把自己推销出去Q机?x)自然?x)来找你!搞个个h主页是个好注意!Q特别是培养自己在行业的名气Q有了名气,高薪Z(x)自不在话下,更重要的是有合作的机?..   <br /><br />[10]该出手时便出手!永远不可能有100%把握Q!Q条件差不多p大胆dQ去闯出自己的事业,不要犹UQ不要彷徨,q了不一定成功,但至ؓ(f)下一ơ冲ȝ累了l验Q不q永q没出息Q而且要干成必然要l历p|。不l历风雨Q怎么见彩虹,没有随随便便成功Q?<br /><img src ="http://www.aygfsteel.com/jie-java/aggbug/58793.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jie-java/" target="_blank">jie_java</a> 2006-07-18 15:29 <a href="http://www.aygfsteel.com/jie-java/archive/2006/07/18/58793.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用jstl实现下拉框的功能Q同时实Cif else功能http://www.aygfsteel.com/jie-java/archive/2006/06/30/55937.htmljie_javajie_javaFri, 30 Jun 2006 05:28:00 GMThttp://www.aygfsteel.com/jie-java/archive/2006/06/30/55937.htmlhttp://www.aygfsteel.com/jie-java/comments/55937.htmlhttp://www.aygfsteel.com/jie-java/archive/2006/06/30/55937.html#Feedback0http://www.aygfsteel.com/jie-java/comments/commentRss/55937.htmlhttp://www.aygfsteel.com/jie-java/services/trackbacks/55937.html该例子主要实Cjstl 下拉菜单的功能,׃jstl中没有else功能Q下面同时体C如何在jstl实现if  else的功能?br /><%
java.util.List list = new java.util.ArrayList();
list.add("");
list.add("限时");
list.add("Ҏ(gu)");
list.add("qx?);
request.setAttribute("list", list);

//用数l也可以实现
//String[] str = {"","限时","Ҏ(gu)","Ҏ(gu)?};
//request.setAttribute("list",str);
%>

<select size="1" name="jjcd" value="" style="width: 91; height: 18">
  <c:forEach var="item" items="${list}">
  <c:choose>
  <c:when test="${item eq 'Ҏ(gu)'}">
  <option selected>Ҏ(gu)</option>
  </c:when>
  <c:otherwise>
   <option><c:out value="${item}"/></option>
  </c:otherwise>
  </c:choose>
  </c:forEach>
</select>

另一U实C拉菜单的Ҏ(gu)Q?br />   <select name="jjcd">
  <c:forEach var="item" items="${list}">
   <option <c:if test="${item eq 'Ҏ(gu)'}">selected</c:if> value="<c:out value="${item}"/>">
   <c:out value="${item}"/></option>
  </c:forEach>
   </select>



jie_java 2006-06-30 13:28 发表评论
]]>
hibernate对视囄操作http://www.aygfsteel.com/jie-java/archive/2006/06/01/49669.htmljie_javajie_javaThu, 01 Jun 2006 08:21:00 GMThttp://www.aygfsteel.com/jie-java/archive/2006/06/01/49669.htmlhttp://www.aygfsteel.com/jie-java/comments/49669.htmlhttp://www.aygfsteel.com/jie-java/archive/2006/06/01/49669.html#Feedback15http://www.aygfsteel.com/jie-java/comments/commentRss/49669.htmlhttp://www.aygfsteel.com/jie-java/services/trackbacks/49669.html      ׃视图没有主键Q所以在用hibernate对视图操作就需要做点处理了Q网上搜了一通也没能扑ֈ相关文章Q后来突然想Cmyeclipse可以帮助生成hibernate的配|文件和对应的pojo代码?br />      打开myeclipseQ选择相关的视图,生成了配|文件和pojoc,发现pojocȝ成了两个Q而配|文件却一个,参看了配|文件和c,明白了是怎么回事。生成的配置文g通过了组合的方式生成Q所以会(x)对应两个c,一个类主要存放id信息Q以个类存放对应的字D信息?br />      下面是生成的cd配置文gQ?br />c:(x)
public class AllTablePb implements Serializable {

 // Fields
 private AllTablePbId id;

 // Property accessors
 public AllTablePbId getId() {
  return this.id;
 }

 public void setId(AllTablePbId id) {
  this.id = id;
 }
}

public class AllTablePbId implements java.io.Serializable {

 // Fields

 private String owner;

 private String tableName;

 private String columnName;

 private String dataType;

 private String pbcCnam;

 private String pbcCmnt;

 // Property accessors

 public String getOwner() {
  return this.owner;
 }

 public void setOwner(String owner) {
  this.owner = owner;
 }

 public String getTableName() {
  return this.tableName;
 }

 public void setTableName(String tableName) {
  this.tableName = tableName;
 }

 public String getColumnName() {
  return this.columnName;
 }

 public void setColumnName(String columnName) {
  this.columnName = columnName;
 }

 public String getDataType() {
  return this.dataType;
 }

 public void setDataType(String dataType) {
  this.dataType = dataType;
 }

 public String getPbcCnam() {
  return this.pbcCnam;
 }

 public void setPbcCnam(String pbcCnam) {
  this.pbcCnam = pbcCnam;
 }

 public String getPbcCmnt() {
  return this.pbcCmnt;
 }

 public void setPbcCmnt(String pbcCmnt) {
  this.pbcCmnt = pbcCmnt;
 }

}

配置文gQ?br /><hibernate-mapping>
 <class name="com.hhkj.workflow.bean.AllTablePb" table="V_ALLTAB_PB" schema="CANP">
  <composite-id name="id" class="com.hhkj.workflow.bean.AllTablePbId">
   <key-property name="owner" type="string">
    <column name="OWNER" length="30" />
   </key-property>
   <key-property name="tableName" type="string">
    <column name="TABLE_NAME" length="30" />
   </key-property>
   <key-property name="columnName" type="string">
    <column name="COLUMN_NAME" length="30" />
   </key-property>
   <key-property name="dataType" type="string">
    <column name="DATA_TYPE" length="106" />
   </key-property>
   <key-property name="pbcCnam" type="string">
    <column name="PBC_CNAM" length="30" />
   </key-property>
   <key-property name="pbcCmnt" type="string">
    <column name="PBC_CMNT" length="254" />
   </key-property>
  </composite-id>
 </class>
</hibernate-mapping>
q样可以通过AllTablePb.getId()取得相关的信息?br />      感觉myeclipse的确不错Q特别是对于使用hibernateq不是非常熟l的人来_(d)通过它可以帮解决不少问题?br />      通过q样对视囄操作Q同样也可以用到对于那些没有定义主键的表Q操作方法是一L(fng)?br />      呵呵Q个人的一点体?x),Ƣ迎大家多提意见?/p>

jie_java 2006-06-01 16:21 发表评论
]]>
Java接口Ҏ(gu)学?/title><link>http://www.aygfsteel.com/jie-java/archive/2006/05/30/48980.html</link><dc:creator>jie_java</dc:creator><author>jie_java</author><pubDate>Tue, 30 May 2006 06:23:00 GMT</pubDate><guid>http://www.aygfsteel.com/jie-java/archive/2006/05/30/48980.html</guid><wfw:comment>http://www.aygfsteel.com/jie-java/comments/48980.html</wfw:comment><comments>http://www.aygfsteel.com/jie-java/archive/2006/05/30/48980.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jie-java/comments/commentRss/48980.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jie-java/services/trackbacks/48980.html</trackback:ping><description><![CDATA[ <font size="2">?span lang="EN-US" style="FONT-SIZE: 10pt"><font face="Times New Roman">Java</font></span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中看到接口,W一个想到的可能是</span><span lang="EN-US" style="FONT-SIZE: 10pt"><font face="Times New Roman">C++</font></span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的多重l承?/span><span lang="EN-US" style="FONT-SIZE: 10pt"><font face="Times New Roman">Java</font></span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的另外一个关键字</span><span lang="EN-US" style="FONT-SIZE: 10pt"><font face="Times New Roman">abstract</font></span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。从另外一个角度实现多重承是接口的功能之一Q接口的存在可以?/span><span lang="EN-US" style="FONT-SIZE: 10pt"><font face="Times New Roman">Java</font></span></font> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的对象可以向上转型为多个基cdQƈ且和抽象cM样可以防止他人创cȝ对象Q因为接口不允许创徏对象?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> <font face="Times New Roman"> </font> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">interface</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">关键字用来声明一个接口,它可以生一个完全抽象的c,q且不提供Q何具体实现?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">interface</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的特性整理如下:(x)</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">1.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口中的Ҏ(gu)可以有参数列表和q回cdQ但不能有Q何方法体?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">2.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口中可以包含字D,但是?x)被隐式的声明?f)</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">static</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">final</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">3.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口中的字段只是被存储在该接口的静态存储区域内Q而不属于该接口?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">4.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口中的Ҏ(gu)可以被声明ؓ(f)</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">public</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或不声明Q但l果都会(x)按照</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">public</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cd处理?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">5.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当实C个接口时Q需要将被定义的Ҏ(gu)声明?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">public</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cd的,否则为默认访问类型,</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">Java</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">~译器不允许q种情况?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">6.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果没有实现接口中所有方法,那么创徏的仍然是一个接口?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">7.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">扩展一个接口来生成新的接口应用关键字</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">extends</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q实C个接口?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">implements</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> <font face="Times New Roman"> </font> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">interface</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在某些地方和</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">abstract</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有相似的地方Q但是采用哪U方式来声明cM要参照以下两点:(x)</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">1.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果要创Z带Q何方法定义和成员变量的基c,那么应该选择接口而不是抽象类?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore"> <font face="Times New Roman">2.<span style="FONT: 7pt 'Times New Roman'">        </span></font> </span> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果知道某个cd该是基类Q那么第一个选择的应该是让它成ؓ(f)一个接口,只有在必要有方法定义和成员变量的时候,才应该选择抽象cR因为抽象类中允许存在一个或多个被具体实现的Ҏ(gu)Q只要方法没有被全部实现该类׃是抽象类?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> <font face="Times New Roman"> </font> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以上是接口的基本特性和应用的领域,但是接口l不仅仅如此Q在</span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">Java</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">语法l构中,接口可以被嵌套,既可以被某个cd套,也可以被接口嵌套。这在实际开发中可能应用的不多,但也是它的特性之一。需要注意的是,在实现某个接口时Qƈ不需要实现嵌套在其内部的M接口Q而且Q?/span> <span lang="EN-US" style="FONT-SIZE: 10pt"> <font face="Times New Roman">private</font> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口不能在定义它的类之外被实现?/span> </p> <img src ="http://www.aygfsteel.com/jie-java/aggbug/48980.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jie-java/" target="_blank">jie_java</a> 2006-05-30 14:23 <a href="http://www.aygfsteel.com/jie-java/archive/2006/05/30/48980.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʯׯ</a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϰ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ԫ</a>| <a href="http://" target="_blank">Ů</a>| <a href="http://" target="_blank">˿</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">۳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӧñر</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӧ</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">żҿ</a>| <a href="http://" target="_blank">质</a>| <a href="http://" target="_blank">̶</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Т</a>| <a href="http://" target="_blank">DZ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">֦</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>