﻿<?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>Thu, 29 Nov 2007 12:35:07 GMT</lastBuildDate><pubDate>Thu, 29 Nov 2007 12:35:07 GMT</pubDate><ttl>60</ttl><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>2</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>