﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-实践-全程-随笔分类-工作心得</title><link>http://www.blogjava.net/leeguannan/category/23735.html</link><description>回归！</description><language>zh-cn</language><lastBuildDate>Sat, 19 Jun 2010 18:31:27 GMT</lastBuildDate><pubDate>Sat, 19 Jun 2010 18:31:27 GMT</pubDate><ttl>60</ttl><item><title>查询Oracle的BLOB类型</title><link>http://www.blogjava.net/leeguannan/archive/2010/06/17/323692.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Thu, 17 Jun 2010 03:03:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2010/06/17/323692.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/323692.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2010/06/17/323692.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/323692.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/323692.html</trackback:ping><description><![CDATA[<div>最近在做项目的过程中，有些时候需要用Oracle的BLOB/CLOB类型存储一些很长的文章，一直不知道怎么来进行相关的检索，经过不懈的努力，终于能够解决这个问题了。查询语句如下：</div>
<div>&nbsp;</div>
<div>select count(*) from 表名 where dbms_lob.instr(表名.列名, utl_raw.cast_to_raw(convert('关键词','utf8')), 1, 1) &gt; 0;</div>
<div>&nbsp;</div>
<div>需要注意的是，这个解决方案只能查询BLOB/CLOB中存储的是经过处理的字符串。</div>
<div>&nbsp;</div>
<div>本方法在Oracle 10g上测试通过<br />
转自http://commandos.blog.51cto.com/154976/128732<br />
</div>
<img src ="http://www.blogjava.net/leeguannan/aggbug/323692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2010-06-17 11:03 <a href="http://www.blogjava.net/leeguannan/archive/2010/06/17/323692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 9i和Oracle 10g如何避开8080端口 </title><link>http://www.blogjava.net/leeguannan/archive/2009/09/21/295847.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Mon, 21 Sep 2009 05:21:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2009/09/21/295847.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/295847.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2009/09/21/295847.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/295847.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/295847.html</trackback:ping><description><![CDATA[Oracle 9i开始，引入了XML Database。这个东东的http服务会占用8080端口，ft服务会占用2100端口。一般情况下也没什么，但如果和Tomcat一起的话，默认设置就有冲突了。当然解决办法之一是更改Tomcat的默认端口，这里提供另外的方法，就是让Oracle避开这个端口。 <br />
<br />
1、使用sys登录Oracle，利用dbms_xdb修改端口设置 <br />
<br />
SQL&gt; -- Change the HTTP/WEBDAV port from 8080 to 8081 <br />
SQL&gt; call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get() , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()', 8081)); <br />
<br />
<br />
Call completed. <br />
<br />
SQL&gt; -- Change the FTP port from 2100 to 2111 <br />
SQL&gt; call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get() , '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()', 2111)); <br />
<br />
Call completed. <br />
<br />
SQL&gt; COMMIT; <br />
<br />
Commit complete. <br />
<br />
SQL&gt; EXEC dbms_xdb.cfg_refresh; <br />
<br />
PL/SQL procedure successfully completed. <br />
<br />
<br />
2、使用OEM console，选择数据库，XML Database，Configuration，更改XDB的有关设置。 <br />
<br />
3、去掉数据库的初始化参数： <br />
<br />
修改这个文件： <br />
$ORACLE_BASE/admin/$ORA_SID/pfile/init.ora.* <br />
把 <br />
dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)' <br />
这一行注释掉，关闭数据库，然后以sys用户（sysdba身份）登陆sqlplus，执行 <br />
SQL&gt;create spfile from pfile='$ORACLE_BASE/admin/$ORA_SID/pfile/inite.ora.*'; <br />
重新启动数据库，就会禁止XDB的http和ftp服务，此方法适合不需要这些服务的应用。 <br />
<img src ="http://www.blogjava.net/leeguannan/aggbug/295847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2009-09-21 13:21 <a href="http://www.blogjava.net/leeguannan/archive/2009/09/21/295847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谁不知道构架？</title><link>http://www.blogjava.net/leeguannan/archive/2009/07/03/285372.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Fri, 03 Jul 2009 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2009/07/03/285372.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/285372.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2009/07/03/285372.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/285372.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/285372.html</trackback:ping><description><![CDATA[<p>&#160;&#160;&#160; 作为一个技术人员，谁不知道构架？</p>  <p>&#160;&#160;&#160; 前一段时间公司找开发人员谈心，有位领导问一位开发人员，大致对话如下：</p>  <p>&#160;&#160;&#160; A：“你了解咱们现在产品的构架吗？能不能谈谈你对构架的看法？”</p>  <p>&#160;&#160;&#160; B：“… …”</p>  <p>&#160;&#160;&#160; A：“说说看吧~”</p>  <p>&#160;&#160;&#160; B：“我不懂构架！构架是什么？咱们现在的产品还有构架呢？”</p>  <p>&#160;&#160;&#160; 作为一个有3年工作经验，2家公司经历的VC程序员来说，我觉得，这几年的积累是白做了！这样的思想永远都只能停留在写程序上~</p>  <p>&#160;&#160;&#160; 一个产品没有构件，就如同一个人没有灵魂一样！他不是没有，只是你没有去思考，没有去发现他而已！</p>  <p>&#160;&#160;&#160; 我记得袁洪刚说过，“一个伟大的产品背后一定有一个伟大构架师！”，我坚信这一点~产品好坏一方面决定于对现实问题的解决程度，另一方面是构架的好坏！</p>  <p>&#160;&#160;&#160; 几年前，中国的软件公司里面很少出现构架师/架构师这样的角色，这几年开始有改观了，越来越多的人开始认识到很多错误的问题，其实从一开始就是错的。很多事情并没有谋定而后动。一味的追求简单，到最后变成了下线很简单了！</p>  <p>&#160;&#160; 说自己不知道构架的开发人员有两种，新手和没有思想的新手，拼命的同时我们也应该停下脚步想想，抬起头看看天空。别总把经验的缺失都归结于时间的长短，更应该想想自己是否真的积累过。</p><img src ="http://www.blogjava.net/leeguannan/aggbug/285372.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2009-07-03 16:33 <a href="http://www.blogjava.net/leeguannan/archive/2009/07/03/285372.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Lock wait timeout exceeded; try restarting transaction</title><link>http://www.blogjava.net/leeguannan/archive/2009/04/23/267236.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Thu, 23 Apr 2009 13:41:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2009/04/23/267236.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/267236.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2009/04/23/267236.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/267236.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/267236.html</trackback:ping><description><![CDATA[<p>&#160;&#160; 粗心大意，老犯错！</p>  <p>&#160;&#160; 今天上午在调试EJB3调用WebService时一直遇到MySQL报出的这个问题。郁闷坏了，只是执行了一句update而已，就导致这样错误… …</p>  <p>&#160;&#160; 经过半个小时排查，终于找到问题所在了。原因是分布式事务引起的。</p>  <p>&#160;&#160; 场景描述：</p>  <p>EJB3操作A表--&gt;调用WebService--&gt;WebService操作B表</p>  <p>&#160;&#160;&#160; 在操作A表的时候需要等待WebService的调用，如果没有异常，则可以提交事务，如果出现异常，则不能提交事务；</p>  <p>&#160;&#160;&#160; 在操作B表的时候需要处理异常；</p>  <p>&#160;&#160;&#160; 一个简单的分布式事务，一般情况下是没有问题的~但是由于我的粗心大意，做成了EJB3也在操作B表，这样就导致了表被锁死的情况出现~真是郁闷啊！</p><img src ="http://www.blogjava.net/leeguannan/aggbug/267236.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2009-04-23 21:41 <a href="http://www.blogjava.net/leeguannan/archive/2009/04/23/267236.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何使用代码重启RCP程序？</title><link>http://www.blogjava.net/leeguannan/archive/2009/03/17/260308.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Tue, 17 Mar 2009 10:53:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2009/03/17/260308.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/260308.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2009/03/17/260308.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/260308.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/260308.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 以前我们的产品重启RCP应用程序的时候都是找到本地路径的EXE程序，然后使用：<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">Runtime&nbsp;runtime&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Runtime.getRuntime();<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />runtime.exec(</span><span style="color: #000000">"</span><span style="color: #000000">cmd.exe&nbsp;/c&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;excuteStr&nbsp;);</span></div>
<p><br />
重新启动应用程序，太复杂，而且上次打开的参数都会丢失。</p>
&nbsp;&nbsp;&nbsp; 今天早上翻看了一下Eclipse的org.eclipse.update.ui CVS，找到了：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">PlatformUI.getWorkbench().restart();</span></div>
使用这个重新启动RCP应用程序，非常的方便，而且参数都在，即使在开发环境下也一样没有问题！
<img src ="http://www.blogjava.net/leeguannan/aggbug/260308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2009-03-17 18:53 <a href="http://www.blogjava.net/leeguannan/archive/2009/03/17/260308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL文件中有Functions，Type如何在sqlplus中执行？</title><link>http://www.blogjava.net/leeguannan/archive/2008/04/15/193126.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Tue, 15 Apr 2008 08:04:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/04/15/193126.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/193126.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/04/15/193126.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/193126.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/193126.html</trackback:ping><description><![CDATA[<p>&#160;&#160;&#160; SQL文件中有Functions，Type，那么在sqlplus中要start直接执行SQL文件怎么办？例如：</p>  <p>CREATE OR REPLACE FUNCTION strcat(input varchar2 )   <br />RETURN varchar2    <br />PARALLEL_ENABLE AGGREGATE USING strcat_type;</p>  <p>&#160;&#160;&#160; 将上面的Functions写入SQL文件中，然后在sqlplus中用start执行此文件，后果是此Functions并没有被创建到数据库中，在后面加上commit；也是没有用处的，提示的效果是SQL并没有结束，sqlplus并没有真正执行。</p>  <p>&#160;&#160;&#160; 这怎么办？Google了老半天，也没有人写到这个问题，但是看看人家写Functions和我写的有一点点区别，修改一下！</p>  <p>CREATE OR REPLACE FUNCTION strcat(input varchar2 )   <br />RETURN varchar2    <br />PARALLEL_ENABLE AGGREGATE USING strcat_type;    <br />/</p>  <p>&#160;&#160;&#160; 在Functions最后一行加上一个/，再执行就OK了~看来sqlplus是把/作为一个Functions或者Type的结束符了！大家注意了！</p><img src ="http://www.blogjava.net/leeguannan/aggbug/193126.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-04-15 16:04 <a href="http://www.blogjava.net/leeguannan/archive/2008/04/15/193126.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>注意！Shell.open()</title><link>http://www.blogjava.net/leeguannan/archive/2008/04/14/192902.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Mon, 14 Apr 2008 12:10:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/04/14/192902.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/192902.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/04/14/192902.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/192902.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/192902.html</trackback:ping><description><![CDATA[<p>&#160;&#160;&#160; Shell.open()非常重要！</p>  <p>&#160;&#160;&#160; 今天在做SWT中显示OCX控件，照着Demo写的，但是不知道为什么每次执行到：Variant pVarResult = auto.invoke(dispIdMember, rgvarg); </p>  <p>&#160;&#160; JVM都会直接退出~error如下：</p>  <table cellspacing="0" cellpadding="2" width="768" border="0"><tbody>     <tr>       <td valign="top" width="766">         <p>#           <br /># An unexpected error has been detected by HotSpot Virtual Machine:            <br />#            <br />#&#160; EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x73d321b9, pid=3696, tid=2208            <br />#            <br /># Java VM: Java HotSpot(TM) Client VM (1.5.0_04-b05 mixed mode, sharing)            <br /># Problematic frame:            <br /># C&#160; [MFC42.DLL+0x21b9]            <br />#            <br /># An error report file with more information is saved as hs_err_pid3696.log            <br />#            <br /># If you would like to submit a bug report, please visit:            <br />#&#160;&#160; <a href="http://java.sun.com/webapps/bugreport/crash.jsp">http://java.sun.com/webapps/bugreport/crash.jsp</a>            <br /># </p>          <p>[error occurred during error reporting, step 270, id 0xc0000005]</p>       </td>     </tr>   </tbody></table>  <p>寻便了网络也没有解决办法，刚开始以为是JVM版本的问题，于是换了3个版本都是同样的问题~真是郁闷！</p>  <p>&#160;&#160; 最后通过和Demo代码的比较，发现Demo中有一句shell.open(),注释掉此句，Demo也是引起JVM退出！在代码中加入shell.open()，搞定！</p>  <p>&#160;&#160; 原来这个open方法还有这么多的玄机啊，但是javadoc上却只字未提！</p><img src ="http://www.blogjava.net/leeguannan/aggbug/192902.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-04-14 20:10 <a href="http://www.blogjava.net/leeguannan/archive/2008/04/14/192902.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA如何调用DOS命令</title><link>http://www.blogjava.net/leeguannan/archive/2007/11/29/164044.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Thu, 29 Nov 2007 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/11/29/164044.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/164044.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/11/29/164044.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/164044.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/164044.html</trackback:ping><description><![CDATA[<p>用Java编写应用时，有时需要在程序中调用另一个现成的可执行程序或系统命令，这时可以通过组合使用Java提供的Runtime类和Process类的方法实现。下面是一种比较典型的程序模式：    <br />...     <br />Process process = Runtime.getRuntime().exec(&quot;.\\p.exe&quot;);     <br />process.waitfor( );     <br />...     <br />在上面的程序中，第一行的&#8220;.\\p.exe&#8221;是要执行的程序名，Runtime.getRuntime()返回当前应用程序的Runtime对象，该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序，并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信息。第二条语句的目的等待子进程完成再往下执行。     <br />但在windows平台上，如果处理不当，有时并不能得到预期的结果。下面是笔者在实际编程中总结的几种需要注意的情况：     <br />1、执行DOS的内部命令     <br />如果要执行一条DOS内部命令，有两种方法。一种方法是把命令解释器包含在exec()的参数中。例如，执行dir命令，在NT上， 可写成exec(&quot;cmd.exe /c dir&quot;)，在windows 95/98下，可写成&#8220;command.exe /c dir&#8221;，其中参数&#8220;/c&#8221;表示命令执行后关闭Dos立即关闭窗口。另一种方法是，把内部命令放在一个批命令my_dir.bat文件中，在Java程序中写成exec(&quot;my_dir.bat&quot;)。如果仅仅写成exec(&quot;dir&quot;)，Java虚拟机则会报运行时错误。前一种方法要保证程序的可移植性，需要在程序中读取运行的操作系统平台，以调用不同的命令解释器。后一种方法则不需要做更多的处理。     <br />2、打开一个不可执行的文件     <br />打开一个不可执行的文件，但该文件存在关联的应用程序，则可以有两种方式。 以打开一个word文档a.doc文件为例，Java中可以有以下两种写法：     <br />exec(&quot;start .\\a.doc&quot;);     <br />exec(&quot; c:\\Program Files\\Microsoft Office\\office\\winword.exe .\\a.doc&quot;);     <br />显然，前一种方法更为简捷方便。     <br />3、执行一个有标准输出的DOS可执行程序     <br />在windows平台上，运行被调用程序的DOS窗口在程序执行完毕后往往并不会自动关闭，从而导致Java应用程序阻塞在waitfor( )。导致该现象的一个可能的原因是，该可执行程序的标准输出比较多，而运行窗口的标准输出缓冲区不够大。解决的办法是，利用Java提供的Process类提供的方法让Java虚拟机截获被调用程序的DOS运行窗口的标准输出，在waitfor()命令之前读出窗口的标准输出缓冲区中的内容。一段典型的程序如下：     <br />...     <br />String ls_1;     <br />Process process = Runtime.getRuntime().exec(&quot;cmd /c dir \\windows&quot;);     <br />BufferedReader bufferedReader = new BufferedReader( \     <br />new InputStreamReader(process.getInputStream());     <br />while ( (ls_1=bufferedReader.readLine()) != null)     <br />System.out.println(ls_1);     <br />     <br />process.waitfor( );     <br />...</p>  <p>以上内容为转载~下面内容为原创！</p>  <p>今天在做客户端程序的自动更新，简单描述一下，就是从服务器上将更新包下载下来，然后在本地解压缩，最后删掉~功能很简单~</p>  <p>但是问题出在使用JAVA的ZIP模块做文件的解压缩不是想象的那么简单，资源需要释放，一个不小心就没有办法删除掉原有ZIP文件了~资源的占用确实是个大问题，但是好在，客户端程序更新完是要重启的，一切都烟消云散了~对于删除不掉ZIP文件的问题，我也流氓一下~用DEL硬删除~此处一定要注意！</p>  <p>Process process = Runtime.getRuntime().exec(&quot;cmd /c del f:\\aaa.doc&quot;);    <br />这样的调用是没有问题~</p>  <p>Process process = Runtime.getRuntime().exec(&quot;del f:\\aaa.doc&quot;);    <br />这样写是不可能对的~</p>  <p>记录一下，警告一下后人！</p> <img src ="http://www.blogjava.net/leeguannan/aggbug/164044.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-11-29 17:17 <a href="http://www.blogjava.net/leeguannan/archive/2007/11/29/164044.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>部门要扩张了，又要走上讲台了！</title><link>http://www.blogjava.net/leeguannan/archive/2007/10/07/150854.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Sun, 07 Oct 2007 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/10/07/150854.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/150854.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/10/07/150854.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/150854.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/150854.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 10.1忙七天，呵呵又跟5.1一样，没的休息~没办法，谁让咱们干这行了呢？老大的话就是命令，客户才不管你是死是活呢~<br />
&nbsp;&nbsp;&nbsp; 部门要开始新一轮的扩张了，第一批进来6个开发人员，这次又是20个毕业生免费培训，层层筛选最后留10个。这种招人的方法确实很有效果~不过最辛苦的还是我们，每天不但要拼命的赶进度，还是给学生们培训~&nbsp;<br />
&nbsp;&nbsp; 这次要好好的给学生们讲讲SWT和JFace，好好的给自己培养几个得力助手~<br />
&nbsp;&nbsp; 10.1结束了，大家都加油吧~
<img src ="http://www.blogjava.net/leeguannan/aggbug/150854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-10-07 16:32 <a href="http://www.blogjava.net/leeguannan/archive/2007/10/07/150854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用JS获取IE客户端IP及MAC的实现</title><link>http://www.blogjava.net/leeguannan/archive/2007/08/16/137335.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Thu, 16 Aug 2007 09:01:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/08/16/137335.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/137335.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/08/16/137335.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/137335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/137335.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 在C/S中取得客户端的MAC地址简单，就算JAVA再麻烦也是简单的，但是模式推至B/S结构，就麻烦了~有时候MAC地址比IP地址更真实！老板不知道哪里听到的MAC地址不能改，IP地址能随便改的谣言，非要加这个功能，兄弟们一定很头大吧~往下看，能解决，就是使用JS来调用ActiveX来交互~<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">HTML</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">HEAD</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">TITLE</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">WMI&nbsp;Scripting&nbsp;HTML</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">TITLE</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">META&nbsp;</span><span style="COLOR: #ff0000">http-equiv</span><span style="COLOR: #0000ff">=Content-Type&nbsp;</span><span style="COLOR: #ff0000">content</span><span style="COLOR: #0000ff">="text/html;&nbsp;charset=gb2312"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img id=Codehighlighter1_203_393_Open_Image onclick="this.style.display='none'; Codehighlighter1_203_393_Open_Text.style.display='none'; Codehighlighter1_203_393_Closed_Image.style.display='inline'; Codehighlighter1_203_393_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_203_393_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_203_393_Closed_Text.style.display='none'; Codehighlighter1_203_393_Open_Image.style.display='inline'; Codehighlighter1_203_393_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">SCRIPT&nbsp;</span><span style="COLOR: #ff0000">language</span><span style="COLOR: #0000ff">=JScript&nbsp;</span><span style="COLOR: #ff0000">event</span><span style="COLOR: #0000ff">="OnCompleted(hResult,pErrorObject,&nbsp;pAsyncContext)"</span><span style="COLOR: #ff0000">&nbsp;for</span><span style="COLOR: #0000ff">=foo</span><span style="COLOR: #0000ff">&gt;</span><span id=Codehighlighter1_203_393_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_203_393_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>document.forms[</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">].txtMACAddr.value</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">unescape(MACAddr);<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>document.forms[</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">].txtIPAddr.value</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">unescape(IPAddr);<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>document.forms[</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">].txtDNSName.value</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">unescape(sDNSName);<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">document.formbar.submit();</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">SCRIPT</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img id=Codehighlighter1_485_934_Open_Image onclick="this.style.display='none'; Codehighlighter1_485_934_Open_Text.style.display='none'; Codehighlighter1_485_934_Closed_Image.style.display='inline'; Codehighlighter1_485_934_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_485_934_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_485_934_Closed_Text.style.display='none'; Codehighlighter1_485_934_Open_Image.style.display='inline'; Codehighlighter1_485_934_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">SCRIPT&nbsp;</span><span style="COLOR: #ff0000">language</span><span style="COLOR: #0000ff">=JScript&nbsp;</span><span style="COLOR: #ff0000">event</span><span style="COLOR: #0000ff">=OnObjectReady(objObject,objAsyncContext)&nbsp;</span><span style="COLOR: #ff0000">for</span><span style="COLOR: #0000ff">=foo</span><span style="COLOR: #0000ff">&gt;</span><span id=Codehighlighter1_485_934_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_485_934_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(objObject.IPEnabled&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">null</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&amp;&amp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.IPEnabled&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">undefined</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&amp;&amp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.IPEnabled&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">true</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img id=Codehighlighter1_587_933_Open_Image onclick="this.style.display='none'; Codehighlighter1_587_933_Open_Text.style.display='none'; Codehighlighter1_587_933_Closed_Image.style.display='inline'; Codehighlighter1_587_933_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_587_933_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_587_933_Closed_Text.style.display='none'; Codehighlighter1_587_933_Open_Image.style.display='inline'; Codehighlighter1_587_933_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span id=Codehighlighter1_587_933_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_587_933_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(objObject.MACAddress&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">null</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&amp;&amp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.MACAddress&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">undefined</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>MACAddr&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.MACAddress;<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(objObject.IPEnabled&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&amp;&amp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.IPAddress(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">null</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&amp;&amp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.IPAddress(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">undefined</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>IPAddr&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.IPAddress(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(objObject.DNSHostName&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">null</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&amp;&amp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.DNSHostName&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">undefined</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>sDNSName&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;objObject.DNSHostName;<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">SCRIPT</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">META&nbsp;</span><span style="COLOR: #ff0000">content</span><span style="COLOR: #0000ff">="MSHTML&nbsp;6.00.2800.1106"</span><span style="COLOR: #ff0000">&nbsp;name</span><span style="COLOR: #0000ff">=GENERATOR</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">HEAD</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">BODY</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">OBJECT&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=locator&nbsp;</span><span style="COLOR: #ff0000">classid</span><span style="COLOR: #0000ff">=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6&nbsp;</span><span style="COLOR: #ff0000">VIEWASTEXT</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">OBJECT</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">OBJECT&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=foo&nbsp;</span><span style="COLOR: #ff0000">classid</span><span style="COLOR: #0000ff">=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">OBJECT</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img id=Codehighlighter1_1206_1410_Open_Image onclick="this.style.display='none'; Codehighlighter1_1206_1410_Open_Text.style.display='none'; Codehighlighter1_1206_1410_Closed_Image.style.display='inline'; Codehighlighter1_1206_1410_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1206_1410_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1206_1410_Closed_Text.style.display='none'; Codehighlighter1_1206_1410_Open_Image.style.display='inline'; Codehighlighter1_1206_1410_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">SCRIPT&nbsp;</span><span style="COLOR: #ff0000">language</span><span style="COLOR: #0000ff">=JScript</span><span style="COLOR: #0000ff">&gt;</span><span id=Codehighlighter1_1206_1410_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1206_1410_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;service&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;locator.ConnectServer();<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;MACAddr&nbsp;;<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;IPAddr&nbsp;;<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;DomainAddr;<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;sDNSName;<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>service.Security_.ImpersonationLevel</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">3</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>service.InstancesOfAsync(foo,&nbsp;'Win32_NetworkAdapterConfiguration');<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">SCRIPT</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">FORM&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=formfoo&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">=formbar&nbsp;</span><span style="COLOR: #ff0000">action</span><span style="COLOR: #0000ff">=NICPost.asp&nbsp;</span><span style="COLOR: #ff0000">method</span><span style="COLOR: #0000ff">=post</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">INPUT&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">=00:05:5D:0E:C7:FA&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">=txtMACAddr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">INPUT&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">=192.168.0.2&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">=txtIPAddr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">INPUT&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">=typ&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">=txtDNSName</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">FORM</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">BODY</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">HTML</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
核心就是调用了两个系统自带的ActiveX进行交互~<br>但是要注意，1，不能跨浏览器！2.调用的时候会有IE提示~还是慎用的好！
<img src ="http://www.blogjava.net/leeguannan/aggbug/137335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-08-16 17:01 <a href="http://www.blogjava.net/leeguannan/archive/2007/08/16/137335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java访问注册表</title><link>http://www.blogjava.net/leeguannan/archive/2007/08/16/137281.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Thu, 16 Aug 2007 07:25:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/08/16/137281.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/137281.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/08/16/137281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/137281.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/137281.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 今天碰到了需要访问注册表的问题，索性研究一下下~JDK1.4开始，sun就已经提供了访问注册表的jar包了，但是好像大家都不是很感兴趣~没有几个人说它好用的。<br>&nbsp;&nbsp;&nbsp; google得到Windows Registry~好东西，底层使用jni直接访问WIN32下的注册表~可以实现对整个注册表的完全掌控，可增可减~呵呵出了问题不管我事！<br>&nbsp;&nbsp;&nbsp;&nbsp; 本着好东西要分享的原则，贡献一下搜索的成果物！<br>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://trustice.com/java/jnireg/">http://trustice.com/java/jnireg/</a>
<img src ="http://www.blogjava.net/leeguannan/aggbug/137281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-08-16 15:25 <a href="http://www.blogjava.net/leeguannan/archive/2007/08/16/137281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JWS(Java Web Start)高级应用</title><link>http://www.blogjava.net/leeguannan/archive/2007/08/10/135943.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Fri, 10 Aug 2007 14:52:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/08/10/135943.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/135943.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/08/10/135943.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/135943.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/135943.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; JWS（<font color=#cc0033 size=2>Java Web Start</font>）高级应用！<br>&nbsp;&nbsp;&nbsp; 咱不写什么快速构建JWS发布，什么轻松入门JWS一类的水贴~写就写点高级应用~我还是觉得写大家都会的技术不叫原创，原创是创造大家不知道的东西~<br>&nbsp;&nbsp;&nbsp; JWS古以有之，但是由于WEB的盛行，还得JWS不被人重视~其实JWS还是很好的东西，SUN还是在苦心的经营他~一次又一次的更新，一次又一次的升级，使用JWS启动JAVA桌面应用程序越来越快，部署起来也越来越方便了~<br>&nbsp;&nbsp;&nbsp; 首先向想要用JWS来部署JAVA应用程序的朋友推荐JRE6.0，它比JRE5.0改进了很多地方，其中最好的一点是，JRE6.0对JAR文件进行了压缩处理，而JRE5.0则是直接下载JAR文件到本地，好处就是如何客户用了JRE6.0那么他们能难拿到我们开发出来的JAR文件，更不要说做反编译了~而且对JAR文件进行处理，大大加快了JAVA应用程序的启动速度。<br>&nbsp;&nbsp; 其次就是进入正题！使用JWS发布JAVA应用程序应该算是小儿科了，JWS的优势就是可以每次启动的时候去服务器上动态的更新JAR文件，但是有一点JNLP文件如何更新？如果我修改了JWS的描述文件JNLP文件，JWS怎么去更新东东啊？<br>&nbsp;&nbsp;&nbsp; 我们都知道JWS有个高速缓冲，他把要启动的东东都放到了高速缓冲中，并记录下JAR文件的修改时间，然后每次使用JNLP通过JWS启动JAVA应用时，他会对比看看服务器上的JAR文件的修改时间是不是已经更新了，如果更新了，他认为JAR文件有更新，然后就下载到本地~但是JNLP文件却一直在本地高速缓冲中放着，他是不会更新的~<br>&nbsp;&nbsp; 处理办法就是使用SUN为我们准备好的JnlpDownloadServlet来做~JnlpDownloadServlet其实一直在我们本地，他就放在JDK下面，具体怎么用还是请参阅<a href="http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/contents.html">JWS的开发手册</a>吧！<br>&nbsp;&nbsp; 它解决的原理其实是使用JNLP里面的version这个属性~如果不使用JnlpDownloadServlet来处理，version这个属性根本无用，而且还会报错~只有用了JnlpDownloadServlet以后version才能发挥作用，我们可以给JNLP文件打上version，然后每次如果有JNLP更新，那么只要更新version的内容就可以了，而且在客户端的JWS管理器中，会对每一个version进行记录！非常好用~但是需要非常仔细的配置version~还是比较痛苦的一件事情！<br>&nbsp;&nbsp; 在八卦一下JAVAEYE，麻烦的要死~问个问题没有人回答，还评我为新手~开网站的都是爷~爷不去了！
<img src ="http://www.blogjava.net/leeguannan/aggbug/135943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-08-10 22:52 <a href="http://www.blogjava.net/leeguannan/archive/2007/08/10/135943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>笔记一篇：JBOSS4部署</title><link>http://www.blogjava.net/leeguannan/archive/2007/07/26/132604.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Thu, 26 Jul 2007 10:01:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/07/26/132604.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/132604.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/07/26/132604.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/132604.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/132604.html</trackback:ping><description><![CDATA[    第一次真正的玩J2EE服务器，难免有些新奇，还有些茫然！<br />    下午在服务器上装了一个JBOSS4.2GA，正式使用JBOSS4.2GA对外提供EJB服务。但是万万没有想到，竟然用IP不能访问！不会是服务器上的小狮子把它给费了吧？关！关了N个杀毒软件，N个防火墙，还是如此！郁闷！<br />    GOOGLE一下才知道，原来J2EE服务器是需要部署的！直到今天才明白部署的含义，没有那么简单，搞个解压缩扔的服务器上，启动，走人！J2EE服务器比这复杂的多。它要处理更多的东东，里面有更多的XML！现在真的开始佩服各位J2EE的先驱们，真是厉害啊，那么多参数都能找到最重要的几个！<br />    到底怎么才能用IP访问JBOSS呢？很简单！给run.bat搞个快捷方式，然后把 -b 192.168.0.130 加上，就是我们所说的加启动参数。搞定！<img src ="http://www.blogjava.net/leeguannan/aggbug/132604.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-07-26 18:01 <a href="http://www.blogjava.net/leeguannan/archive/2007/07/26/132604.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse3.3的新改进~</title><link>http://www.blogjava.net/leeguannan/archive/2007/07/07/128805.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Sat, 07 Jul 2007 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/07/07/128805.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/128805.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/07/07/128805.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/128805.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/128805.html</trackback:ping><description><![CDATA[    Eclipse3.3以前，大家在启动Eclipse时可能都会注意到在任务管理器中的Eclipse.exe进程内存只占用了3xxxK左右，而会有一个javaw.exe的进程占了100M左右，这个原理大家肯定都知道，Eclipse.exe只是做一次启动引导罢了，剩下主要做事的是javaw.exe了~<br />    Eclipse3.3开始，我们会发现在发布包里面多了一个eclipsec.exe的程序，是用命令行启动Eclipse用的，使用eclipsec.exe启动以后会开一个dos的窗口，如果把这个DOS的窗口关了，Eclipse也就关闭了，这个启动方式跟以前的方式是一样的。直接用Eclipse.exe启动Eclipse的时候，注意一下你的任务管理器，里面没有javaw.exe了，只有一个Eclipse.exe，占内存100M左右~省了点内存哦~<br />   这可能就是Eclipse3.3在启动速度上的改进吧，但是我是没有感觉到有多大的提升。<br /> <img src ="http://www.blogjava.net/leeguannan/aggbug/128805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-07-07 17:45 <a href="http://www.blogjava.net/leeguannan/archive/2007/07/07/128805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jQuery发布1.1.3版，性能提高800% </title><link>http://www.blogjava.net/leeguannan/archive/2007/07/03/127950.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Tue, 03 Jul 2007 13:21:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/07/03/127950.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/127950.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/07/03/127950.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/127950.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/127950.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; jQuery，一个继prototype.js以后另一个新的js开发简化包。既然是在prototype.js以后的新东东，性能和使用上一定强过prototype.js了~<br>&nbsp;&nbsp; 中文化做的也不错已经出现了一个中文小社区<a href="http://jquery.org.cn/">http://jquery.org.cn/</a>，做AJAX的朋友可以研究研究，我只是在<a href="http://www.diglog.com/">http://www.diglog.com/</a>上看到新闻，所以才八卦一下的~下面是性能对比：<br>
<table>
    <thead>
        <tr>
            <th>Browser</th>
            <th>jQuery 1.1.2</th>
            <th>jQuery 1.1.3</th>
            <th>% Improvement</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>IE 6</th>
            <td>4890ms</td>
            <td>661ms</td>
            <th>740%</th>
        </tr>
        <tr>
            <th>Firefox 2</th>
            <td>5629ms</td>
            <td>567ms</td>
            <th>993%</th>
        </tr>
        <tr>
            <th>Safari 2</th>
            <td>3575ms</td>
            <td>475ms</td>
            <th>753%</th>
        </tr>
        <tr>
            <th>Opera 9.1</th>
            <td>3196ms</td>
            <td>326ms</td>
            <th>980%</th>
        </tr>
        <tr>
            <td style="TEXT-ALIGN: right" colSpan=3>Average improvement:</td>
            <th>867%</th>
        </tr>
    </tbody>
