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