当前位置:   article > 正文

API--14--System类_api 14

api 14

System:系统类

System类代表系统,系统级的很多属性和控制方法都放置在该类的内部

  1. 主要用于获取系统的属性数据
  2. 该类的构造方法是private的,其内部的成员方法和成员变量都是static(静态)的,所以也可以很方便的调用
  3. 该类位于java.lang包

成员变量:

system中包含了in、out和err三个成员变量,分别代表标准输入流(键盘输入)、标准输出流(显示器)和标准错误输出流(显示器)

  • 标准输入流
    public final static InputStream in;
  • 标准输出流
    public final static PrintStream out;
  • 标准错误流
    public final static PrintStream err;

由此可见,system中的out和in都不是内部类,是成员变量。out是PrintStream的final
static来修饰变量,由此可见,out是可以调用printStream中的方法的。例如,system.out.println中的println就是printStream中的一种输出方法。

API常用方法

1.System.currentTimeMillis();

  • 返回毫秒数,这个就比较简单了,和Date类中的getTime方法一样。
    exit

2.exit

退出虚拟机。exit(int)方法是终止当前正在运行的java虚拟机。参数是状态码。根据惯例,

  • 非0的状态码表示异常终止
  • 0表是终止
而且,该方法永远不会正常返回。这是唯一一个能够退出程序并不执行finally的情况。说明:退出虚拟机会直接终止整个程序,这时的程序已经不是从代码的层面来终止程序,所以finally不会被执行。
public class test {
    public static void main(String[] args) {
        try {

            System.out.println("this is try");
            System.exit(0);
            System.out.println("=======end========");

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            System.out.println("this is finally");
        }

    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述

3.gc

  • java垃圾回收器,这个方法不需要我们去调用,jvm发现系统有未使用的对象,会自己进行执行。

通常会有两种情况下会调用gc

  1. 当jvm内存不足时会调用
  2. 当cpu空闲的时候调用。详细请看一下jvm的具体的垃圾回收机制。
public class test04 {
    public static void main(String[] args) {
      
        for (int i = 0; i <5 ; i++) {
           new person("路飞"+i);
           System.gc();

        }
    }
}


class  person{

    String name;

    public person(String name) {
        this.name = name;
    }

    @Override
    protected void finalize() throws Throwable {
        System.out.println(this.name+" 被回收了……");
        super.finalize();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在这里插入图片描述

4.getProperty获取系统属性

java的System.getProperty()方法可以获取的值
在这里插入图片描述

5. arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

在这里插入图片描述

参数详解:

  • src:原数组。
  • srcPos:原数组中的起始位置,也就是从原数组的哪一位开始拷贝。
  • dest:目标数组。
  • destPos:目标数据中的起始位置,也就是从目标数组的哪一个位置开始存储要拷贝的元素。
  • length:要复制的数组元素的数量。
    在这里插入图片描述

案例;

public class test04 {
    public static void main(String[] args) {
        int[] srcArr = {10,12,14,16,19};
        //把srcArr的数组元素拷贝 到destArr数组中。
        int[] destArr = new int[4];
        System.arraycopy(srcArr, 2, destArr, 1, 2);
       
        System.out.println("目标数组的元素:"+ Arrays.toString(destArr));

    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/418814
推荐阅读
相关标签
  

闽ICP备14008679号