??xml version="1.0" encoding="utf-8" standalone="yes"?>精品久久久国产精品999,无码日韩精品一区二区免费,中文字幕高清不卡http://www.aygfsteel.com/vagasnail/category/42601.htmld双Ӏ看说、写E序都是我所爱?/description>zh-cnFri, 06 Nov 2009 19:39:27 GMTFri, 06 Nov 2009 19:39:27 GMT60Java字符串处理机?/title><link>http://www.aygfsteel.com/vagasnail/articles/301146.html</link><dc:creator>vagasnail</dc:creator><author>vagasnail</author><pubDate>Wed, 04 Nov 2009 12:57:00 GMT</pubDate><guid>http://www.aygfsteel.com/vagasnail/articles/301146.html</guid><wfw:comment>http://www.aygfsteel.com/vagasnail/comments/301146.html</wfw:comment><comments>http://www.aygfsteel.com/vagasnail/articles/301146.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/vagasnail/comments/commentRss/301146.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/vagasnail/services/trackbacks/301146.html</trackback:ping><description><![CDATA[ * 单的ȝ下:intern()Ҏ<br /> * q个Ҏ是扣留的意思。呵c?br /> * 把当前字W串扣留到池中,然后用同L字符串时是从内存池中取Q而不会生新对象Q提供效率了撒?br /> * 都知道我们在JVM中内|了一个字W串池?br /> * 所有的字面值字W串和字W串赋值常量表辑ּ都用intern()Ҏq行操作?br /> * 但是有一点不同,是通过new生成的字W串对象Q这个对象生成了两个字符串对象,<br /> * 一个是字面字符Ԍq个可以从池中取Q或者生成新字符串对象,q扣留到池中Q,然后在将q个字符串对?br /> * 的glnew出来的字W串对象的构造器Q生成一个新字符串对象(q个字符串是没有扣留到池中的Q,Cnew关键字L生成了对象?br /> * 而我们给q个new出的字符串调用intern()ҎQ就会把q个字符串对象扣留到池中Q而且如果池中有相同的字面值的字符Ԍ<br /> * ׃q回池中的字W串Q如果我们将该字W串引用赋给原先字符串的引用变量Q那么我们就会省M个对象,原先的字W串对象׃被某一个时dӞ<br /> * 如果池中没有相同值的字符串就q回该对象自w?img src ="http://www.aygfsteel.com/vagasnail/aggbug/301146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/vagasnail/" target="_blank">vagasnail</a> 2009-11-04 20:57 <a href="http://www.aygfsteel.com/vagasnail/articles/301146.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Toolkit与AWThttp://www.aygfsteel.com/vagasnail/articles/301145.htmlvagasnailvagasnailWed, 04 Nov 2009 12:56:00 GMThttp://www.aygfsteel.com/vagasnail/articles/301145.htmlhttp://www.aygfsteel.com/vagasnail/comments/301145.htmlhttp://www.aygfsteel.com/vagasnail/articles/301145.html#Feedback0http://www.aygfsteel.com/vagasnail/comments/commentRss/301145.htmlhttp://www.aygfsteel.com/vagasnail/services/trackbacks/301145.html 一?/span> AWT lg通过一?/span> Toolkit 对象Q与对应?/span> Peer 对象q行通信Q一个本地的对象必须实现?/span> Peer 接口才可以成Z?/span> Peer 对象Q从而与对应?/span> AWT lg通信。因而应用程序程序员无需考虑具体的开发^収ͼpq行?/span> Writer once Q?/span> run anywhere ”?/span>

