锘??xml version="1.0" encoding="utf-8" standalone="yes"?>99久久99久久精品国产片,国产成人精品久久二区二区,久久久久久久精品成人热色戒http://www.shnenglu.com/mysileng/category/20000.htmlzh-cnWed, 09 Apr 2014 08:26:53 GMTWed, 09 Apr 2014 08:26:53 GMT60鍦╦ava涓嬌鐢≧untime.exec()鏃惰娉ㄦ剰鐨勯棶棰?/title><link>http://www.shnenglu.com/mysileng/archive/2014/04/08/206500.html</link><dc:creator>閼緳</dc:creator><author>閼緳</author><pubDate>Tue, 08 Apr 2014 07:20:00 GMT</pubDate><guid>http://www.shnenglu.com/mysileng/archive/2014/04/08/206500.html</guid><wfw:comment>http://www.shnenglu.com/mysileng/comments/206500.html</wfw:comment><comments>http://www.shnenglu.com/mysileng/archive/2014/04/08/206500.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mysileng/comments/commentRss/206500.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mysileng/services/trackbacks/206500.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">紼嬪簭濡備笅錛?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">import java.util.*;</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">import java.io.*;</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">public class BadExecJavac</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">{</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">    public static void main(String args[])</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">    {</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">        try</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">        {           </p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">            Runtime rt = Runtime.getRuntime();</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">            Process proc = rt.exec("javac");</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">            int exitVal = proc.exitValue();</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">            System.out.println("Process exitValue: " + exitVal);</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">        } catch (Throwable t)</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">          {</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">            t.printStackTrace();</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">          }</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">    }</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">}</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">榪愯緇撴灉濡備笅</p><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">E:\classes\com\javaworld\jpitfalls\article2>java BadExecJavac<br />java.lang.IllegalThreadStateException: process has not exited        <br />at java.lang.Win32Process.exitValue(Native Method)        <br />at BadExecJavac.main(BadExecJavac.java:13)</span><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">榪欐槸鍥犱負褰撹繘紼嬭繕娌℃湁緇撴潫鐨勬儏鍐典笅錛岃皟鐢╡xitValue鏂規硶浼氭姏鍑篒llegalThreadStateException.褰撶劧浜嗘垜浠細闂負浠鍚楄繖涓柟娉曚笉浼氱瓑鍒拌繘紼嬬粨鏉熷湪榪斿洖涓涓悎鐞嗙殑鍊鹼紵</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">鍦ㄦ鏌rocess綾葷殑鎵鏈夊彲鐢ㄦ柟娉曚互鍚庢垜浠彂鐜癢airFor()鏄竴涓洿鍚堥傜殑鏂規硶銆備簨瀹炰笂waitFor涔熶細榪斿洖exit value銆傝繖鎰忓懗鐫浣犱笉鍙互鍚屾椂鐢╡xitvalue鍜寃aitfor錛岃屾槸鍙兘閫夋嫨涓涓?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">褰撶劧浜嗕篃鏈夋儏鍐典綘瑕佸湪waitfor涔嬪墠鐢╡xitvalue鏂規硶錛氬氨鏄綘涓嶆兂鍥犱負澶栭儴紼嬪簭姘歌繙鏃犳硶瀹屾垚鑰屼竴鐩寸瓑寰呬笅鍘匯?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">鍥犳涓轟簡閬垮厤榪欎釜闄烽槺錛屾垜浠涔堟崟鑾稩llegalThreadStateException寮傚父錛岃涔堢瓑寰呰繘紼嬪畬鎴愩傛垜浠浉褰撶劧鐨勪互涓哄彲浠ョ敤waitfor鏉ョ瓑寰呯▼搴忕殑緇撴潫銆備唬鐮佸涓嬶細</p><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">import java.util.*;<br />import java.io.*;<br />public class BadExecJavac2{   <br /></span>   <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">public static void main(String args[])    {       <br /></span>      <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">try        {                        <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">Runtime rt = Runtime.getRuntime();            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">Process proc = rt.exec("javac");           <br /></span>        <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;"> int exitVal = proc.waitFor();            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">System.out.println("Process exitValue: " + exitVal);        <br /></span>      <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">} catch (Throwable t)          {            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">t.printStackTrace();          <br /></span>      <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">}    <br /></span>   <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">}<br />}</span><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">榪欐鍦╨inux涓嬮潰榪斿洖鐨勭粨鏋滄槸2,鑰屽湪windows涓嬮潰鎹紼嬪簭浼氭寕璧鳳紝鍏充簬鍏跺師鍥犳垜浠彲浠ュ湪jdk鏂囨。涓壘鍒伴儴鍒嗚В閲婏細鍥犱負涓浜涙搷浣滅郴緇熶負鏍囧噯鐨勮緭鍏ヨ緭鍑轟粎浠呮彁渚涙湁闄愮殑緙撳啿鍖猴紝褰撲笉鑳芥紜殑灝嗕俊鎭啓榪涜緭鍏ユ祦鎴栬呬粠杈撳嚭嫻佷腑鑾峰彇淇℃伅鏃訛紝灝變細瀵艱嚧瀛愯繘紼嬬殑闃誨錛岀敋鑷蟲閿併傜幇鍦ㄦ垜浠氨鏍規嵁jdk鏂囨。鏉ュ鐞唈avac榪涚▼鐨勮緭鍑猴紝褰撲綘涓嶅甫浠諱綍鍙傛暟榪愯javac鏃訛紝瀹冧細鎵撳嵃鍑轟竴緋誨垪鐨勬湁鐢ㄧ殑鎻愮ず淇℃伅銆傝岃繖浜涗細琚紶閫佸埌stderr嫻佷腑銆傛垜浠彲浠ュ啓紼嬪簭鍦ㄥ叾榪斿洖鍓嶈幏鍙栬繖浜涗俊鎭備笅闈㈢殑浠g爜鎻愪緵浜嗕竴涓鉤搴哥殑瑙e喅鏂規銆?/p><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">import java.util.*;import java.io.*;<br />public class MediocreExecJavac{    <br /></span>   <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">public static void main(String args[])    {       <br /></span>      <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;"> try        {                        <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">Runtime rt = Runtime.getRuntime();            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">Process proc = rt.exec("javac");           <br /></span>        <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;"> InputStream stderr = proc.getErrorStream();           <br /></span>        <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;"> InputStreamReader isr = new InputStreamReader(stderr);            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">BufferedReader br = new BufferedReader(isr);            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">String line = null;            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">System.out.println("<ERROR>");            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">while ( (line = br.readLine()) != null)                <br /></span>            <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">System.out.println(line);            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">System.out.println("</ERROR>");           <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">int exitVal = proc.waitFor();            <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">System.out.println("Process exitValue: " + exitVal);        <br /></span>      <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">} catch (Throwable t)          {           <br /></span>         <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;"> t.printStackTrace();          <br /></span>      <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">}    <br /></span>   <span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">}<br />}</span><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">榪欐紼嬪簭鍙互姝g‘鐨勮緭鍑轟簡鎻愮ず淇℃伅錛屼絾鏄垜浠簲璇ユ敞鎰忓埌鍏惰繑鍥炰唬鐮佹槸2錛屾垜浠煡閬撲換浣曢潪0鐨勮繑鍥炰唬鐮侀兘琛ㄧず紼嬪簭涓嶆甯搞傛墍浠ユ垜浠渶瑕佽繘涓姝ョ殑鏌ユ壘鍘熷洜銆傚浜巜in32鑰岃█鏄痜ile not found錛屽緢鏄庢樉javac鏈熸湜鎴戜滑鎻愪緵緙栬瘧鐨勬枃浠躲傛墍浠ュ浜庢案榪滄寕璧風殑闂錛屽鏋滀綘榪愯鐨勭▼搴忎細鏈夎緭鍑烘垨鑰呰姹傝緭鍑哄叆鏃訛紝浣犻渶瑕佸鐞嗚緭鍑哄拰杈撳叆銆傛垜鍦╨inux涓嬮潰榪愯鐨勭粨鏋滄槸姝g‘鐨勩傚墠闈㈣浜嗗湪win32涓嬮潰2浠h〃鏄枃浠舵病鏈夋壘鍒幫紝鑰屽湪榪欑鎯呭喌涓嬭〃鏄庢槸dir.exe娌℃湁鎵懼埌錛岋紙鍥犱負鏍規湰灝辨病鏈夎繖涓枃浠訛紝浠栦滑閮借灝佽鍒癱ommon.com 錛坵in95錛夋垨鑰卌md.exe涓簡銆?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">涓嬮潰鎴戜滑鍒楀嚭涓涓紜殑澶勭悊Process鐨勮緭鍏ヨ緭鍑烘祦鐨勬柟娉曘傞渶瑕佺敤涓涓嚎紼嬬被銆?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">import java.util.*;<br />import java.io.*;<br />class StreamGobbler extends Thread{    <br />   InputStream is;    <br />   String type;        <br />   StreamGobbler(InputStream is, String type)    {       <br />       this.is = is;       <br />       this.type = type;    <br />   }        <br /><br />   public void run()    {        <br />      try        {           <br />          InputStreamReader isr = new InputStreamReader(is);            <br />          BufferedReader br = new BufferedReader(isr);           <br />          String line=null;            <br />   <span id="tx99xfj" class="Apple-tab-span" style="white-space:pre"> </span>  while ( (line = br.readLine()) != null)                <br />   <span id="3dzv9n9" class="Apple-tab-span" style="white-space:pre"> </span>  System.out.println(type + ">" + line);                <br />      } catch (IOException ioe)             {                <br />   <span id="jxz9j93" class="Apple-tab-span" style="white-space:pre"> </span>   ioe.printStackTrace();               <br />      }    <br />   }<br />}</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">鐢ㄤ簬涓撻棬鐨勫鐞嗚緭鍏ヨ緭鍑恒?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">public class GoodWindowsExec{    <br />   <span id="3d3pxhp" class="Apple-tab-span" style="white-space:pre"> </span>public static void main(String args[])    {        <br />   <span id="z39t9bz" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="ptfhvdr" class="Apple-tab-span" style="white-space:pre"> </span>if (args.length < 1)        {            <br />   <span id="v9nbl3l" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="d9t3pph" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="9z9vjt9" class="Apple-tab-span" style="white-space:pre"> </span>System.out.println("USAGE: java GoodWindowsExec <cmd>");            <br />   <span id="trd3jxj" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="rbntdth" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="1z93p99" class="Apple-tab-span" style="white-space:pre"> </span>System.exit(1);        <br />   <span id="3ntnp3f" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="v9vjvlj" class="Apple-tab-span" style="white-space:pre"> </span>}                <br />   <span id="3nt9x9f" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="zhtfzn3" class="Apple-tab-span" style="white-space:pre"> </span>try        {                        <br />   <span id="33l99dn" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="d9n9999" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="jlp9j93" class="Apple-tab-span" style="white-space:pre"> </span>String osName = System.getProperty("os.name" );            <br />   <span id="9pbnxn9" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="xhj3nzx" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="l93f9h9" class="Apple-tab-span" style="white-space:pre"> </span>String[] cmd = new String[3];           <br />   <span id="l9vtvt3" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="vzr3fpv" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="ln3jpxv" class="Apple-tab-span" style="white-space:pre"> </span>if( osName.equals( "Windows NT" ) )            {                <br />   <span id="lvp9hrh" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="9r3t9rb" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="9f9zpdb" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="rlplxlb" class="Apple-tab-span" style="white-space:pre"> </span>cmd[0] = "cmd.exe" ;                <br />   <span id="n39v93l" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="j3399vl" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="9399zzf" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="f9jxrhx" class="Apple-tab-span" style="white-space:pre"> </span>cmd[1] = "/C" ;                <br />   <span id="93j3jhx" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="v39999b" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="j9zdh3t" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="bfrnhft" class="Apple-tab-span" style="white-space:pre"> </span>cmd[2] = args[0];            <br />   <span id="dr333f9" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="hfpbv3r" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="9d3f39f" class="Apple-tab-span" style="white-space:pre"> </span>}            else if( osName.equals( "Windows 95" ) )            {                <br />   <span id="ttnzjpf" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="3bzbd39" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="9b393b9" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="lfrtn9f" class="Apple-tab-span" style="white-space:pre"> </span>cmd[0] = "command.com" ;                <br />   <span id="d3vxhh3" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="3n9f9jj" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="3ljvndl" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="p9jb3b3" class="Apple-tab-span" style="white-space:pre"> </span>cmd[1] = "/C" ;                <br />   <span id="hbl3r39" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="vfj3fnl" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="n3pz9l3" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="rb39brz" class="Apple-tab-span" style="white-space:pre"> </span>cmd[2] = args[0];            }                        <br />   <span id="jtf33vp" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="fpztzx3" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="9x9jhn3" class="Apple-tab-span" style="white-space:pre"> </span>Runtime rt = Runtime.getRuntime();            <br />   <span id="3db3nlb" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="j3tnt3d" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="blnh3pz" class="Apple-tab-span" style="white-space:pre"> </span>System.out.println("Execing " + cmd[0] + " " + cmd[1] + " " + cmd[2]);            <br />   <span id="n339tj9" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="ht993jp" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="v33b9vr" class="Apple-tab-span" style="white-space:pre"> </span>Process proc = rt.exec(cmd);            // any error message?            <br />   <span id="jdvhnd9" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="j9vnjp3" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="3b3tr3b" class="Apple-tab-span" style="white-space:pre"> </span>StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(), "ERROR");  // any output?            <br />   <span id="lp3ftb9" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="d33h9t9" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="zb3h13x" class="Apple-tab-span" style="white-space:pre"> </span>StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(), "OUTPUT");                            // kick them off            <br />   <span id="n99v13b" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="3hd3zfp" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="jtdxjx9" class="Apple-tab-span" style="white-space:pre"> </span>errorGobbler.start();            <br />   <span id="np3bhx3" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="zdf9j9d" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="33d9xvp" class="Apple-tab-span" style="white-space:pre"> </span>outputGobbler.start();                                                // any error???            <br />   <span id="939ljzr" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="dnp3ftl" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="3zd9z9b" class="Apple-tab-span" style="white-space:pre"> </span>int exitVal = proc.waitFor();            <br />   <span id="939tzxf" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="vfrxbp3" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="3jf993h" class="Apple-tab-span" style="white-space:pre"> </span>System.out.println("ExitValue: " + exitVal);                <br />   <span id="nprn33z" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="9htfxfn" class="Apple-tab-span" style="white-space:pre"> </span>} catch (Throwable t)          {            <br />   <span id="93bnznn" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="bnfrljr" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="3x39939" class="Apple-tab-span" style="white-space:pre"> </span>t.printStackTrace();          <br />   <span id="d3vfz39" class="Apple-tab-span" style="white-space:pre"> </span>   <span id="z99lhp9" class="Apple-tab-span" style="white-space:pre"> </span>}    <br />   <span id="dnhrdtz" class="Apple-tab-span" style="white-space:pre"> </span>}<br />}</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">濡傛灉榪愯濡備笅鍛戒護涓婇潰鐨勪唬鐮佷細璋冪敤word紼嬪簭</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">>java GoodWindowExec “abc.doc”</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">涔熷氨鏄鏂囦歡綾誨瀷濡傛灉window鑳藉璇嗗埆瀹冨氨浼氳皟鐢ㄥ搴旂殑紼嬪簭澶勭悊銆?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">StreamGlobbler鐨勬渶閲嶈浣滅敤鏄粬浼氭竻絀烘墍鏈夌殑浼犻掔粰浠栫殑inputstream錛岃繖鏍蜂笉浼氶犳垚Process闃誨鎴栬呮閿併?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;"></p><img src ="http://www.shnenglu.com/mysileng/aggbug/206500.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mysileng/" target="_blank">閼緳</a> 2014-04-08 15:20 <a href="http://www.shnenglu.com/mysileng/archive/2014/04/08/206500.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>java涓瓀ait/notify鏈哄埗http://www.shnenglu.com/mysileng/archive/2014/04/07/206494.html閼緳閼緳Mon, 07 Apr 2014 09:27:00 GMThttp://www.shnenglu.com/mysileng/archive/2014/04/07/206494.htmlhttp://www.shnenglu.com/mysileng/comments/206494.htmlhttp://www.shnenglu.com/mysileng/archive/2014/04/07/206494.html#Feedback0http://www.shnenglu.com/mysileng/comments/commentRss/206494.htmlhttp://www.shnenglu.com/mysileng/services/trackbacks/206494.html閫氬父錛屽綰跨▼涔嬮棿闇瑕佸崗璋冨伐浣溿備緥濡傦紝嫻忚鍣ㄧ殑涓涓樉紺哄浘鐗囩殑綰跨▼displayThread鎯寵鎵ц鏄劇ず鍥劇墖鐨勪換鍔★紝蹇呴』絳夊緟涓嬭澆綰跨▼ downloadThread灝嗚鍥劇墖涓嬭澆瀹屾瘯銆傚鏋滃浘鐗囪繕娌℃湁涓嬭澆瀹岋紝displayThread鍙互鏆傚仠錛屽綋downloadThread瀹屾垚浜嗕換鍔?鍚庯紝鍐嶉氱煡displayThread“鍥劇墖鍑嗗瀹屾瘯錛屽彲浠ユ樉紺轟簡”錛岃繖鏃訛紝displayThread緇х畫鎵ц銆?/span>
浠ヤ笂閫昏緫綆鍗曠殑璇村氨鏄細濡傛灉鏉′歡涓嶆弧瓚籌紝鍒欑瓑寰呫傚綋鏉′歡婊¤凍鏃訛紝絳夊緟璇ユ潯浠剁殑綰跨▼灝嗚鍞ら啋銆傚湪Java涓紝榪欎釜鏈哄埗鐨勫疄鐜頒緷璧栦簬wait/notify銆傜瓑寰呮満鍒朵笌閿佹満鍒舵槸瀵嗗垏鍏寵仈鐨勩備緥濡傦細
synchronized(obj) {while(!condition) {obj.wait();}obj.doSomething();}  

