0 0

当前的System.currentTimeMillis()减去之前的System.currentTimeMillis()得到了负数,不解5

a类里的方法
  public void work(){
        long startTime = System.currentTimeMillis();
        druidService.queryCostL();
        druidService.queryMeter();
        druidService.queryMeterData();
        druidService.queryPaymentD();
       // logger.info("DruidJob job ----" + (System.currentTimeMillis() - startTime) + " ms");
        //存入数据库
        druidService.insert("DruidJob job",String.valueOf((System.currentTimeMillis() - startTime)));
    }


b类里的方法
 public void work(){
        long startTime = System.currentTimeMillis();
        c3p0Service.queryCostL();
        c3p0Service.queryMeter();
        c3p0Service.queryMeterData();
        c3p0Service.queryPaymentD();
       // logger.info("C3p0Job job ----" + (System.currentTimeMillis() - startTime) + " ms");
        //存入数据库
        c3p0Service.insert("C3p0Job job",String.valueOf((System.currentTimeMillis() - startTime)));
    }


数据库里的情况:




问题补充:时间为2013-10-12 到2013-10-14 9:00:00
2013年10月14日 09:48
  • 大小: 10.4 KB

2个答案 按时间排序 按投票排序

0 0

采纳的答案

统计程序的执行时间不要用System.currentTimeMillis(),而用System.nanoTime().

原因可以参考我这篇博客:http://openmind.iteye.com/blog/1845219
以及:https://blogs.oracle.com/dholmes/entry/inside_the_hotspot_vm_clocks

2013年10月14日 09:59
0 0

也是碰到了。

:https://blogs.oracle.com/dholmes/entry/inside_the_hotspot_vm_clocks
但是这个 无法访问了。

2018年5月23日 14:44

相关推荐

    高并发场景下 System.currentTimeMillis() 的性能问题

    在Java编程中,System.currentTimeMillis() 是一个常用的方法,用于获取当前时间戳,即自1970年1月1日(UTC/GMT的午夜)以来的毫秒数。然而,在处理大量并发请求时,这个方法可能不再是最佳选择,因为它的性能表现...

    System.currentTimeMillis()显示大写字母

    long haomiao = System.currentTimeMillis(); int b = (int)((haomiao/1000)%26+65); char daxiezimu = (char)b; System.out.println(haomiao); System.out.println(daxiezimu); } }

    System.currentTimeMillis()计算方式与时间的单位转换详解

    在Java编程中,`System.currentTimeMillis()` 是一个非常重要的方法,用于获取系统当前的日期和时间。这个方法返回的是从1970年1月1日(UTC/GMT的午夜)开始到现在的毫秒数。这是一个长期通用的标准,用于表示时间的...

    Java获取当前系统事件System.currentTimeMillis()方法

    在Java编程语言中,`System.currentTimeMillis()` 是一个非常基础且重要的方法,用于获取当前系统时间。这个方法返回从1970年1月1日0时0分0秒(协调世界时间,UTC)到现在的总毫秒数。这是一个非常常用的函数,尤其...

    android时间戳总结:System.nanoTime(),System.currentTimeMillis(),SystemClock

    System.currentTimeMillis() SystemClock.uptimeMillis() SystemClock.elapsedRealtime() SystemClock.currentThreadTimeMillis 0、时间的单位: 秒:second 毫秒:Millisecond 微妙:Microsecond 纳秒:nanosecond ...

    System.currentTimeMillis() 和 System.nanoTime() 哪个更快?大

    互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术...

    不敢相信?System.currentTimeMillis() 居然存在性能问题.docx

    图文并茂吃透面试题,看完这个,吊打面试官,拿高薪offer!

    android中几种for循环的效率

    long timenow = System.currentTimeMillis(); for (String str : strs) { count++; } return System.currentTimeMillis() - timenow; } 2.比较慢 private long getTime2() { long time = 0; int...

    单元测试中PowerMock常用方法.

    例如,你可以模拟`System.currentTimeMillis()`来返回预设的时间值,以便控制测试环境中的时间变化。 2. **构造函数模拟** 对于那些内部依赖于私有或受保护构造函数的类,PowerMock可以创建新的实例,而无需实际...

    Java中获取比毫秒更精确的时间.docx

    在Java中,`System.currentTimeMillis()` 是一个常用的获取当前时间(以毫秒为单位)的方法。然而,在实际应用中,可能会遇到使用该方法获取的时间间隔出现异常大的情况,例如在毫秒级别的时间测量中出现16毫秒的大...

    通过Java代码技巧改善性能

    long start = System.currentTimeMillis(); int a = 0; for(int i=0;i;i++){ try { a++; }catch (Exception e){ e.printStackTrace(); } } long useTime = System.currentTimeMillis()-start; System.out...

    GBK 汉字基本库 笔画 笔顺

    long lasttick = System.currentTimeMillis(); GB2312Helper gb2312Helper = GB2312Helper.singleton(); String info1 = "测试汉字拼音和五笔"; CharacterRecord recs1[] = gb2312Helper.getRecords(info1);...

    java获取当前时间戳的方法.doc.docx

    这是最常见的时间戳获取方式,直接调用`System.currentTimeMillis()`即可得到当前时间距1970年1月1日00:00:00 UTC的毫秒数。这种方法简单且高效,通常情况下执行速度较快。 2. **方法二:Calendar.getInstance()....

    java io读取文件到String

    long beginTime = System.currentTimeMillis(); InputStream is = null; String ret = null; try { is = new BufferedInputStream( new FileInputStream(f) ); long contentLength = f.length(); ...

    Java中System类.pdf

    Java中System类还提供了许多其他的方法和变量,例如,System.currentTimeMillis()方法可以获取当前时间的毫秒数,System.getProperty()方法可以获取系统的属性信息,等等。 在编程中,System类非常重要,很多应用...

    Java Date Time 教程-时间测量.docx

    `System.currentTimeMillis()`函数是Java提供的一个基础时间测量工具,它返回自1970年1月1日午夜(UTC)以来的毫秒数。然而,这个方法并不提供微秒级别的精度,因此在连续多次调用之间可能会存在不精确性。为了获得...

    delphi 获取当前时间13位时间戳

    delphi获取当前系统时间的13位时间戳。与java获取时间戳对比 ,是一样的结果

    java 记录程序执行的时间

    首先,我们可以使用`System.currentTimeMillis()`方法来获取当前时间(单位为毫秒)作为基准点,然后在程序执行完毕后再获取一次时间,通过两者之差即可计算出程序的运行时间。例如: ```java long startTime = ...

    java performance11

    long start = System.currentTimeMillis(); fcin.transferTo(0, fileLength, fcout); fin1.close(); fout1.close(); long end = System.currentTimeMillis(); long time1 = end - start; System.out.println("NIO_...

    一个基于 Kotlin Compiler Plugin 实现的迷你方法耗时无侵入编译插件

    val start = System.currentTimeMillis() //logic val end = System.currentTimeMillis() val time = end - start println("[MTC] cost time:$time") } 本地调试模式下运行可以执行以下命令: ./gradlew :...

Global site tag (gtag.js) - Google Analytics