System

  • System类包含几个有用的类字段和方法。它不能被实例化。
  • System类提供的工具包括标准输入、标准输出和错误输出流;访问外部定义的属性和环境变量;一种加载文件和库的方法;以及用于快速复制数组的一部分的实用方法。

System类提供的工具包括标准输入、标准输出和错误输出流

package com.atguigu.java;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;

public class SystemTest {
    public static void main(String[] args) throws IOException {
        System.out.println("标准输出流:输出到指定的输出流  ==》 输出到控制台");
        PrintStream out = System.out;
        out.println("标准输出流对象调用输出方法");
        PrintStream err = System.err;
        err.println("标准错误输出流  ==》 输出到控制台");
        InputStream in = System.in;
        int len;
        byte[] bytes = new byte[1024];
        while ((len = in.read(bytes)) != -1) {
            System.out.println(new String(bytes, 0, len));
        }
    }
}

结果:

nanoTime()方法:返回当前系统时间的值(以纳秒为单位)

public class SystemTest {
    public static void main(String[] args) {

        System.out.println(System.nanoTime() + "ns");
    }

}

结果:246072306418377ns

arryCopy()方法

arrayCopy( arr1, 2, arr2, 5, 10); 意思是;将arr1数组里从索引为2的元素开始, 复制到数组arr2从索引为5的位置, 复制的元素个数为10个. 复制后数组长度没有改变

public class SystemTest {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6};
        System.out.println("方法使用之前");
        System.out.println(Arrays.toString(arr));
        System.arraycopy(arr,0,arr,1,3);
        System.out.println("方法使用之后");
        System.out.println(Arrays.toString(arr));
    }
}

结果:

方法使用之前
[1, 2, 3, 4, 5, 6]
方法使用之后
[1, 1, 2, 3, 5, 6]

getProperties()可以确定当前的系统属性,返回值是一个Properties

public class SystemTest {
    public static void main(String[] args) {
        Properties props = System.getProperties();
        System.out.println(props.getProperty("java.version"));
    }
}

结果:1.8.0_281

lineSeparator()

在UNIX系统下,System.lineSeparator()方法返回 "\n";在Windows系统下,System.lineSeparator()方法返回 "\r\n",其实使用这个就实现了程序的跨平台运行,System.lineSeparator()方法会根据当前的系统返回对应的行分隔符。从而避免了你编写的程序在windows系统上可以运行,linux/unix系统上无法运行的情况。

gc():通知虚拟机进行垃圾回收,触发full gc,对新生代、老年代、元空间进行回收

runFinalization():强制调用已经失去引用的对象的finalize方法

调用该方法说明 Java 虚拟机做了一些努力运行已被丢弃对象的 finalize 方法,但是这些对象的 finalize 方法至今尚未运行。当控制权从方法调用中返回时,Java 虚拟机已经尽最大努力去完成所有未执行的终止方法。

load()方法用于从本地文件系统中加载名为fn(filename)的给定参数的Java文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值