Runtime 与 Process

java.lang
类 Runtime

java.lang.Object
  继承者 java.lang.Runtime

public class Runtime
   
   
    
    extends 
    
    Object
   
   

每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。

应用程序不能创建自己的 Runtime 类实例。

从以下版本开始:
JDK1.0
另请参见:
getRuntime()

方法摘要
 voidaddShutdownHook(Thread hook)
          注册新的虚拟机来关闭钩子。
 intavailableProcessors()
          向 Java 虚拟机返回可用处理器的数目。
 Processexec(String command)
          在单独的进程中执行指定的字符串命令。
 Processexec(String[] cmdarray)
          在单独的进程中执行指定命令和变量。
 Processexec(String[] cmdarray, String[] envp)
          在指定环境的独立进程中执行指定命令和变量。
 Processexec(String[] cmdarray, String[] envp, File dir)
          在指定环境和工作目录的独立进程中执行指定的命令和变量。
 Processexec(String command, String[] envp)
          在指定环境的单独进程中执行指定的字符串命令。
 Processexec(String command, String[] envp, File dir)
          在有指定环境和工作目录的独立进程中执行指定的字符串命令。
 voidexit(int status)
          通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。
 longfreeMemory()
          返回 Java 虚拟机中的空闲内存量。
 voidgc()
          运行垃圾回收器。
 InputStreamgetLocalizedInputStream(InputStream in)
          已过时。 从 JDK 1.1 开始,将本地编码字节流转换为 Unicode 字符流的首选方法是使用 InputStreamReaderBufferedReader 类。
 OutputStreamgetLocalizedOutputStream(OutputStream out)
          已过时。 从 JDK 1.1 开始,将 Unicode 字符流转换为本地编码字节流的首选方法是使用 OutputStreamWriterBufferedWriterPrintWriter 类。
static RuntimegetRuntime()
          返回与当前 Java 应用程序相关的运行时对象。
 voidhalt(int status)
          强行终止目前正在运行的 Java 虚拟机。
 voidload(String filename)
          加载作为动态库的指定文件名。
 voidloadLibrary(String libname)
          加载具有指定库名的动态库。
 longmaxMemory()
          返回 Java 虚拟机试图使用的最大内存量。
 booleanremoveShutdownHook(Thread hook)
          取消注册某个先前已注册的虚拟机关闭钩子。
 voidrunFinalization()
          运行挂起 finalization 的所有对象的终止方法。
static voidrunFinalizersOnExit(boolean value)
          已过时。 此方法本身具有不安全性。它可能对正在使用的对象调用终结方法,而其他线程正在操作这些对象,从而导致不正确的行为或死锁。
 longtotalMemory()
          返回 Java 虚拟机中的内存总量。
 voidtraceInstructions(boolean on)
          启用/禁用指令跟踪。
 voidtraceMethodCalls(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  voiddestroy()
          杀掉子进程。
abstract  intexitValue()
          返回子进程的出口值。
abstract  InputStreamgetErrorStream()
          获取子进程的错误流。
abstract  InputStreamgetInputStream()
          获取子进程的输入流。
abstract  OutputStreamgetOutputStream()
          获取子进程的输出流。
abstract  intwaitFor()
          导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。
 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值