• 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

  • 相关阅读:
    python 之 Multiprocessing 多进程
    python 之 Threading 多线程
    Python实战 -- 利用Flask搭建微电影网站(一)蓝图构建
    R语言学习——作图
    python 之 pandas 总结
    python 之 numpy 总结
    C++使用Jsoncpp源码
    C++左值、左值引用、右值、右值引用
    std::forward
    std::move
  • 原文地址:https://www.cnblogs.com/mike-mei/p/11847672.html
Copyright © 2020-2023  润新知