zoukankan      html  css  js  c++  java
  • java中System类

    System作为系统类,在JDK的java.lang包中,可见它也是一种java的核心语言特性。System类的构造器由private修饰,不允许被实例化。因此,类中的方法也都是static修饰的静态方法。属于java.lang包下面的类。

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

    常用方法:

    l  currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值

    l  exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态

    l  gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。

    l  getProperty(String key) 用来获取指定(字符串名称)中所记录的系统属性信息

     

    l  arraycopy方法,用来实现将源数组部分元素复制到目标数组的指定位置

    复制数组,性能比循环好

            int[] a = {1,2,3,4};
            
            int[] b = new int[5];
            //参数分别是:被复制对象;从下标为0的开始;目标对象;从下标为0的开始给值;总共复制3个数
            System.arraycopy(a, 0, b, 0, 3);
            
            for (int i : b) {
                System.out.print(i);
            }//12300

    System类的方法练习:

    l  练习一:验证for循环打印数字1-9999所需要使用的时间(毫秒)

    public static void main(String[] args) {
         long start = System.currentTimeMillis();
        for (int i=0; i<10000; i++) {
             System.out.println(i);
    }
    long end = System.currentTimeMillis();
    System.out.println("共耗时毫秒:" + (end-start) );
    }

    l  练习二:将src数组中前3个元素,复制到dest数组的前3个位置上

    复制元素前:src数组元素[1,2,3,4,5],dest数组元素[6,7,8,9,10]

    复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]

    public static void main(String[] args) {
    int[] src = new int[]{1,2,3,4,5};
    int[] dest = new int[]{6,7,8,9,10};
    System.arraycopy( src, 0, dest, 0, 3);
    代码运行后:两个数组中的元素发生了变化
    src数组元素[1,2,3,4,5]
    dest数组元素[1,2,3,9,10]
    }

    l  练习三:循环生成100-999之间的的三位数并进行打印该数,当该数能被10整除时,结束运行的程序

    public static void main(String[] args){
         Random random = new Random();
        while(true){
        int number = random.nextInt(900)+100; //0-899 + 100
        if (nmumber % 10 == 0) {
            System.exit(0);
    }
    }
    }

    DailyUsageServiceImpl.java

    long start = System.currentTimeMillis();
    start 1562316463977

    cStationMapper.getStationByAreaIdAndCstInfosDU


    areaInfoMapper.getAreaInfoByParentId

    long end1 = System.currentTimeMillis();
    end1 1562316464082

    long end1 = System.currentTimeMillis();
    System.out.println("=="+(end1-start));

    mongoDB查询
    mUsageDao.findDailyUsagePage


    long end2 = System.currentTimeMillis();
    System.out.println("=="+(end2-start));

    end2 1562316490982

    start 3977

    end1 4082

    end2 90982

    链接查看 https://www.cnblogs.com/yinzhengjie/p/8887145.html

  • 相关阅读:
    使用 Istio 进行 JWT 身份验证(充当 API 网关)
    DNS 私有域的选择:internal.xxx.com/lan.xxx.com 还是 xxx.local/xxx.srv?
    「Bug」K8s 节点的 IP 地址泄漏,导致 IP 被耗尽
    Linux网络学习笔记(二):域名解析(DNS)——以 CoreDNS 为例
    Linux 发行版的选用(服务器和个人桌面)
    「Bug」VMware 虚拟机的关机测试中,Ubuntu 明显比 CentOS 慢
    VMware vSphere :服务器虚拟化
    「Bug」ubuntu 使用国内 apt 源构建 docker 时提示 hash 不匹配
    留言板
    Idea 自定义快捷代码输入 如syso => System.out.println()
  • 原文地址:https://www.cnblogs.com/mike-mei/p/11847672.html
Copyright © 2011-2022 走看看