</table>
不知道它以前和prototype.js对比的结果如何，这次提升性能可是很吓人的~<br>另一组同能产品对比：<br>
<table>
    <thead>
        <tr>
            <th>Browser</th>
            <th>Prototype</th>
            <th>jQuery</th>
            <th>Mootools</th>
            <th>Ext</th>
            <th>Dojo</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>IE 6</th>
            <td>1476ms</td>
            <th>661ms</th>
            <td>1238ms</td>
            <td>672ms</td>
            <td>738ms</td>
        </tr>
        <tr>
            <th>Firefox 2</th>
            <td>219ms</td>
            <td>567ms</td>
            <td>220ms</td>
            <td>951ms</td>
            <td>440ms</td>
        </tr>
        <tr>
            <th>Safari 2</th>
            <td>1568ms</td>
            <td>475ms</td>
            <td>909ms</td>
            <td>417ms</td>
            <td>527ms</td>
        </tr>
        <tr>
            <th>Opera 9.1</th>
            <td>220ms</td>
            <td>326ms</td>
            <td>217ms</td>
            <td>296ms</td>
            <td>220ms</td>
        </tr>
    </tbody>
</table>
从上面看IE真的是可怕~再牛的东东，碰到IE都是垃圾~<br>
<p><strong>Download:</strong></p>
<ul>
    <li><a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.1.3.pack.js"><font color=#cc0000>jQuery 1.1.3 (Compressed, 20KB)</font></a>
    <li><a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.1.3.js"><font color=#cc0000>jQuery 1.1.3 (61KB)</font></a>
    <li><a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.1.3-release.zip"><font color=#cc0000>jQuery 1.1.3 (Docs, Source Code)</font></a> </li>