Toolkit 中的Ҏ是一U胶水将 AWT lg?/span> Peer 对象q接h。大多数的程序不应直接调?/span> Toolkit 中的Ҏ。此cL所?/span> AWT 实际实现的抽象超c,也就是每?/span> AWT lg中应该的都封装了一?/span> Tookit 的子cȝ对象Q当 AWT lg要显C的时候(调用 addNotify() Q方法是对应?/span> peer 对象Q?/span> Java lg在本地环境的实现Qƈ实现对应?/span> peer 接口Q被 Toolkit Q调用相应的Ҏ创徏出来Q然后调用该 peer 对象实现?/span> peer 接口Q将lg昄出来。然?/span> AWT lg?/span> peer lg通过 Toolkit q行通信?/span>

vagasnail 2009-11-04 20:56 发表评论
]]>
Java异常使用的“最佛_践?/title><link>http://www.aygfsteel.com/vagasnail/articles/301144.html</link><dc:creator>vagasnail</dc:creator><author>vagasnail</author><pubDate>Wed, 04 Nov 2009 12:55:00 GMT</pubDate><guid>http://www.aygfsteel.com/vagasnail/articles/301144.html</guid><wfw:comment>http://www.aygfsteel.com/vagasnail/comments/301144.html</wfw:comment><comments>http://www.aygfsteel.com/vagasnail/articles/301144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/vagasnail/comments/commentRss/301144.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/vagasnail/services/trackbacks/301144.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">下面作者将介绍界中使用异常的最佛_践(</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Best Practices for Using Exceptions</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />1</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">L要做一些清理工作(</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Always clean up after yourself</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">如果你用一些资源例如数据库q接或者网l连接,误住要做一些清理工作(?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">关闭数据库连接或者网l连接)Q如果你?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">API</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">抛出</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Unchecked exception</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q那么你</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">要用</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">try-finally</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">来做必要的清理工作:</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />public void dataAccessCode(){ <br />Connection conn = null; <br />try{ <br />conn = getConnection(); <br />..some code that throws SQLException <br />}catch(SQLException ex){ <br />ex.printStacktrace(); <br />} finally{ <br />DBUtil.closeConnection(conn); } } <br />class DBUtil{ <br />public static void closeConnection <br />(Connection conn){ <br />try{ <br />conn.close(); <br />} catch(SQLException ex){ <br />logger.error("Cannot close connection"); <br />throw new RuntimeException(ex); } } } <br />DBUtil</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">是一个工L来关?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Connection.</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">有必要的说的使用?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">finally</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的重要性是?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">程序是否碰到异常,它都会被执行。在上边的例子中Q?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">finally</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">中关闭连接,如果</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">在关闭连接的时候出现错误就抛出</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">RuntimeException. <br />2</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">不要使用异常来控制流E(</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Never use exceptions for flow control</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">下边代码中,</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">MaximumCountReachedException</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">被用于控制流E:</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />public void useExceptionsForFlowControl() { <br />try { <br />while (true) { <br />increaseCount(); } <br />} catch (MaximumCountReachedException ex) { } <br />//Continue execution } <br />public void increaseCount() <br />throws MaximumCountReachedException { <br />if (count >= 5000) <br />throw new MaximumCountReachedException(); } <br /></span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">上边?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">useExceptionsForFlowControl()</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用一个无限@环来增加</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">count</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">直到抛出异常</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q这U做法ƈ没有说让代码不易读,但是它是E序执行效率降低?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">CQ只在要会抛出异常的地方q行异常处理?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />3</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">不要忽略异常</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">当有异常被抛出的时候,如果你不x复它Q那么你要毫不犹豫的其转换?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />unchecked exception</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q而不是用一个空?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">catch</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">块或者什么也不做来忽略它Q以?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">于从表面来看象是什么也没有发生一栗?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />4</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">不要捕获层?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Exception <br />unchecked exception</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">都是</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">RuntimeException</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的子c,</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">RuntimeException</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">又?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />Exception,</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">因此Q如果单U的捕获</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Exception,</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">那么你同样也捕获?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />RuntimeException,</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">如下代码Q?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />try{ .. <br />}catch(Exception ex){ } <br /></span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">一旦你写出了上边的代码Q注?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">catch</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">块是I的Q,它将忽略所有的异常Q包?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br />unchecked exception. <br />5</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> Log exceptions just once <br />Logging the same exception stack trace more than once can confuse the <br />programmer examining the stack trace about the original source of <br />exception. So just log it once. <br /></span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">ȝ</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q里l出了一些关于异常处理的一些最佛_践,我ƈ不想开始另一轮的关于</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">checked <br />exception </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> unchecked exception</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的争论。你可以Ҏ自己的实际情况定制自?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">异常处理Q我坚信我们有更好的办法来处理我们代码中的异常?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">在此Q我感?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Bruce Eckel, Joshua Kerievsky, </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Somik Raha</span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">对于写这文章所</span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <br /> </span> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">l于我的支持?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">我的理解Q?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">1</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">Q尽量不要在发布的程序中使用打印调用栈的信息处理异常Q因样在发布的程序中Ҏ不可见,如同忽略处理异怸栗而是要么其处理Q要么将其包装后抛出Q我们对于客L不能处理Q也没必要处理的异常通常包装?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">RuntimeExcepion</span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">?span style="COLOR: #3f7f5f">q样客户E序可以选择是否获取其异怿息,l客L序一个选择处理的机会。如Q显C到客户端。更不要忽略异常Q记住只打印调用堆栈和忽略异常是{h的,当然开发及调试的时候除外?/span></span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">2</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">Q因为异常是非常消耗资源的Q所以不要用异常做程控制?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">3</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">QL优先使用</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">UnCheckedException</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">4</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">Q不要自定义q多的异常类Q因?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">Java </span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">的异怿息已l将q个异常描述得够清晰了。要么ɘq个异常cL担更多的责Q?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">5.</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">不要过多的代码写入C?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">try</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">语句中,通常</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">try</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">语句只包含需要处理的代码?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">6. Checked</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">异常只是Z使程序员写出更健壮的代码而发明的。但是由于设计的p对于一些无法恢复,或者很难恢复的异常也作?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">Checked</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">异常</span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">Q?span style="COLOR: #3f7f5f">是一个错误的军_。事实证明不适用?/span></span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">Checked</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">异常?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">C++</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">C#</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">的异常处理机制比</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">Java</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">更成功?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">7. </span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">不要在程序中包含q多的异常处理语句,q样会你的语句难以理解Q会使你的程序的效率变慢。只在需要的处理的地方处理异?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">8. </span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">不要把底层的异常抛给业务层,要么处理要么包装后抛l业务层。因Z务层不关心这个?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">9. </span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">对于能处理的异常量处理Q否则抛出。优先考虑</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">RuntimeExcepion</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'">包装?/span> </p> <img src ="http://www.aygfsteel.com/vagasnail/aggbug/301144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/vagasnail/" target="_blank">vagasnail</a> 2009-11-04 20:55 <a href="http://www.aygfsteel.com/vagasnail/articles/301144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java的ClassLoaderhttp://www.aygfsteel.com/vagasnail/articles/301143.htmlvagasnailvagasnailWed, 04 Nov 2009 12:53:00 GMThttp://www.aygfsteel.com/vagasnail/articles/301143.htmlhttp://www.aygfsteel.com/vagasnail/comments/301143.htmlhttp://www.aygfsteel.com/vagasnail/articles/301143.html#Feedback0http://www.aygfsteel.com/vagasnail/comments/commentRss/301143.htmlhttp://www.aygfsteel.com/vagasnail/services/trackbacks/301143.html  //当前cȝgetResource{取得本地资源的Ҏ是以当前cL在的文g夹ؓ当前目录Q以bin目录
  //也就是发布后的user.dir目录为根目录?br />  //当前ClassLoaderL地资源是以bin目录Q或发布后的user.dir目录为当前目录?br />  //而ClassLoader的根目录恕我不知?br />  //通过如下试Q可得出ClassLoader是没有根目录的?br />//  URL ss = SoundPlayTest.class.getClassLoader().getResource("");
