当前位置: 首页 > 教程 > Java.lang >

Java.lang Runtime

精华
小牛编辑
156浏览
2023-03-14

1 Java.lang Runtime介绍

Java Runtime类用于与Java运行时环境进行交互。Java Runtime类提供了用于执行进程,调用GC,获取总内存和可用内存等的方法。java.lang.Runtime类只有一个实例可用于一个Java应用程序。

2 Java.lang Runtime声明

public class Runtime
   extends Object

3 Java.lang Runtime方法

方法 描述
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() 这种方法运行垃圾回收器。
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() 这种方法运行最后审定的任何对象最后确定方法。
long totalMemory() 此方法返回存储器中的Java虚拟机的总量。
void traceInstructions(boolean on) 此方法允许/禁止跟踪指令。
void traceMethodCalls(boolean on) 此方法允许/禁止的方法调用跟踪。

4 Java.lang Runtime案例

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
public class MemoryTest{  
 public static void main(String args[])throws Exception{  
  Runtime r=Runtime.getRuntime();  
  System.out.println("Total Memory: "+r.totalMemory());  
  System.out.println("Free Memory: "+r.freeMemory());  
    
  for(int i=0;i<10000;i++){  
   new MemoryTest();  
  }  
  System.out.println("After creating 10000 instance, Free Memory: "+r.freeMemory());  
  System.gc();  
  System.out.println("After gc(), Free Memory: "+r.freeMemory());  
 }  
}  

 输出结果为:

Total Memory: 100139008
Free Memory: 99474824
After creating 10000 instance, Free Memory: 99310552
After gc(), Free Memory: 100182832