一、系统类System
该类位于java.lang包。 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。
public final class System {
...
}
下面直接看一下System内部的成员变量与成员方法:
public static final InputStream in
“标准”输入流。此流已打开并准备提供输入数据。
通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。
//获取系统的输入流
Scanner sc = new Scanner(System.in);
public static final PrintStream out
“标准”输出流。此流已打开并准备接受输出数据。
通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
例子:
//获取系统的输出流,并打印
System.out.println("Hello World!");
public static void gc():运行垃圾回收器。
调用 gc 方法使 Java 虚拟机来回收未用对象,以便能够快速地重用这些对象当前占用的内存。
当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。
protected void finalize()
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
子类重写 finalize 方法,以配置系统资源或执行其他清除。
public static void exit(int status)
终止当前正在运行的 Java 虚拟机。参数用作状态码;
根据惯例,非 0 的状态码表示异常终止。
该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。
System.exit(0); //正常退出
System.exit(1); //异常退出
public static long currentTimeMillis()
返回以毫秒为单位的当前时间。可以用在监测程序运行时间。
long start = System. currentTimeMillis();
//……某段程序执行
long end = System. currentTimeMillis();
long time = end – start;
public static void arraycopy(Object src,int srcPos, Object dest,int destPos,int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
其中src表示源数组,srcPos表示源数组中的起始位置,dest表示目标数组,destPos表示目标数据中的起始位置,length - 要复制的数组元素的数量。
int[] a = {11,22,33,44,55,66};
int[] b= new int[8];
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
System.out.println("--------------------------");
System.arraycopy(a, 0, b, 0, a.length); //将数组内容拷贝
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
public static String getProperty(String key)
该方法的作用是获得系统中属性名为key的属性对应的值。
java.version - Java 运行时环境版本
java.home - Java 安装目录
os.name - 操作系统的名称
os.version - 操作系统的版本
user.name - 用户的账户名称
user.home - 用户的主目录
user.dir - 用户的当前工作目录
public class SystemDemo {
public static void main(String[] args){
System.out.println(System.getProperty("java.version"));
System.out.println(System.getProperty("java.home"));
System.out.println(System.getProperty("os.name"));
System.out.println(System.getProperty("os.version"));
System.out.println(System.getProperty("user.name"));
System.out.println(System.getProperty("user.home"));
System.out.println(System.getProperty("user.dir"));
}
}
大概看了一下System类的一些成员方法和成员变量。参考了一下其他人对System类的讲解与思考,大致了解了一些方法名以及应用场景,还未深入了解。目前先掌握其使用。