//  System.out.println(ss.getPath());
  //我想Eclipse没有使用pȝ的ClassPathQ它的ClassPath是在工程?classpath文g中定义的。而且我想eclipse是用的自己的ClassLoader的?/p>

ClassLoader的机Ӟ

Bootstrap ClassLoader/启动cd载器
主要负责jdk_home/lib目录下的核心 api ?-Xbootclasspath 选项指定的jar包装入工作?
Extension ClassLoader/扩展cd载器
主要负责jdk_home/lib/ext目录下的jar包或 -Djava.ext.dirs 指定目录下的jar包装入工作?
System ClassLoader/pȝcd载器
主要负责java -classpath/-Djava.class.path所指的目录下的cMjar包装入工作?
User Custom ClassLoader/用户自定义类加蝲?java.lang.ClassLoader的子c?
在程序运行期? 通过java.lang.ClassLoader的子cd态加载class文g, 体现java动态实时类装入Ҏ?/p>

  //getResourceAsStream和ClassLoader.getSystemResourceAsStream的关p?br />  //首先getResourceAsStream调用自己的ClassLoader加蝲Q如果没有就是用ClassLoader.getSystemResourceAsStream
  //来加载资源。getSystemResourceAsStream从当前ClassLoader的类加蝲搜烦路径中查找资源。所以用getResourceAsStream
  //也可以加载当前Classpath中的资源?/p>

 



vagasnail 2009-11-04 20:53 发表评论
]]>
Java的HashCodehttp://www.aygfsteel.com/vagasnail/articles/301142.htmlvagasnailvagasnailWed, 04 Nov 2009 12:52:00 GMThttp://www.aygfsteel.com/vagasnail/articles/301142.htmlhttp://www.aygfsteel.com/vagasnail/comments/301142.htmlhttp://www.aygfsteel.com/vagasnail/articles/301142.html#Feedback0http://www.aygfsteel.com/vagasnail/comments/commentRss/301142.htmlhttp://www.aygfsteel.com/vagasnail/services/trackbacks/301142.html * 相同的hashcode的对象保存在相同的桶中?br /> * 而查扑֯象时Q就Ҏ对象的HashCode到Hash表中查找Q找到相应的Ӟ
 * 然后再比较它们的equalsҎ看其是否逻辑相等。如果两w满Q那?br /> * 对象的引用q回?br /> * hash查找时相当的快的Q但是用equals做比较就比较Ҏ?br /> * 所以一般来说我们对于HashCode要做刎ͼ
 * equals相同的对象,必须q回相同的整数类型hashcodeQ这是必ȝ?br /> * 但是Z提高效率Qequals为false的对象的QhashCode我们也要使之最大的
 * 可能不相同?img src ="http://www.aygfsteel.com/vagasnail/aggbug/301142.html" width = "1" height = "1" />

