`

17、java.lang.Runtime类

阅读更多

一、Runtime类

 

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

二、常用方法

public class Runtime
{
	private static Runtime currentRuntime = new Runtime();

	//返回与当前 Java 应用程序相关的运行时对象
    public static Runtime getRuntime() { 
		return currentRuntime;
    }

    /** Don't let anyone else instantiate this class */
    private Runtime() {}



	//常用方法**********************************************
	
	/**
	 *向 Java 虚拟机返回可用处理器的数目。 
	 *该值在特定的虚拟机调用期间可能发生更改
	 *因此,对可用处理器数目很敏感的应用程序应该不定期地轮询该属性,并相应地调整其资源用法。 
	 */
	public int availableProcessors(){}

	//在单独的进程中执行指定的字符串命令。
	//返回一个新的 Process 对象,用于管理子进程 
	public Process exec(String command)
             throws IOException{}

	//通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机,System.exit(intnum)就是调用的这个方法
	public void exit(int status){}

	//返回 Java 虚拟机中的空闲内存量。调用 gc 方法可能导致 freeMemory 返回值的增加
	public long freeMemory(){}

	//运行垃圾回收器,方法 System.gc() 是调用此方法的一种传统而便捷的方式
	public void gc(){}

	//返回 Java 虚拟机试图使用的最大内存量。如果内存本身没有限制,则返回值 Long.MAX_VALUE
	public long maxMemory(){}

	//返回 Java 虚拟机中的内存总量,此方法返回的值可能随时间的推移而变化,这取决于主机环境
	public long totalMemory(){}
}

 

 

三、Process类

 

  1. ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,
  2. 该实例可用来控制进程并获得相关信息。
  3. Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。
public abstract class Process
{
	//杀掉子进程。强制终止此 Process 对象表示的子进程
	public abstract void destroy();

	/**导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。
	 *如果已终止该子进程,此方法立即返回。
	 *如果没有终止该子进程,调用的线程将被阻塞,直到退出子进程
	 */
	public abstract int waitFor()
                     throws InterruptedException;

	//获取子进程的输出流。输出流被传送给由该 Process 对象表示的进程的标准输入流
	public abstract OutputStream getOutputStream();

	//获取子进程的输入流。输入流获得由该 Process 对象表示的进程的标准输出流
	public abstract InputStream getInputStream();

	//获取子进程的错误流。错误流获得由该 Process 对象表示的进程的错误输出流传送的数据。
	public abstract InputStream getErrorStream();
}

 

分享到:
评论

相关推荐

    深入研究java.lang.Runtime类.doc

    "深入研究java.lang.Runtime类" java.lang.Runtime 类是 Java 语言中一个非常重要的类,它提供了访问当前 Java 应用程序的 Runtime 环境的能力。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其...

    java.lang.Runtime.exec() Payload知识点详解

    java.lang.Runtime.exec() Payload知识点详解 Java.lang.Runtime.exec() 方法是 Java 语言中用于执行操作系统命令的方法,它可以将参数传递给命令,并执行命令以获取结果。但是,在使用该方法时,需要注意一些重要...

    基于java.lang.Runtime封装的用于简化java调用命令行的工具.zip

    Java语言在执行外部程序或与操作系统交互时,通常会用到`java.lang.Runtime`类。这个类提供了运行时环境的接口,允许Java程序执行系统命令。然而,直接使用`Runtime`类进行命令行操作可能会比较繁琐,需要处理进程的...

    JSON中,java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决

    标题中的“JSON中,java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决”指的是一类常见的Java运行时错误,当尝试加载一个类时,如果Java虚拟机(JVM)找不到该类的定义,就会抛出`...

    Android异常 java.lang.IllegalStateException解决方法

    1. java.lang.IllegalStateException: No wrapped connection. 2.java.lang.IllegalStateException: Adapter is detached. 原因: 1.单线程一次执行一个请求可以正常执行,如果使用多线程,同时执行多个请求时就会...

    Android Caused by: java.lang.ClassNotFoundException解决办法

    08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk] 我想大家经常因为疏忽出现...

    深入研究java.lang.Process类.doc

    Java.lang.Process 类深入研究 Java.lang.Process 类是 Java 类库中的一个核心部分,它提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。下面将对 Process 类...

    java_lang包详解.pdf

    java.lang包还包含了一些与安全、线程和内存管理相关的类,如SecurityManager用于安全管理,Thread和ThreadGroup是线程相关的类,ClassLoader负责加载类,ThreadLocal为每个线程提供独立的变量副本,而Runtime类提供...

    CRASH问题:java.lang.NullPointerException

    java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.widget.ImageView.setImageResource(int)’ on a null object reference 今天在家练习ListView的时候,遇到一个java.lang....

    深入研究java.lang.ProcessBuilder类.doc

    Java中的`java.lang.ProcessBuilder`类是在J2SE 1.5版本中引入的,用于创建和管理操作系统的进程。这个类提供了比`java.lang.Process`更精细的控制,允许开发者指定启动进程的工作目录、环境变量以及错误和输出流的...

    JBuider第六章:Java.lang包.rar

    2. **运行时系统接口**:Java.lang包还包含了一些用于控制程序执行的类,如`System`、`Runtime`和`Thread`。`System`类提供了一些系统相关的属性和方法,如获取当前时间(`currentTimeMillis()`)。`Runtime`类代表了...

    java 空指针异常(NullPointerException)

    `NullPointerException` 是Java标准库中`java.lang`包下的一个运行时异常。当程序试图通过一个为null的引用调用方法或者访问其字段时,系统会抛出此异常。在Java中,null不是一个对象,而是表示没有对象的引用状态。...

    反复重启无法进入桌面log

    05-27 15:35:11.487 E/AndroidRuntime( 2352): Process: com.android.systemui, PID: 2352 05-27 15:35:11.487 E/AndroidRuntime( 2352): java.lang.RuntimeException: Unable to create service ...

    jface开发的几个包都在里面了

    Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class....

    Android push到/system/app下,导致找不到so文件,抛出java.lang.UnsatisfiedLinkError的原因分析和解决方案

    AndroidRuntime: java.lang.UnsatisfiedLinkError: Couldn’t load airtalkee from loader dalvik.system.PathClassLoader[DexPathList[[zip file “/system/app/POCM3A.apk”, zip file “/data/data/com.cmccpo

    java runtime 最新版 1.8.0.271

    2. 类库:包含Java基础类库,如java.lang、java.util、java.io等,为开发者提供了丰富的API,用于实现各种功能,如输入/输出、网络通信、数据处理等。 3. 公共运行库:包含了Java应用程序运行所需的系统资源和API,...

    Android 兼容性问题:java.lang.UnsupportedOperationException解决办法

    E/AndroidRuntime: FATAL EXCEPTION: main android.view.InflateException: Binary XML file line #13: Error inflating class at android.view.LayoutInflater.createView(LayoutInflater.java:613) at ...

    java-java-lang包.pdf

    Java编程语言中的java.lang包是一个核心包,它提供了Java语言运行时的基础类库,包含了Java程序运行的基本数据类型、异常处理类以及一些用于系统级别的工具类和接口。java.lang包中的类和接口不需要程序员显示地导入...

    Android代码-ReLinker

    ReLinker A robust native library loader for Android. More information can be found in our blog post ...at java.lang.Runtime.loadLibrary(Runtime.java:365) at java.lang.System.loadLibrary(S

Global site tag (gtag.js) - Google Analytics