褰撶嚎紼婣鑾峰緱浜唎bj閿佸悗錛屽彂鐜版潯浠禼ondition涓嶆弧瓚籌紝鏃犳硶緇х畫涓嬩竴澶勭悊錛屼簬鏄嚎紼婣灝眞ait()銆?/span>
鍦ㄥ彟涓綰跨▼B涓紝濡傛灉B鏇存敼浜嗘煇浜涙潯浠訛紝浣垮緱綰跨▼A鐨刢ondition鏉′歡婊¤凍浜嗭紝灝卞彲浠ュ敜閱掔嚎紼婣錛?/span>
synchronized(obj) {condition = true;obj.notify();} 

闇瑕佹敞鎰忕殑姒傚康鏄細
◆璋冪敤obj鐨剋ait(), notify()鏂規硶鍓嶏紝蹇呴』鑾峰緱obj閿侊紝涔熷氨鏄繀欏誨啓鍦╯ynchronized(obj) {...} 浠g爜孌靛唴銆?/span>
◆璋冪敤obj.wait()鍚庯紝綰跨▼A灝遍噴鏀句簡obj鐨勯攣錛屽惁鍒欑嚎紼婤鏃犳硶鑾峰緱obj閿侊紝涔熷氨鏃犳硶鍦╯ynchronized(obj) {...} 浠g爜孌靛唴鍞ら啋A銆?/span>
◆褰搊bj.wait()鏂規硶榪斿洖鍚庯紝綰跨▼A闇瑕佸啀嬈¤幏寰梠bj閿侊紝鎵嶈兘緇х畫鎵ц銆?/span>
◆濡傛灉A1,A2,A3閮藉湪obj.wait()錛屽垯B璋冪敤obj.notify()鍙兘鍞ら啋A1,A2,A3涓殑涓涓紙鍏蜂綋鍝竴涓敱JVM鍐沖畾錛夈?/span>
◆obj.notifyAll()鍒欒兘鍏ㄩ儴鍞ら啋A1,A2,A3錛屼絾鏄緇х畫鎵цobj.wait()鐨勪笅涓鏉¤鍙ワ紝蹇呴』鑾峰緱obj閿侊紝鍥犳錛孉1,A2,A3鍙湁涓涓湁鏈轟細鑾峰緱閿佺戶緇墽琛岋紝渚嬪A1錛屽叾浣欑殑闇瑕佺瓑寰匒1閲婃斁obj閿佷箣鍚庢墠鑳界戶緇墽琛屻?/span>
◆褰揃璋冪敤obj.notify/notifyAll鐨勬椂鍊欙紝B姝f寔鏈塷bj閿侊紝鍥犳錛孉1,A2,A3铏借鍞ら啋錛屼絾鏄粛鏃犳硶鑾峰緱obj閿併傜洿鍒癇閫鍑簊ynchronized鍧楋紝閲婃斁obj閿佸悗錛孉1,A2,A3涓殑涓涓墠鏈夋満浼氳幏寰楅攣緇х畫鎵ц銆?/span>



