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);
}//

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

最新文章

  1. 放弃安卓原生TimePicker,选择wheelView打造更漂亮的时间get,以及动态拉伸输入框布局,这些,这里都有!
  2. 关于linux下crontab的使用
  3. Linux之源码包安装软件
  4. Linux开机启动(bootstrap)
  5. Python_Day3_基础3
  6. using
  7. Spring整合activiti-modeler5.16遇到的小问题
  8. MAX函数和GROUP BY 语句一起使用的一个误区
  9. windows系统 安装MongoDB 32位
  10. php获取客户端ip get_client_ip()
  11. C语言学习笔记--结构体
  12. ActiveMQ-CPP编译
  13. PowerDesigner的Table视图同时显示Code和Name的方法[转发]
  14. 可编程并行接口8255A详解
  15. 下载离线VS2017
  16. Introducing the Microservices Reference Architecture from NGINX
  17. Linux 学习手记(1):命令行BASH的基本操作
  18. zookeeper各种报错、原因及解决方法汇总(持续更新)
  19. jenkins不能取到svn最新版本问题的解决
  20. LICEcap 录制Gif动画

热门文章

  1. BeautifulSoup解析豆瓣即将上映的电影信息
  2. java锁机制的面试题
  3. centos 防火墙 iptables firewalld SELinux
  4. POJ2387 Til the Cows Come Home (最短路 dijkstra)
  5. 洛谷 P3388 【模板】割点(割顶)(Tarjan)
  6. Python和mysql的连接
  7. .Net Core 认证系统源码解析
  8. php前端做过滤校验
  9. 新手 vim常用命令总结 (转)
  10. SpringBoot封装自己的Starter