java获取时间戳的方式 和几种方式速度对比
来源:互联网 发布:php 项目任务管理系统 编辑:程序博客网 时间:2024/06/18 09:12
目前获取毫秒值大概有下面三种方法
- //方法 一
- System.currentTimeMillis();
- //方法 二
- Calendar.getInstance().getTimeInMillis();
- //方法 三
- new Date().getTime();
最近做监控系统,发现代码中有前两种方法,然后突然有了一个想法,到底哪个更快呢?
然后做了如下实验:
- import java.util.Calendar;
- import java.util.Date;
- public class TimeTest {
- private static long _TEN_THOUSAND=10000;
- public static void main(String[] args) {
- long times=1000*_TEN_THOUSAND;
- long t1=System.currentTimeMillis();
- testSystem(times);
- long t2=System.currentTimeMillis();
- System.out.println(t2-t1);
- testCalander(times);
- long t3=System.currentTimeMillis();
- System.out.println(t3-t2);
- testDate(times);
- long t4=System.currentTimeMillis();
- System.out.println(t4-t3);
- }
- public static void testSystem(long times){//use 188
- for(int i=0;i<times;i++){
- long currentTime=System.currentTimeMillis();
- }
- }
- public static void testCalander(long times){//use 6299
- for(int i=0;i<times;i++){
- long currentTime=Calendar.getInstance().getTimeInMillis();
- }
- }
- public static void testDate(long times){
- for(int i=0;i<times;i++){
- long currentTime=new Date().getTime();
- }
- }
- }
因为很简单我就不加注释了,每种方法都运行1千万次,然后查看运行结果
- 187
- 7032
- 297
结果发现 System.currentTimeMillis() 这种方式速度最快
Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,看看源码会发现,Canlendar因为要处理时区问题会耗费很多的时间。
所以建议多使用第一种方式。
另,System 类中有很多高效的方法,比如,arrayCopy 之类的
http://tangmingjie2009.iteye.com/blog/1543166 0 0
- java获取时间戳的方式 和几种方式速度对比
- Java获取时间戳的几种方式
- 获取时间的几种方式
- 获取系统时间的几种方式
- ngx lua获取时间戳的几种方式
- java获取properties的几种方式
- java获取路径的几种方式
- Java获取键盘输入的几种方式
- Java获取路径的几种方式
- 几种在java中获取日期及时间方式
- URL编码和解码的几种方式的对比
- 优化网站速度的几种方式
- 优化网站速度的几种方式
- C语言获取系统时间的几种方式
- C语言获取系统时间的几种方式
- 在MySQL中获取当前时间的几种方式
- C语言获取系统时间的几种方式
- C语言获取系统时间的几种方式
- 笔记:DrawerLayout中动态添加SurfaceView搭配侧滑显示不完全
- 如何攻破软件笔记
- FTP下载文件夹到windows
- POJ2887 分块
- JavaScript常用正则表达式(定时更新)
- java获取时间戳的方式 和几种方式速度对比
- iOS8使用UIVisualEffectView实现模糊效果
- Http协议
- java基础-String使用
- Javascript缓存API
- sqlserver禁止management studio的自动提交事务(转)
- 在AndroidStudio中使用Lambda表达式
- NSTimer UUID
- Linux crontab任务计划服务