>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具
>
> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
>
> 下载地址:https://www.alipan.com/s/x6fqXe1jVg1
>
基本原理
在Java开发过程中,我们经常需要测量某个方法或代码块的执行时间,以评估程序的性能。Java提供了多种方式来实现这一功能,其中最简单直接的方法是使用System.currentTimeMillis()
或者System.nanoTime()
。
System.currentTimeMillis()
返回的是自1970年1月1日00:00:00 GMT以来的毫秒数,它适用于需要较粗略时间测量的场景。System.nanoTime()
提供了更高的时间精度,以纳秒为单位,适用于需要精确测量的场景。
代码示例
示例1:使用System.currentTimeMillis()
public class TimeExample1 {
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
// 待测量的方法或代码块
someMethod();
long endTime = System.currentTimeMillis();
System.out.println("执行时间(毫秒): " + (endTime - startTime));
}
public static void someMethod() {
// 模拟耗时操作
try {
Thread.sleep(1000); // 休眠1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
示例2:使用System.nanoTime()
public class TimeExample2 {
public static void main(String[] args) {
long startTime = System.nanoTime();
// 待测量的方法或代码块
someMethod();
long endTime = System.nanoTime();
System.out.println("执行时间(纳秒): " + (endTime - startTime));
}
public static void someMethod() {
// 模拟耗时操作
for (int i = 0; i < 1000000000; i++) {
// 空循环
}
}
}
示例3:使用java.time
包中的Instant
类
import java.time.Instant;
public class TimeExample3 {
public static void main(String[] args) {
Instant start = Instant.now();
// 待测量的方法或代码块
someMethod();
Instant end = Instant.now();
System.out.println("执行时间:" + Duration.between(start, end).toMillis() + " 毫秒");
}
public static void someMethod() {
// 模拟耗时操作
try {
Thread.sleep(2000); // 休眠2秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
注意事项
- 使用
System.currentTimeMillis()
和Instant.now()
测量的时间是相对于某个时间点的,它们返回的是时间戳,因此适合用于测量两个时间点之间的时间差。 System.nanoTime()
返回的是自某个固定点以来的纳秒数,它更适用于测量短时间间隔,因为它的精度更高。- 在多线程环境下,如果需要测量线程执行时间,应确保测量的开始和结束点在同一个线程中。
- 测量时间的方法可能会受到系统时钟的影响,特别是在高负载或多任务环境中。
结论
测量Java方法的执行时间是一个重要的性能分析手段。通过使用System.currentTimeMillis()
、System.nanoTime()
或java.time
包中的类,我们可以根据不同的需求选择合适的方法来进行时间测量。理解这些方法的工作原理和适用场景,可以帮助我们更准确地评估程序性能,从而进行有效的优化。
>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具
>
> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
>
> 下载地址:https://www.alipan.com/s/x6fqXe1jVg1
>