vagasnail 2009-11-04 20:52 发表评论
]]>
《Effective Java》学习笔?/title><link>http://www.aygfsteel.com/vagasnail/articles/301141.html</link><dc:creator>vagasnail</dc:creator><author>vagasnail</author><pubDate>Wed, 04 Nov 2009 12:51:00 GMT</pubDate><guid>http://www.aygfsteel.com/vagasnail/articles/301141.html</guid><wfw:comment>http://www.aygfsteel.com/vagasnail/comments/301141.html</wfw:comment><comments>http://www.aygfsteel.com/vagasnail/articles/301141.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/vagasnail/comments/commentRss/301141.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/vagasnail/services/trackbacks/301141.html</trackback:ping><description><![CDATA[ <p>1、终l函数守卫?br />  * 通过l结函数守卫者,我们能够保证在外部类对象被回收之前的外部cd象的l结函数的调?br />  * 应外匿名cȝ对象的生命周期和Foo相同Q而且在回收时先被回收Q就守卫了终l函数的调用<br />  * 能够防止忘记或者恶意的不调用终l函?br />2、final 变量只能在声明时初始化或者在构造方法中初始?br />3、Junit中每ơ的q行试案例Q将会运行该案例中所有的试Ҏ?br />4、因为HashMap使用Hash桶来攄对象Q理想的情况每个Hash桶只有一个对象,但是一般而言很难Q甚臛_以Ş成具有相同的HashCode的链?/p> <p>5、volatile 保证M一个线E在d一个域的时候都会看到最q刚刚被写入的倹{?br />   单的说volatile提供synchronized的可见性,而不提供互斥性?br /> * 我想volatileQ是q用关键字volatile修饰q的变量Q放在主内存中而不是线E的工作内存<br /> * q样每次当该变量的值改变的时候,׃在主内存中改变?br /> * 而一般的变量Q将会在U程的工作内存中保持一份拷贝,然后只在适当的时机,才会变化写入到d?br /> * 对于同步块而言Q这个时机就是同步块开始或l束Q而其它的时机Q我x在当前用该变量语句后?br /> * 当然volatile变量不保证原子性(也就是volatile变量的用,可能被其它的U程q扰Q比如两个线E同时对该变量操作,但是要在高压的情况下才能出现,要实现原子性必d该变量加锁。)Q仅保证可见性(L得到最C改的|?/p> <p>6、计机无法q行正确的Q点运,因ؓ计算机是二进制的Q我们在 Java 中可以用BigDecimal、int或者longq行点q算Q这样可以得到准的l果?br />7、不要用字W串q接操作W来q接字符Ԍ除非性能无关紧要Q否则用StringBuffer中的appendҎQ或者用更好的StringBuilder?br /> (通常应该优先使用 StringBuilder c,因ؓ它支持所有相同的操作Q但׃它不执行同步Q所以速度更快)?br />8、添加join后当前线E必要{待该线E结束后在执行,也就是将该线E加入到当前U程q行周期之内<br />9、如果不惌恶意dQ请使用U有的对象监视器。永q不要用线E组ThreadGroup?br />10、serialVersionUID 表示一个可序列化的cȝ版本信息Q我们应该L提供一个手动的serialVersionUIDQ而不是由pȝ自动生成。这样可以保?br /> cȝ兼容性和节省略微的性能开销?br />11、应该L实现自定义的序列化,除非一个对象的物理l构和逻辑l构式一LQ即使是q样我们最好也用自定义的序列化Q提供一个readObjectҎ?br /> 保证U束关系和安全性?br />12、ؓ了实现序列化的SingletonQ那么我们应当提供一个readResolveҎ?br />13、从本质上来ԌreadResolveҎreadObject从事实上的公有构造函数变成事实上的公有静态工厂(针对于反序列化是产生的对象)。 ?</p> <img src ="http://www.aygfsteel.com/vagasnail/aggbug/301141.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/vagasnail/" target="_blank">vagasnail</a> 2009-11-04 20:51 <a href="http://www.aygfsteel.com/vagasnail/articles/301141.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">ר</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>