Java執行時類



介紹

Java Runtime 類允許應用程式與應用程式執行的環境互動。

類宣告

以下是java.lang.Runtime類的宣告:

public class Runtime
   extends Object

類方法

序號 方法及描述
1 void addShutdownHook(Thread hook)

此方法註冊一個新的虛擬機器關閉鉤子。

2 int availableProcessors()

此方法返回Java虛擬機器可用的處理器數量。

3 Process exec(String command)

此方法在單獨的程序中執行指定的字串命令。

4 Process exec(String[] cmdarray)

此方法在單獨的程序中執行指定的命令和引數。

5 Process exec(String[] cmdarray, String[] envp)

此方法在單獨的程序中使用指定的環境執行指定的命令和引數。

6 Process exec(String[] cmdarray, String[] envp, File dir)

此方法在單獨的程序中使用指定的環境和工作目錄執行指定的命令和引數。

7 Process exec(String command, String[] envp)

此方法在單獨的程序中使用指定的環境執行指定的字串命令。

8 Process exec(String command, String[] envp, File dir)

此方法在單獨的程序中使用指定的環境和工作目錄執行指定的字串命令。

9 void exit(int status)

此方法透過啟動其關閉序列來終止當前正在執行的Java虛擬機器。

10 long freeMemory()

此方法返回Java虛擬機器中的可用記憶體量。

11 void gc()

此方法執行垃圾收集器。

12 static Runtime getRuntime()

此方法返回與當前Java應用程式關聯的執行時物件。

13 void halt(int status)

此方法強制終止當前正在執行的Java虛擬機器。

14 void load(String filename)

此方法將指定的filename載入為動態庫。

15 void loadLibrary(String libname)

此方法載入具有指定庫名稱的動態庫。

16 long maxMemory()

此方法返回Java虛擬機器將嘗試使用的最大記憶體量。

17 boolean removeShutdownHook(Thread hook)

此方法登出先前註冊的虛擬機器關閉鉤子。

18 void runFinalization()

此方法執行任何掛起的最終化物件的最終化方法。

19 long totalMemory()

此方法返回Java虛擬機器中的總記憶體量。

20 void traceInstructions(boolean on)

此方法啟用/停用指令跟蹤。

21 void traceMethodCalls(boolean on)

此方法啟用/停用方法呼叫跟蹤。

繼承的方法

此類繼承自以下類的方法:

  • java.lang.Object

示例:向執行緒物件新增關閉鉤子

以下示例顯示了Java Runtime addShutdownHook()方法的用法。在這個程式中,我們建立了一個靜態內部類Message,它擴充套件了Thread。在main方法中,我們使用addShutdownHook()方法用一個新的Message物件註冊了一個關閉鉤子。然後我們將系統休眠2秒,然後列印一條關閉訊息。由於關閉鉤子已註冊到Message物件,因此當程式退出時,將呼叫其run方法。

package com.tutorialspoint;

public class RuntimeDemo {

   // a class that extends thread that is to be called when program is exiting
   static class Message extends Thread {

      public void run() {
         System.out.println("Bye.");
      }
   }

   public static void main(String[] args) {
      try {

         // register Message as shutdown hook
         Runtime.getRuntime().addShutdownHook(new Message());

         // print the state of the program
         System.out.println("Program is starting...");

         // cause thread to sleep for 3 seconds
         System.out.println("Waiting for 3 seconds...");
         Thread.sleep(3000);

         // print that the program is closing 
         System.out.println("Program is closing...");
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

讓我們編譯並執行上面的程式,這將產生以下結果:

Program is starting...
Waiting for 3 seconds...
Program is closing...
Bye.
廣告