回覆列表
  • 1 # 程式設計師術與道

    在JDK中,與程序有直接關係的類為Java.lang.Process,它是一個抽象類。在JDK中也提供了一個實現該抽象類的ProcessImpl類,如果使用者建立了一個程序,那麼肯定會伴隨著一個新的ProcessImpl例項。同時和程序建立恰當相關的還有還有ProcessBuilder。

    下面介紹幾種建立程序的方法。

    ProcessBuilder.start()方法

    Processclass是一個抽象類,在它裡面主要有幾個抽象方法,如下:

    ProcessBuilder是一個最終類,它有兩個構造器,構造器中傳遞的是需要建立的程序的命令引數

    第一個構造器是將命令引數放進List當中傳進去第二構造器基於不定長弦的形式傳進去。

    ProcessBuilder.start方法來建立一個本地的程序。如果希望在新建立的程序中使用當前的目錄和環境變數,則不需要任何配置,直接將命令列和引數設定為ProcessBuilder中,然後呼叫start方法,就獲得進步的引用。

    也可以先配置環境變數和工作目錄,然後建立程序。

    可以預先配置ProcessBuilder的屬性是透過ProcessBuilder建立程序的最大優點。而且可以在後面的使用中轉換需要去更改程式碼中pb變數的屬性。如果後續程式碼修改了其屬性,那麼會影響到修改後用start方法建立的程序,對修改之前建立的程序例項沒有影響。

    2.Runtime.exec()方法

    可以發現,實際上透過Runtime類的執行建立程序的話,最終還是透過ProcessBuilder類的start方法來建立的。

  • 2 # 木凡空

    建立執行緒的方式:

           1.繼承Thread類,並複寫run方法,建立該類物件,呼叫start方法開啟執行緒。

           2.實現Runnable介面,複寫run方法,建立Thread類物件,將Runnable子類物件傳遞給Thread類物件。呼叫start方法開啟執行緒。

              第二種方式好,將執行緒物件和執行緒任務物件分離開。降低了耦合性,利於維護

           3.建立FutureTask物件,建立Callable子類物件,複寫call(相當於run)方法,將其傳遞給FutureTask物件(相當於一個Runnable)。

  • 3 # 大資料資深專家

    在java中建立程序有兩種形式:

    1.使用Runtime的exec(String cmdarray[])方法建立程序

    程式碼如下:

    String [] cmd={"cmd","/c","start dir"};

    Runtime rt = Runtime.getRuntime();

    Process proc=rt.exec(cmd)

    2.使用ProcessBuilder的start()方法建立程序

    程式碼如下:

    ProcessBuilder pb=new ProcessBuilder("cmd","/C","start","netstat");

    Process ps=pb.start();

    除以上列出的命令外,還可以透過程序調起計算機、文字編輯器等。

    調起計算器程式碼為:Runtime.getRuntime.exec("calc");

    調起文字編輯器為:Runtime.getRuntime.exec("notepad");

  • 4 # 小小鄧

     在Java中,可以透過兩種方式來建立程序,總共涉及到5個主要的類。

      第一種方式是透過Runtime.exec()方法來建立一個程序,第二種方法是透過ProcessBuilder的start方法來建立程序。

  • 中秋節和大豐收的關聯?
  • 防塵的n95和醫用的n95有啥區別?