</ul>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/leeguannan/aggbug/127950.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-07-03 21:21 <a href="http://www.blogjava.net/leeguannan/archive/2007/07/03/127950.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>应该如何评审</title><link>http://www.blogjava.net/leeguannan/archive/2007/07/01/127379.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Sun, 01 Jul 2007 12:34:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/07/01/127379.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/127379.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/07/01/127379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/127379.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/127379.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;我也不知道如何评审，只是这几天遇到了很多问题，才想到是不是要考虑一下如何评审才对了。</p>
<p>&nbsp;&nbsp; 我们项目每一个阶段都有做评审，而且都是全组参加，相互评审，并认真的记录评审的过程，提了很多意见。但是这些意见真的有意义吗？你说的写的代码有问题？&nbsp;凭什么？凭经验？还是凭感觉？如果你要是感觉不出来是不是评审就没有意义了？</p>
<p>&nbsp;&nbsp; 评审也要有条件，什么样的代码合格？什么样的文档有意义？不是谁说了算的，应该是有条目规定的，上面要说明，符合1，2，3的的代码才合格，文档才有意义！</p>
<p>&nbsp;&nbsp; 评审就是让几乎任何人都可以参与，都可以明白你写的对不对！</p>
&nbsp;&nbsp; 再转移一篇~
<img src ="http://www.blogjava.net/leeguannan/aggbug/127379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-07-01 20:34 <a href="http://www.blogjava.net/leeguannan/archive/2007/07/01/127379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何解决问题</title><link>http://www.blogjava.net/leeguannan/archive/2007/07/01/127378.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Sun, 01 Jul 2007 12:33:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2007/07/01/127378.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/127378.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2007/07/01/127378.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/127378.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/127378.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 搞开发不但不要怕改需求的，更不能害怕问题。BUG，ERROR在正常不过了，一般一天都能看见几十次，慢慢的我都养成了，一天不看到eclipse的控制台不出字，一天都觉得不爽~</p>
<p>&nbsp;&nbsp;&nbsp; 遇到问题，首先不能害怕。害怕会发生什么？害怕以后就会紧张，一紧张原本合理的思路马上被满头大汉代替，然后呢？错误依旧存在，IE开了无数个google，狗狗都逛了一天也没有解决！所以遇到问题以后不能紧张，要保持平静。</p>
<p>&nbsp;&nbsp;&nbsp; log4j知道是干什么的吧，一个好的开发人员会在开发过程中作好log，一旦发生了错误，很快可以定位到错误代码的范围，开发时不做log早晚要加的，与其以后浪费时间，还不如开发的时候就加上，看看自己清晰的log，再复杂，再少见的errror都简单了许多。</p>
<p>&nbsp;&nbsp;&nbsp; 对于打印出的异常，先看看再说，根据异常的类型判断一下异常出现代码的类型和在自己程序中的位置，然后再下手，不要看到异常就乱改一通，运气好了马上搞定！运气不好，越改问题越多，越改越乱，越改越烦，改到最后这段程序还不如重写算了，反正也没有人能看了。</p>
<p>&nbsp;&nbsp; 如果是以前没有看到过的异常，怎么办？马上google？不需要吧？建议还是认真看看异常，先判断清楚是谁挂了，再哪里挂的。找到主谋了再google也不晚，每遇到一个问题，我们都应该成长才对，是吧？最近在做一个soa的项目，主要是基于xfire框架发布web services 然后其他客户端再调用，在编写客户端单元测试时就经常看到红红的error，对付这玩艺首先要判断清楚错误究竟是由谁报出的，是客户端访问代码的异常，还是因为服务器端引发的异常，找到了罪魁祸首修正起来不就简单多了。不能马上google的原因还有一个就是网上基本上找不到中文关于xfire深度应用的文章，出了错误只能凭着自己垃圾的英语和几篇像两天一样的帖子慢慢的寻找解决方案。（在次强烈谴责xfire开发团队，不要忙着申请apache.org的孵化项目了，还是改改BUG吧！）</p>
<p>&nbsp;&nbsp; 处理完问题以后不要马上就结束，应该总结，小小的沉淀一下好不好？虽然说的是，程序员要到一定的时候才能沉淀出东西，我看还是&#8220;每天沉淀&#8221;，&#8220;每天反思&#8221;来的实在！</p>
<p>&nbsp;&nbsp; 处理问题也是有方法的，应该被提升一下，建议大虾们写上一本《如何处理问题》的妙书或者妙文出来，小弟一定深刻拜读！</p>
&nbsp;&nbsp; 以前CSDNBlog上的文章，今天集体转移一下~
<img src ="http://www.blogjava.net/leeguannan/aggbug/127378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2007-07-01 20:33 <a href="http://www.blogjava.net/leeguannan/archive/2007/07/01/127378.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>