java基础总结06-常用api类-System类常用方法

System

System类:系统类,主要用于获取系统的属性数据,没有构造方法。

  • System类的常用方法

    方法名说明
    public static void exit(int status)终止当前运行的 Java 虚拟机
     参数传入一个数字即可。通常传入0记为正常状态,其它为异常状态。
    public static long currentTimeMillis()| 返回当前时间(以毫秒为单位)
    public static void gc()该方法用来建议jvm赶快启动垃圾回收器回收垃圾。只是建议启动,但是Jvm是否启动又是另外一回事
    public static void arraycopy(Object src,
    int srcPos,
    Object dest,
    int destPos,
    int length
    )
    从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束

1.结束正在运行的Java程序(public staitc void exit(int status))

示例代码1 => exit()

  • 需求:结束下面的循环
package com.edu1.test;

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i=0;
        while (true){
            System.out.println("请输入一个字符");
            String next = sc.next();
            if(next.equalsIgnoreCase("y")){
                System.exit(0);
            }else {
                System.out.println("循环第"+ ++i +"次,内容是"+next+",输入y停止");
            }
        }
    }
}

2.获取系统当前毫秒值(public static long currentTimeMillis())

  • 需求:在控制台输出1-10000,计算这段代码执行了多少毫秒
public class SystemDemo {
    public static void main(String[] args) {
        // 获取开始的时间节点
        long start = System.currentTimeMillis();
        for (int i = 1; i <= 10000; i++) {
            System.out.println(i);
        }
        // 获取代码运行结束后的时间节点
        long end = System.currentTimeMillis();
        System.out.println("共耗时:" + (end - start) + "毫秒");
    }
    
}

3. 垃圾回收器(public static void gc())

  • 示例代码
package com.edu1.test;

public class Demo {
    public static void main(String[] args) {
        new Person(1);
        new Person(2);
        new Person(3);
        new Person(4);
        new Person(5);
        System.gc();//建议马上启动垃圾回收器
    }
}
class Person {
    private int i;
    public Person(int i) {
        this.i = i;
    }
    @Override
    public void finalize() throws Throwable {     //清除垃圾时,会默认调用被清空对象的finalize方法。
        System.out.println("第"+i+"次垃圾回收启动了" );
    }
}
//以上代码执行结果如下:(输出结果行数不一定一致)
//第5次垃圾回收启动了
//第4次垃圾回收启动了
//第3次垃圾回收启动了
//第2次垃圾回收启动了
//进程已结束,退出代码为 0

4. System类方法复制数组 ->数值扩容

实例:

package com.edu1.test;

public class Demo {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        int[] targetArr = new int[array.length*2];
        //   Object src:要复制的原数组;
        //  Int srcPos:数组源的起始索引;
        //  Object dest:复制后的目标数组;
        //  int destPos:目标数组起始索引;
        //  int length,指定复制的长度;
        System.arraycopy(array,0,targetArr,0,array.length);
        for (int i : targetArr) {
            System.out.println(i);
        }
    }
}

posted @   coderwcb  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示