閼緳 2014-04-07 17:27 鍙戣〃璇勮
]]>
CentOS 涓婮DK瀹夎(杞?http://www.shnenglu.com/mysileng/archive/2012/12/25/196619.html閼緳閼緳Tue, 25 Dec 2012 11:17:00 GMThttp://www.shnenglu.com/mysileng/archive/2012/12/25/196619.htmlhttp://www.shnenglu.com/mysileng/comments/196619.htmlhttp://www.shnenglu.com/mysileng/archive/2012/12/25/196619.html#Feedback0http://www.shnenglu.com/mysileng/comments/commentRss/196619.htmlhttp://www.shnenglu.com/mysileng/services/trackbacks/196619.html絎竴姝ワ細鏌ョ湅Linux鑷甫鐨凧DK鏄惁宸插畨瑁?錛堝嵏杞絚entOS宸插畨瑁呯殑1.4錛?/p>

瀹夎濂界殑CentOS浼氳嚜甯penJdk,鐢ㄥ懡浠?java -version 錛屼細鏈変笅闈㈢殑淇℃伅錛?/p>

java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

鏈濂借繕鏄厛鍗歌澆鎺塷penjdk,鍦ㄥ畨瑁卻un鍏徃鐨刯dk.

鍏堟煡鐪?rpm -qa | grep java

鏄劇ず濡備笅淇℃伅錛?/p>

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

鍗歌澆錛?/p>

rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

榪樻湁涓浜涘叾浠栫殑鍛戒護

rpm -qa | grep gcj

rpm -qa | grep jdk

濡傛灉鍑虹幇鎵句笉鍒皁penjdk source鐨勮瘽錛岄偅涔堣繕鍙互榪欐牱鍗歌澆

yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

 

 

<1># rpm -qa|grep jdk ← 鏌ョ湅jdk鐨勪俊鎭垨鐩存帴鎵ц 
鎴?nbsp;
# rpm -q jdk 
鎴?nbsp;
# java -version 
<2># rpm -qa | grep gcj ← 紜gcj鐨勭増鏈彿 
<3># yum -y remove java-1.4.2-gcj-compat ← 鍗歌澆gcj 

絎簩姝ワ細瀹夎JDK 
<1>浠嶴UN涓嬭澆jdk-1_5_0_14-linux-i586-rpm.bin鎴杍dk-1_5_0_14-linux-i586.bin 
鍦?usr涓嬫柊寤簀ava鏂囦歡澶癸紝灝嗗畨瑁呭寘鏀懼湪/usr/java鐩綍涓?nbsp;
# mkdir /usr/java 
<2>瀹夎JDK 
# cd /usr/java 
①jdk-1_5_0_14-linux-i586-rpm.bin鏂囦歡瀹夎 
# chmod 777 jdk-1_5_0_14-linux-i586-rpm.bin ← 淇敼涓哄彲鎵ц 
# ./jdk-1_5_0_14-linux-i586-rpm.bin ← 閫夋嫨yes鍚屾剰涓婇潰鐨勫崗璁?nbsp;
# rpm -ivh jdk-1_5_0_14-linux-i586.rpm ← 閫夋嫨yes鐩村埌瀹夎瀹屾瘯 
②jdk-1_5_0_14-linux-i586.bin鏂囦歡瀹夎 
# chmod a+x jdk-1_5_0_14-linux-i586.bin ← 浣垮綋鍓嶇敤鎴鋒嫢鏈夋墽琛屾潈闄?nbsp;
# ./jdk-1_5_0_14-linux-i586.bin ← 閫夋嫨yes鐩村埌瀹夎瀹屾瘯 

絎笁姝ワ細閰嶇疆鐜鍙橀噺 
<1># vi /etc/profile 
<2>鍦ㄦ渶鍚庡姞鍏ヤ互涓嬪嚑琛岋細 
export JAVA_HOME=/usr/java/jdk1.6.0_10 
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export PATH=$PATH:$JAVA_HOME/bin 
<3># reboot ← 閲嶅惎鏈哄櫒閰嶇疆鐢熸晥



閼緳 2012-12-25 19:17 鍙戣〃璇勮
]]>
Java RMI demo(杞?http://www.shnenglu.com/mysileng/archive/2012/09/26/192076.html閼緳閼緳Wed, 26 Sep 2012 06:07:00 GMThttp://www.shnenglu.com/mysileng/archive/2012/09/26/192076.htmlhttp://www.shnenglu.com/mysileng/comments/192076.htmlhttp://www.shnenglu.com/mysileng/archive/2012/09/26/192076.html#Feedback0http://www.shnenglu.com/mysileng/comments/commentRss/192076.htmlhttp://www.shnenglu.com/mysileng/services/trackbacks/192076.htmlJava RMI 鎸囩殑鏄繙紼嬫柟娉曡皟鐢?(Remote Method Invocation)銆傚畠鏄竴縐嶆満鍒訛紝鑳藉璁╁湪鏌愪釜 Java 铏氭嫙鏈轟笂鐨勫璞¤皟鐢ㄥ彟涓涓?Java 铏氭嫙鏈轟腑鐨勫璞′笂鐨勬柟娉曘傚彲浠ョ敤姝ゆ柟娉曡皟鐢ㄧ殑浠諱綍瀵硅薄蹇呴』瀹炵幇璇ヨ繙紼嬫帴鍙c?/div>
 
Java RMI涓嶆槸浠涔堟柊鎶鏈紙鍦↗ava1.1鐨勬椂浠i兘鏈変簡錛夛紝浣嗗嵈鏄槸闈炲父閲嶈鐨勫簳灞傛妧鏈?/div>
澶у悕榧庨紟鐨凟JB閮芥槸寤虹珛鍦╮mi鍩虹涔嬩笂鐨勶紝鐜板湪榪樻湁涓浜涘紑婧愮殑榪滅▼璋冪敤緇勪歡錛屽叾搴曞眰鎶鏈篃鏄痳mi銆?/div>
 
鍦ㄥぇ鍔涢紦鍚筗eb Service銆丼OA鐨勬椂浠o紝鏄笉鏄瘡涓簲鐢ㄩ兘搴旇閫夌敤絎ㄦ嫏鐨刉eb Service緇勪歡鏉ュ疄鐜幫紝閫氳繃瀵規瘮嫻嬭瘯鍚庯紝RMI鏄渶綆鍗曠殑錛屽湪涓浜涘皬鐨勫簲鐢ㄤ腑鏄渶鍚堥傜殑銆?/div>
 
涓嬮潰閫氳繃涓涓畝鍗曠殑渚嬪瓙鏉ヨ鏄嶳MI鐨勫師鐞嗗拰搴旂敤錛屼笅闈㈣繖涓緥瀛愭槸涓涓畝鍗旽elloWorld錛屼絾宸叉兜鐩朢MI鐨勬牳蹇冨簲鐢ㄤ笌寮鍙戞ā寮忋?/div>
 
/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2008-8-7 21:50:02 
* 瀹氫箟涓涓繙紼嬫帴鍙o紝蹇呴』緇ф壙Remote鎺ュ彛錛屽叾涓渶瑕佽繙紼嬭皟鐢ㄧ殑鏂規硶蹇呴』鎶涘嚭RemoteException寮傚父 
*/ 
public interface IHello extends Remote { 

    /** 
     * 綆鍗曠殑榪斿洖“Hello World錛?瀛楁牱 
     * @return 榪斿洖“Hello World錛?瀛楁牱 
     * @throws java.rmi.RemoteException 
     */ 
    public String helloWorld() throws RemoteException; 

    /** 
     * 涓涓畝鍗曠殑涓氬姟鏂規硶錛屾牴鎹紶鍏ョ殑浜哄悕榪斿洖鐩稿簲鐨勯棶鍊欒 
     * @param someBodyName  浜哄悕 
     * @return 榪斿洖鐩稿簲鐨勯棶鍊欒 
     * @throws java.rmi.RemoteException 
     */ 
    public String sayHelloToSomeBody(String someBodyName) throws RemoteException; 
}
 
/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2008-8-7 21:56:47 
* 榪滅▼鐨勬帴鍙g殑瀹炵幇 
*/ 
public class HelloImpl extends UnicastRemoteObject implements IHello { 
    /** 
     * 鍥犱負UnicastRemoteObject鐨勬瀯閫犳柟娉曟姏鍑轟簡RemoteException寮傚父錛屽洜姝よ繖閲岄粯璁ょ殑鏋勯犳柟娉曞繀欏誨啓錛屽繀欏誨0鏄庢姏鍑篟emoteException寮傚父 
     * 
     * @throws RemoteException 
     */ 
    public HelloImpl() throws RemoteException { 
    } 

    /** 
     * 綆鍗曠殑榪斿洖“Hello World錛?瀛楁牱 
     * 
     * @return 榪斿洖“Hello World錛?瀛楁牱 
     * @throws java.rmi.RemoteException 
     */ 
    public String helloWorld() throws RemoteException { 
        return "Hello World!"; 
    } 

    /** 
     * 涓涓畝鍗曠殑涓氬姟鏂規硶錛屾牴鎹紶鍏ョ殑浜哄悕榪斿洖鐩稿簲鐨勯棶鍊欒 
     * 
     * @param someBodyName 浜哄悕 
     * @return 榪斿洖鐩稿簲鐨勯棶鍊欒 
     * @throws java.rmi.RemoteException 
     */ 
    public String sayHelloToSomeBody(String someBodyName) throws RemoteException { 
        return "浣犲ソ錛? + someBodyName + "!"; 
    } 
}
 
/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2008-8-7 22:03:35 
* 鍒涘緩RMI娉ㄥ唽琛紝鍚姩RMI鏈嶅姟錛屽茍灝嗚繙紼嬪璞℃敞鍐屽埌RMI娉ㄥ唽琛ㄤ腑銆?nbsp;
*/ 
public class HelloServer { 
    public static void main(String args[]) { 

        try { 
            //鍒涘緩涓涓繙紼嬪璞?nbsp;
            IHello rhello = new HelloImpl(); 
            //鏈湴涓繪満涓婄殑榪滅▼瀵硅薄娉ㄥ唽琛≧egistry鐨勫疄渚嬶紝騫舵寚瀹氱鍙d負8888錛岃繖涓姝ュ繀涓嶅彲灝戯紙Java榛樿绔彛鏄?099錛夛紝蹇呬笉鍙己鐨勪竴姝ワ紝緙哄皯娉ㄥ唽琛ㄥ垱寤猴紝鍒欐棤娉曠粦瀹氬璞″埌榪滅▼娉ㄥ唽琛ㄤ笂 
            LocateRegistry.createRegistry(8888); 

            //鎶婅繙紼嬪璞℃敞鍐屽埌RMI娉ㄥ唽鏈嶅姟鍣ㄤ笂錛屽茍鍛藉悕涓篟Hello 
            //緇戝畾鐨刄RL鏍囧噯鏍煎紡涓猴細rmi://host:port/name(鍏朵腑鍗忚鍚嶅彲浠ョ渷鐣ワ紝涓嬮潰涓ょ鍐欐硶閮芥槸姝g‘鐨勶級 
            Naming.bind("rmi://localhost:8888/RHello",rhello); 
//            Naming.bind("http://localhost:8888/RHello",rhello); 

            System.out.println(">>>>>INFO:榪滅▼IHello瀵硅薄緇戝畾鎴愬姛錛?); 
        } catch (RemoteException e) { 
            System.out.println("鍒涘緩榪滅▼瀵硅薄鍙戠敓寮傚父錛?); 
            e.printStackTrace(); 
        } catch (AlreadyBoundException e) { 
            System.out.println("鍙戠敓閲嶅緇戝畾瀵硅薄寮傚父錛?); 
            e.printStackTrace(); 
        } catch (MalformedURLException e) { 
            System.out.println("鍙戠敓URL鐣稿艦寮傚父錛?); 
            e.printStackTrace(); 
        } 
    } 
}
 
/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2008-8-7 22:21:07 
* 瀹㈡埛绔祴璇曪紝鍦ㄥ鎴風璋冪敤榪滅▼瀵硅薄涓婄殑榪滅▼鏂規硶錛屽茍榪斿洖緇撴灉銆?nbsp;
*/ 
public class HelloClient { 
    public static void main(String args[]){ 
        try { 
            //鍦≧MI鏈嶅姟娉ㄥ唽琛ㄤ腑鏌ユ壘鍚嶇О涓篟Hello鐨勫璞★紝騫惰皟鐢ㄥ叾涓婄殑鏂規硶 
            IHello rhello =(IHello) Naming.lookup("rmi://localhost:8888/RHello"); 
            System.out.println(rhello.helloWorld()); 
            System.out.println(rhello.sayHelloToSomeBody("鐔斿博")); 
        } catch (NotBoundException e) { 
            e.printStackTrace(); 
        } catch (MalformedURLException e) { 
            e.printStackTrace(); 
        } catch (RemoteException e) { 
            e.printStackTrace();   
        } 
    } 
}
 
榪愯RMI鏈嶅姟绔▼搴忥細
 
榪愯RMI瀹㈡埛绔▼搴忥細
 
鎬葷粨錛?/div>
浠庝笂闈㈢殑榪囩▼鏉ョ湅錛孯MI瀵規湇鍔″櫒鐨処P鍦板潃鍜岀鍙d緷璧栧緢绱у瘑錛屼絾鏄湪寮鍙戠殑鏃跺欎笉鐭ラ亾灝嗘潵鐨勬湇鍔″櫒IP鍜岀鍙e浣曪紝浣嗘槸瀹㈡埛绔▼搴忎緷璧栬繖涓狪P鍜岀鍙c?/div>
榪欎篃鏄疪MI鐨勫眬闄愭т箣涓銆傝繖涓棶棰樻湁涓ょ瑙e喅閫斿緞錛氫竴鏄氳繃DNS鏉ヨВ鍐籌紝浜屾槸閫氳繃灝佽灝咺P鏆撮湶鍒扮▼搴忎唬鐮佷箣澶栥?/div>
RMI鐨勫眬闄愭т箣浜屾槸RMI鏄疛ava璇█鐨勮繙紼嬭皟鐢紝涓ょ鐨勭▼搴忚璦蹇呴』鏄疛ava瀹炵幇錛屽浜庝笉鍚岃璦闂寸殑閫氳鍙互鑰冭檻鐢╓eb Service鎴栬呭叕鐢ㄥ璞¤姹備唬鐞嗕綋緋伙紙CORBA錛夋潵瀹炵幇銆?/div>

閼緳 2012-09-26 14:07 鍙戣〃璇勮
]]> 久久99精品久久久久久不卡| 日本精品久久久久影院日本| 人妻丰满AV无码久久不卡| 新狼窝色AV性久久久久久| 国产一区二区三区久久精品| 欧美午夜A∨大片久久| 亚洲中文字幕无码久久精品1| av无码久久久久不卡免费网站| 久久福利片| 久久亚洲欧美国产精品| 久久久久久青草大香综合精品 | 999久久久免费精品国产| 99久久夜色精品国产网站| 久久精品一本到99热免费| 国产成人久久精品二区三区| 免费无码国产欧美久久18| 久久综合综合久久狠狠狠97色88| 国产精品久久久久久久久久影院 | 国产综合久久久久| 欧美成人免费观看久久| 国产999精品久久久久久| 97久久精品无码一区二区天美| 久久久亚洲欧洲日产国码是AV| 久久九九亚洲精品| 欧美丰满熟妇BBB久久久| 青青草原综合久久大伊人| 久久久久婷婷| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久男人中文字幕资源站| 久久国产高清字幕中文| 亚洲av成人无码久久精品 | 亚洲国产精品狼友中文久久久| 久久综合狠狠色综合伊人| 国产精品美女久久久久久2018| 亚洲综合精品香蕉久久网| 久久久久久精品免费免费自慰| 久久国产欧美日韩精品免费| 午夜精品久久久内射近拍高清| 久久精品国产亚洲一区二区三区| 久久精品?ⅴ无码中文字幕| 久久人人爽人人爽AV片|