常用库类——Runtime类
由于Runtime类只存在一个实例化对象,所以在Runtime类中默认将其构造方法封装,这样开发者就必须利用Runtime类中的getRuntime()方法来获取实例化对象,随后就可以获取一些系统的相关信息。
方法 | 描述 |
---|---|
public static Runtime getRuntime() | 取得Runtime类的实例化对象 |
public int avaulabkeProcessors() | 获得可用的CPU处理器数量 |
public long maxMemory() | 取得最大的可用内存量 |
public long totalMemory() | 取得总共可用内存量 |
public long freeMemory() | 取得空闲内存量 |
public void gc() | 运行垃圾收集器,释放垃圾空间 |
//获取本机的CPU处理器数量
public class JavaAPIDemo {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();//获取runtime实例化对象
System.out.println(runtime.availableProcessors());//获取处理器数量
}
}//结果 8
//获取主机内存信息
public class JavaAPIDemo {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();//获取runtime实例化对象
System.out.println("获取最大可用内存:"+(double)runtime.maxMemory()/1024/1024/1024);//获取最大可用内存
System.out.println("获取总共可用内存:"+(double)runtime.totalMemory()/1024/1024/1024);
System.out.println("获取空闲内存:"+(double)runtime.freeMemory()/1024/1024/1024);
}
}//结果 //获取最大可用内存:1.75390625
//获取总共可用内存:0.1201171875
//获取空闲内存:0.11757688224315643
//观察GC操作
public class JavaAPIDemo {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();//获取runtime实例化对象
System.out.println("1.TOTAL_MEMORY:"+runtime.totalMemory());//获取可用内存
System.out.println("1.FREE_MEMORY:"+runtime.freeMemory());//获取空闲内存
String str = "";
for (int x= 0;x < 3000; x++){
str += x;
} //产生的垃圾空间
System.out.println("2.TOTAL_MEMORY:"+runtime.totalMemory());//获取可用内存
System.out.println("2.FREE_MEMORY:"+runtime.freeMemory());//获取空闲内存
runtime.gc();//释放垃圾内存
System.out.println("3.TOTAL_MEMORY:"+runtime.totalMemory());//获取可用内存
System.out.println("3.FREE_MEMORY:"+runtime.freeMemory());//获取空闲内存
}
}//结果
// 1.TOTAL_MEMORY:128974848
// 1.FREE_MEMORY:126247216
// 2.TOTAL_MEMORY:128974848
// 2.FREE_MEMORY:103531272
// 3.TOTAL_MEMORY:163053568
// 3.FREE_MEMORY:161049880