java.lang
类 Runtime
java.lang.Object java.lang.Runtime
public class Runtime extends Object
每个 Java 应用程序都有一个 Runtime
类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime
方法获取当前运行时。
应用程序不能创建自己的 Runtime 类实例。
-
从以下版本开始:
- JDK1.0 另请参见:
-
getRuntime()
方法摘要 | |
---|---|
void | addShutdownHook(Thread hook) 注册新的虚拟机来关闭钩子。 |
int | availableProcessors() 向 Java 虚拟机返回可用处理器的数目。 |
Process | exec(String command) 在单独的进程中执行指定的字符串命令。 |
Process | exec(String[] cmdarray) 在单独的进程中执行指定命令和变量。 |
Process | exec(String[] cmdarray, String[] envp) 在指定环境的独立进程中执行指定命令和变量。 |
Process | exec(String[] cmdarray, String[] envp, File dir) 在指定环境和工作目录的独立进程中执行指定的命令和变量。 |
Process | exec(String command, String[] envp) 在指定环境的单独进程中执行指定的字符串命令。 |
Process | exec(String command, String[] envp, File dir) 在有指定环境和工作目录的独立进程中执行指定的字符串命令。 |
void | exit(int status) 通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。 |
long | freeMemory() 返回 Java 虚拟机中的空闲内存量。 |
void | gc() 运行垃圾回收器。 |
InputStream | getLocalizedInputStream(InputStream in) 已过时。 从 JDK 1.1 开始,将本地编码字节流转换为 Unicode 字符流的首选方法是使用 InputStreamReader 和 BufferedReader 类。 |
OutputStream | getLocalizedOutputStream(OutputStream out) 已过时。 从 JDK 1.1 开始,将 Unicode 字符流转换为本地编码字节流的首选方法是使用 OutputStreamWriter 、BufferedWriter 和 PrintWriter 类。 |
static Runtime | getRuntime() 返回与当前 Java 应用程序相关的运行时对象。 |
void | halt(int status) 强行终止目前正在运行的 Java 虚拟机。 |
void | load(String filename) 加载作为动态库的指定文件名。 |
void | loadLibrary(String libname) 加载具有指定库名的动态库。 |
long | maxMemory() 返回 Java 虚拟机试图使用的最大内存量。 |
boolean | removeShutdownHook(Thread hook) 取消注册某个先前已注册的虚拟机关闭钩子。 |
void | runFinalization() 运行挂起 finalization 的所有对象的终止方法。 |
static void | runFinalizersOnExit(boolean value) 已过时。 此方法本身具有不安全性。它可能对正在使用的对象调用终结方法,而其他线程正在操作这些对象,从而导致不正确的行为或死锁。 |
long | totalMemory() 返回 Java 虚拟机中的内存总量。 |
void | traceInstructions(boolean on) 启用/禁用指令跟踪。 |
void | traceMethodCalls(boolean on) 启用/禁用方法调用跟踪。 |
java.lang
类 Process
java.lang.Object java.lang.Process
public abstract class Process extends Object
ProcessBuilder.start()
和 Runtime.exec
方法创建一个本机进程,并返回 Process
子类的一个实例,该实例可用来控制进程并获得相关信息。Process
类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。
创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,Microsoft Windows 上的 Win16/DOS 进程,或者 shell 脚本。创建的子进程没有自己的终端或控制台。它的所有标准 io(即 stdin、stdout 和 stderr)操作都将通过三个流 (getOutputStream()
、getInputStream()
和 getErrorStream()
) 重定向到父进程。父进程使用这些流来提供到子进程的输入和获得从子进程的输出。因为有些本机平台仅针对标准输入和输出流提供有限的缓冲区大小,如果读写子进程的输出流或输入流迅速出现失败,则可能导致子进程阻塞,甚至产生死锁。
当没有 Process
对象的更多引用时,不是删掉子进程,而是继续异步执行子进程。
对于带有 Process
对象的 Java 进程,没有必要异步或并发执行由 Process
对象表示的进程。
-
从以下版本开始:
- JDK1.0 另请参见:
-
ProcessBuilder
,Runtime.exec(String[], String[], File)
构造方法摘要 | |
---|---|
Process() |
方法摘要 | |
---|---|
abstract void | destroy() 杀掉子进程。 |
abstract int | exitValue() 返回子进程的出口值。 |
abstract InputStream | getErrorStream() 获取子进程的错误流。 |
abstract InputStream | getInputStream() 获取子进程的输入流。 |
abstract OutputStream | getOutputStream() 获取子进程的输出流。 |
abstract int | waitFor() 导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。 |