`

CurrentTimeMillis方法

阅读更多
Sun出品的XML Mark是我第一次接触performance test的内容,提到performance自然少不了记录时间,在XML Mark中Agent Thread在开始run的时候会用System.currentTimeMillis()记录当前时间,google一下,发现了下面这断文字:

Java 编程语言有一个计时方法,从早期版本起它就是标准 API 的一部分。 这个方法是 java.lang.System.currentTimeMillis(),它返回从 UTC 1970 年 1 月 1 日午夜开始经过的毫秒数。这个方法非常有用,特别 是它在各个版本的 Java 平台上都有。因此,在 上个月 我的 初始方面演示代码中,我使用了它。不过,currentTimeMillis() 也有 一些缺点。

currentTimeMillis() 的一个问题是,它虽然是以毫秒计数返回 时间,但是不能保证返回的计数的粒度或精度。在一些系统上,时间是真正的毫 秒计数,大约每一毫秒改变一次。在另一些系统上,时间可能每隔 10 或 20 毫秒才变一 次,因此每一次的精度都可能变化。

另一个局限是在方法定义中的基本时间单位。当 Java 平台第一次开始使用时,一毫秒 仍然是相当短的时间间隔(特别是对于解释语言)。今天,随着 CPU 时钟速度比第一次发布 Java 平台时快了近一百倍,一毫秒已经成了相对长的一段时间。

除了 currentTimeMillis() 的这些问题, 还有另一个使用任何类型的计时器方法监视程序执行都会有的问题。这个问题 是计时器方法本身 —— 可能要深入操作系统才能访问计时器 —— 这增加了一些开销, 如果计时器方法开销过大(或者方法调用过于频繁),那么就会严重扭曲计时测量。 为了明智地使用我们的性能跟踪方面,我需要至少大体知道计时器方法调用增加 了多少开销。




用CurrentTimeMillis方法检测一段程序代码运行时所花费的时间

Long startTime = System.currentTimeMillis();

......     // 代码段

Long endTime = Sytem.currentTimeMillis();

System.out.println(“Totle time is “ + (startTime - endTime) + “milliseconds“);



分享到:
评论

相关推荐

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

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

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

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

    Java面向对象面试题.pdf

    可以使用 System.currentTimeMillis 方法来实现。 28. 如何获取某个日期是当月的最后一天?可以使用 Calendar 类来实现。 29. 如何格式化日期?可以使用 SimpleDateFormat 类来实现。 30. 编码转换,怎样实现将 ...

    2014年Java最全面试题以及答案.

    可以使用System类的currentTimeMillis方法来获取自1970年1月1日以来的毫秒数。 27. 如何获取某个日期是当月的最后一天? 可以使用Calendar类或者LocalDate类结合withDayOfMonth方法来获取。 28. 如何格式化日期? ...

    2021-2022计算机二级等级考试试题及答案No.15607.docx

    23. currentTimeMillis方法:System类中的currentTimeMillis()方法返回的是当前时间距离1970年1月1日00:00:00 GMT的毫秒数。 24. 备注数据类型:在某些数据库管理系统中,备注数据类型允许存储最多64000个字符的...

    2021-2022计算机二级等级考试试题及答案No.13324.docx

    23. currentTimeMillis方法:System类的currentTimeMillis方法返回的是当前时间距离1970年1月1日00:00:00 UTC的毫秒数。 24. int变量i的定义:i被初始化为6,这是一个整数变量。 以上是部分计算机二级考试题目的...

    java 把大文件分割为小文件

    在上面的代码中,使用了 System.currentTimeMillis 方法来记录程序的执行时间,以便于对程序的性能进行优化。 ### 6. 文件路径 文件路径是指文件在文件系统中的路径。在 Java 中,可以使用 Java.IO 包中的 File 类...

    2021-2022计算机二级等级考试试题及答案No.10927.docx

    ### System类的currentTimeMillis方法 `System.currentTimeMillis()`方法用于获取当前时间戳(自1970年1月1日午夜起经过的时间,以毫秒为单位)。返回类型为`long`。 ### 计算机辅助制造(CAM) CAM(Computer ...

    2021-2022计算机二级等级考试试题及答案No.12829.docx

    #### 题目23: System类中的currentTimeMillis方法 - **currentTimeMillis方法**: - `System.currentTimeMillis()`返回自1970年1月1日00:00:00 GMT以来的毫秒数,返回值类型为`long`。 #### 题目24: 程序设计语言...

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

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

    java获取当前时间的四种方法代码实例

    在上面的代码中,我们使用 System.currentTimeMillis() 方法获取当前时间的毫秒值,然后使用 SimpleDateFormat 将其格式化为字符串输出。 第三种:Calendar.getInstance() 使用 Calendar.getInstance() 方法可以...

    单元测试中PowerMock常用方法.

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

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

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

    Java -核心类库 Object类常方法 Math类常用方法 System类常用方法 基本类型包装类常用方法等

    4. **currentTimeMillis() 方法**:获取当前时间的毫秒数。 5. **nanoTime() 方法**:获取纳秒级别的当前时间。 #### 四、基本类型包装类常用方法 Java为每种基本数据类型都提供了对应的包装类,这些包装类不仅...

    java统计方法执行时长

    首先,我们可以使用Java内置的`System.currentTimeMillis()`或`nanoTime()`方法来获取当前时间点,以此作为计时起点。在方法执行完毕后,再获取一次当前时间,通过两者之差计算出方法的执行时间。例如: ```java ...

    day12_函数式接口、方法引用_每日作业卷1

    ### 函数式接口、方法引用相关知识点解析 #### 一、函数式接口定义与实践 **函数式接口**(Functional Interface)是指一个接口只含有一个抽象方法,这种接口可以使用`@FunctionalInterface`注解来标记,从而确保...

    黑马程序员之android_点击返回键退出程序的方法

    - `onKeyDown`方法和`dispatchKeyEvent`方法都可以用来监听返回键的点击事件,但`dispatchKeyEvent`方法可以处理更多的键盘事件。 - 使用`System.exit(0)`可能会导致一些问题,比如未释放资源等。因此,在实际项目中...

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

    默认 kotlin 中对一段代码或方法的耗时计算提供了内置 inline 函数,我们使用方式如下(需要修改代码逻辑): val timeCost = measureTimeMillis { //logic } print("time cost is: $timeCost") 使用此插件后我们...

    解决时间戳long转换int溢出(即转换值为负数) long转int

    `System.currentTimeMillis()` 方法返回的就是这样的一个long类型的数值。然而,当你需要将这个long类型的时间戳转换为int类型时,可能会遇到数据溢出的问题,因为int类型的存储空间只有32位(4个字节),而long类型...

    java生成随机数的常用方法分析

    Java生成随机数的常用方法分析 在 Java 编程中,生成随机数是非常常见的需求,例如在测试、模拟、游戏等场景中。随机数可以使用多种方法生成,本文将对 Java 生成随机数的常用方法进行分析。 1. 使用 Math.random...

Global site tag (gtag.js) - Google Analytics