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

posted @ 2019-11-13 11:26  南北12345678  阅读(1122)  评论(0编辑  收藏  举报