Java基础类库之Runtime 类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18948359/article/details/85132800

主要作用

在每一个JVM进程里面都会存在一个 Runtime 类的对象,这个类的主要功能是取得一些与运行时有关的环境的属性,或者创建新的进程等操作。

Runtime 的类的定义:public class Runtime extends Object。在官方文档中 没有找到对应的构造方法。是因为 Runtime 类在定义的时候它的构造方法已经被私有化了,属于单列设计模式,是为保证在整个进程中只有一个 Runtime 类对象。

GC的概念

  • GC(Garbage Collector)垃圾收集器,指的是释放无用的内存空间。
  • GC 会由系统不定期的进行自动回收,或者调用 Runtime 类中的 gc() 方法手工回收。

实例化

public class RuntimeTest {

	public static void main(String[] args) {
		/*
		 * Runtime类是直接与本地运行有关的所有相关属性的集合,所有在Runtime类定影有如下方法 
		 * 1.返回所有可用内存空间:public long tatalMemory(); 
		 * 2.返回最大可用内存孔家:public long maxMemory(); 
		 * 3.返回空余内存空间:public long freeMemory();
		 */
		Runtime run = Runtime.getRuntime();// 取得Runtime类实例化对象;
		System.out.println("1.MAX=" + run.maxMemory());
		System.out.println("1.TOTAL=" + run.totalMemory());
		System.out.println("1.FREE=" + run.freeMemory());
		System.out.println("========================================");
		// 制造垃圾:通过 String 操作来使用内存空间
		String str = " ";
		for (int i = 0; i < 2000; i++) {
			str += i;	
		}
		System.out.println("2.MAX=" + run.maxMemory());
		System.out.println("2.TOTAL=" + run.totalMemory());
		System.out.println("2.FREE=" + run.freeMemory());
		System.out.println("========================================");
		// 使用 gc 将垃圾处理掉
		run.gc();
		System.out.println("3.MAX=" + run.maxMemory());
		System.out.println("3.TOTAL=" + run.totalMemory());
		System.out.println("3.FREE=" + run.freeMemory());
		
	}
}

控制输出:

1.MAX=1840250880
1.TOTAL=124780544
1.FREE=122830088
========================================
2.MAX=1840250880
2.TOTAL=124780544
2.FREE=97557352
========================================
3.MAX=1840250880
3.TOTAL=124780544
3.FREE=123569912

通过 Runtime 类来调用 windows 的可执行程序

public class Demo {
	public static void main(String[] args) throws Exception{
		Runtime run=Runtime.getRuntime();
		Process pro=run.exec("mspaint.exe");//调用本机画图程序
		Thread.sleep(2000);
		pro.destroy();//销毁进程
	}
}

猜你喜欢

转载自blog.csdn.net/qq_18948359/article/details/85132800
今日推荐