zoukankan      html  css  js  c++  java
  • 对java程序员来说时间格式永远让人挠头来看Java Date Time 教程-时间测量

    在Java中,用System.currentTimeMillis()来测量时间最方便。
    你要做的是在某些操作之前获取到时间,然后在这些操作之后你想要测量时间,算出时间差。下面是一个例子:

    long startTime = System.currentTimeMillis();
    callOperationToTime();
    long endTime   = System.currentTimeMillis();
    long totalTime = endTime - startTime;
    

    现在变量totalTime将包含执行callOperationToTime()方法所需要的全部时间。

    反复操作

    由于System.currentTimeMillis()没有返回精准的时间,所以不止一次地去执行测量操作是个不错的主意。也许10次、100次或者1000次,甚至更多。这样由于大粒度时间值(该值并不是每毫秒都在变化着)而导致的非精准时间将趋于平稳。
    反复执行很多次测量操作的另一个很好的理由是,允许Java虚拟机去装载那些测量操作代码的classes,即时编译它,或许还能对它进行优化。

    Timer类

    前文所列出的计算方法是相当繁琐的并且沉闷,我们可以将它封装到一个Timer类中,下面是大概的例子:

    public class Timer {
    
      private long startTime = 0;
      private long endTime   = 0;
    
      public void start(){
        this.startTime = System.currentTimeMillis();
      }
    
      public void end() {
        this.endTime   = System.currentTimeMillis();  
      }
    
      public long getStartTime() {
        return this.startTime;
      }
    
      public long getEndTime() {
        return this.endTime;
      }
    
      public long getTotalTime() {
        return this.endTime - this.startTime;
      }
    }
    

    下面是个如何使用Timer类的例子:

    Timer timer = new Timer();
    timer.start();
    callOperationToTime();
    timer.end();
    long totalTime = timer.getTotalTime();
    

    以上就是本文的全部类容了,如需领取java学习资料私信回复 资料
    领取一线大厂Java面试题总结+阿里巴巴泰山手册+各知识点学习思维导+一份300页pdf文档的Java核心知识点总结!

    这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。
    file

  • 相关阅读:
    okhttp之源码学习1
    Retrofit2之源码解析2
    Retrofit2之源码解析1
    retrofit之笔记内容
    retrofit之基本笔记
    retrofit之基本内容
    rxjava-源码分析
    rxjava-基本内容解析
    rxjava_几类转换
    java几种常见的编码
  • 原文地址:https://www.cnblogs.com/MonsterJ/p/13531601.html
Copyright © 2011-2022 走看看