System与Runtime类
System:
System代表系统,系统级的很多属性和控制方法都放在该类的内部,该类位于java.lang包。
1.成员变量
System类中包含in,out和err三个成员变量,分别代表标准输入流(键盘输入)。标准输出流(键盘输出),和标准错误输出流
2.成员方法
System类中提供了一系列系统级的操作方法
(1).public static void arraycopy(Object src,int srcPos,Object dest,int desPos,int length):
该方法是数组拷贝,也就是将一个数组中的内容复制到另外一个数组中的指定位置,性能比循坏高效
(2).public static long currentTimeMillis():
该方法的作用是返回当前计算机时间,时间计算格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数
(3).public static String getProperty(String key):
该方法的作用是获得系统中的属性key对应的值
java.version java运行环境版本
java.home java安装的目录
os.name 操作系统的名称
os.version 操作系统的版本
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录
package com.lili.systemRuntime; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; /** * @author: QiJingJing * @create: 2021/7/6 */ public class Test1 { public static void main(String[] args) { System.out.println("标准输入流"); System.err.println("错误输出流"); int[] a = {1, 2, 3, 4}; int[] newArray = new int[a.length]; // 参数(原数组,原数组的起始位置,目标数组,目标数组的起始位置,长度) System.arraycopy(a, 0, newArray, 0, a.length); System.out.println(Arrays.toString(newArray));//[1, 2, 3, 4] Date date = new Date(System.currentTimeMillis()); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss S"); String format = dateFormat.format(date); System.out.println(format); // 退出jvm //System.exit(0); System.out.println(System.getProperty("java.version"));//1.8.0_151 System.out.println(System.getProperty("java.home"));//C:\Program Files\Java\jdk1.8.0_151\jre } }
Runtime:
每个java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接
package com.lili.systemRuntime; import java.io.IOException; /** * Runtime类 * @author: QiJingJing * @create: 2021/7/6 */ public class Test2 { public static void main(String[] args) { // 获取java运行时相关的运行时对象 Runtime runtime = Runtime.getRuntime(); System.out.println("处理器数量" + runtime.availableProcessors() + "个"); System.out.println("jvm总内存数" + runtime.totalMemory() + "byte"); System.out.println("jvm空闲内存数" + runtime.freeMemory() + "byte"); System.out.println("jvm可用最大内存数" + runtime.maxMemory() + "byte"); // 在单独的进程中执行指定的字符串命令 try { runtime.exec("notepad");//打开记事本 } catch (IOException e) { e.printStackTrace(); } } }