System类的概述和方法使用

System类的概述和方法使用

System类的概述

    Java.lang包下的,父类object,final类修饰,

     System 类包含一些有用的类字段和方法。它不能被实例化。(私有了构造方法)

成员方法

  1. public static void gc()//运行垃圾回收器(回收未用对象,以便能够快速地重用这些对象当前占用的内存。)
  2. public static void exit(int status)// 终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
  3. public static long currentTimeMillis()//返回:当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。
  4. pubiic static void arraycopy(Object src, int srcPos(起始位置), Object dest, int destPos, int length(要复制的数组元素的数量))// 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

字段

public static final InputStream
				in"标准"输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。(默认指向键盘)

 

public static final PrintStream
				out"标准"输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。(默认指向控制台) 

 

案例演示

     System类的成员方法使用

案例:

  1. import java.util.Arrays;
  2. public class Demo3_System {
  3.  
  4.    public static void main(String[] args) {
  5.       //demo1();
  6.       //demo2();
  7.       //demo3();
  8.  
  9.       demo4();
  10.    }
  11.  
  12.    private static void demo4() {
  13.       int[] src = {11,22,33,44,55};
  14.       int[] dest = new int[8];
  15.       for (int i = 0; i < dest.length; i++) {
  16.          System.out.println(dest[i]);
  17.       }
  18.  
  19.       System.out.println("--------------------------");
  20.       System.arraycopy(src, 0, dest, 0, src.length); //将数组内容拷贝
  21.  
  22.       for (int i = 0; i < dest.length; i++) {
  23.          System.out.println(dest[i]);
  24.       }
  25.       System.out.println("=========================");
  26.       int[] newDest = Arrays.copyOf(src, dest.length);
  27.       for (int i = 0; i < newDest.length; i++) {
  28.          System.out.println(dest[i]);
  29.       }
  30.    }
  31.  
  32.    public static void demo3() {//计算程序的执行时间
  33.       long start = System.currentTimeMillis(); //1秒等于1000毫秒
  34.       for(int i = 0; i < 1000; i++) {
  35.          System.out.println("");
  36.       }
  37.       long end = System.currentTimeMillis(); //获取当前时间的毫秒值
  38.  
  39.       System.out.println(end - start);
  40.    }
  41.  
  42.    public static void demo2() {
  43.       System.exit(1); //非0状态是异常终止,退出jvm
  44.       //因为在上面已经退出了java虚拟机,所以下面的语句不会执行
  45.       System.out.println("11111111111");
  46.    }
  47.  
  48.    public static void demo1() {
  49.       //产生垃圾的for循环
  50.       for(int i = 0; i < 100; i++) {
  51.          new Demo();(没有任何引用指向的对象就是垃圾)
  52.          System.gc(); //运行垃圾回收器,相当于呼喊保洁阿姨,但是不一厅呼喊一次就执行,有可能需要呼喊多次才执行
  53.       }
  54.    }
  55.  
  56. }
  57.  
  58. class Demo { //在一个源文件中不允许定义两个用public修饰的类
  59.  
  60.    @Override//不是手动调用的,当垃圾产生一定数量之后就会执行
  61.    public void finalize() {
  62.       System.out.println("垃圾被清扫了");
  63.    }
  64.  
  65. }

转载于:https://www.cnblogs.com/wk520hll/p/6408165.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值