# stopwatch **Repository Path**: Verlif/stopwatch ## Basic Information - **Project Name**: stopwatch - **Description**: 简单停表 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-12-09 - **Last Updated**: 2023-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Stopwatch __简单的停表__ 异常简单的停表,主要是用于测试方法耗时什么的,就像现实的停表一样使用它。 ## 功能 - 记录间隔时间 - 停表暂停 - 关键时间点标记 - 计时单位转换 ## 使用 ```java Stopwatch watch = Stopwatch.get("testWatch"); System.out.println("停表开始: " + watch.start()); Thread.sleep(123); System.out.println("停表记录: " + watch.pin()); System.out.println("间隔时间: " + watch.getLastInterval(TimeUnit.MILLISECONDS)); Thread.sleep((long) (Math.random() * 1000)); System.out.println("停表记录: " + watch.pin("开始吃饭")); Thread.sleep((long) (Math.random() * 1000)); System.out.println("停表记录: " + watch.pin("吃完")); System.out.println("吃饭时间: " + watch.getPinInterval("开始吃饭", "吃完", TimeUnit.MILLISECONDS)); System.out.println("停表结束: " + watch.stop()); System.out.println("打点时间:" + Arrays.toString(watch.getIntervalLine(TimeUnit.MILLISECONDS).toArray())); watch.restart(); ``` 输出如下: ```text 停表开始: 1494107535848000 停表记录: 1494107661364700 间隔时间: 125.5167 停表记录: 1494108176334400 停表记录: 1494108683787000 吃饭时间: 507.4526 停表结束: 1494108683924800 打点时间:[125.5167, 514.9697, 507.4526, 0.1378] ``` __注意__: 停表只有在`reset`之后才可以再次`start`,或是直接使用`restart`。 ## 常用方法 ### Stopwatch.start(name) 通过Stopwatch来启动停表,用于多个停表的处理。可通过`Stopwatch.get(name)`来获取对应停表。 当然,也可以直接`new Stopwatch()`。 ### pin 主要的计时打点方法,使用`watch.pin`或`watch.pin(name)`来记录时间点。 ### getPinInterval 获取打点`pin`的间隔时间,例如: - `watch.getPinInterval(2, TimeUnit.MILLISECONDS))` - 获取第二个pin点与上一个pin点之间的间隔时间 - `watch.getPinInterval("吃饭", TimeUnit.MILLISECONDS))` - 获取名为`吃饭`的pin点与上一个pin点之间的间隔时间 - `watch.getPinInterval("开始吃饭", "吃完", TimeUnit.MILLISECONDS))` - 获取名为`开始吃饭`的pin点与名为`吃完`的pin点之间的间隔时间 ### getIntervalLine 获取所有pin点的间隔时间列表 ## 添加依赖 __LastVersion__ : [![Release](https://jitpack.io/v/Verlif/stopwatch.svg)](https://jitpack.io/#Verlif/stopwatch) 1. 添加Jitpack仓库源 maven ```xml jitpack.io https://jitpack.io ``` Gradle ```text allprojects { repositories { maven { url 'https://jitpack.io' } } } ``` 2. 添加依赖 maven ```xml com.github.Verlif stopwatch 版本号 ``` Gradle ```text dependencies { implementation 'com.github.Verlif:stopwatch:版本号' } ```