在Java中提供了一些相关的系统相关的类,可以帮助我们获取系统的一些信息。
System类
System类
是处于java.lang
包下的一个用于获取系统的相关信息的类。比如:获取当前系统时间,系统属性等。里面包含的都是静态的方法,能够让我们更好的去调用执行。
常用方法:
- static long currentTimeMills():返回当前的系统时间距离1970-01-01 0:0:0的毫秒值
- static void exit(int status):退出当前系统
- static void gc():运行垃圾回收器
- static String getProperty(String key):获取系统的key属性
- static String setProperty(String key, String value) :设置当前系统的某个参数
- …
代码演示:
public class SystemTest {
public static void main(String[] args) {
Long start = System.currentTimeMillis();
System.out.println("start = " + start);
for (int i = 0; i < 100000; i++) {
}
Long end = System.currentTimeMillis();
System.out.println("end = " + end);
System.out.println("过了:"+(end-start)+"秒");
//Properties properties = System.getProperties();
//System.out.println("properties = " + properties);
String name = System.getProperty("java.vm.name");
System.out.println("name = " + name);
String setProperty = System.setProperty("name", "西施");
System.out.println("setProperty = " + setProperty);
String property = System.getProperty("name");
System.out.println("property = " + property);
new Date();
System.gc();
System.exit(0);
System.out.println(" ======= "); //不会执行
}
}
结果:
Runtime类
Runtime类
也是位于java.lang
包下,主要作用是让我们的每一个Java应用程序都可以与对应的运行环境
相连接。可以通过getRuntime
方法获取当前的运行时对象。应用程序不能够自己创建自己的Runtime类实例
常用的方法:
- public static Runtime getRuntime():返回与当前应用程序相关的运行时对象。
- public long totalMemory():返回Java虚拟机中的中内存总量。由于主机的环境,返回得知也可能在变化
- public long freeMemory():返回虚拟机的空闲内存量,调用gc()方法可能导致这个值增加。
- void gc() :运行垃圾回收器
- public long maxMemory():返回Java虚拟机试图使用的最大内存量。
- …
Process exec(String command):在单独的进程中执行指定的字符串命令。
代码演示:
public class RuntimeTest {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();
System.out.println("runtime = " + runtime);
long totalMemory = runtime.totalMemory();
System.out.println("totalMemory = " + totalMemory);
long freeMemory1 = runtime.freeMemory();
System.out.println("freeMemory1 = " + freeMemory1);
new Date();
long freeMemory2 = runtime.freeMemory();
System.out.println("freeMemory2 = " + freeMemory2);
runtime.gc();
long freeMemory3 = runtime.freeMemory();
System.out.println("freeMemory3 = " + freeMemory3);
long maxMemory = runtime.maxMemory();
System.out.println("maxMemory = " + maxMemory);
}
}
结果演示: