常用类-Runtime类
Runtime代表Java程序的运行时环境,可以通过 getRuntime 方法获取当前运行时。
应用程序不能自己创建Runtime对象,可以通过Runtime的静态方法getRuntime()获得Runtime对象。
Runtime类可以访问jvm的相关信息,如处理器数量,内存信息等
package com.qf.runtime_class;
public class Test01 {
/**
* 知识点:Runtime - 表示运行时环境
*/
public static void main(String[] args) {
//获取运行时系统(单例模式)
Runtime run = Runtime.getRuntime();
System.out.println("获取处理数:" + run.availableProcessors());//8
System.out.println("获取最大内存数(字节):" + run.maxMemory());
System.out.println("获取闲置内存数(字节):" + run.freeMemory());
}
}
package com.qf.runtime_class;
public class Test02 {
/**
* 知识点:分析代码的效率(消耗时长、消耗内存)
*/
public static void main(String[] args) {
// Runtime run = Runtime.getRuntime();
//
// long startTime = System.currentTimeMillis();
// long startMemory = run.freeMemory();
// String str = "小明";
// for (int i = 0; i < 50000; i++) {
// str += "小可爱,皇冠给你带";
// }
// long endMemory = run.freeMemory();
// long endTime = System.currentTimeMillis();
// System.out.println("消耗时长为:" + (endTime-startTime));//8814
// System.out.println("消耗内存为:" + (startMemory-endMemory));//-176895200
//----------------------------------------------------------------------
Runtime run = Runtime.getRuntime();
long startTime = System.currentTimeMillis();
long startMemory = run.freeMemory();
StringBuilder sb = new StringBuilder(450002);
sb.append("小明");
for (int i = 0; i < 50000; i++) {
sb.append("小可爱,皇冠给你带");
}
long endMemory = run.freeMemory();
long endTime = System.currentTimeMillis();
System.out.println("消耗时长为:" + (endTime-startTime));//5
System.out.println("消耗内存为:" + (startMemory-endMemory));//900024
}
}