我在一个 Java 项目中工作,我们没有使用任何分析工具。
有没有办法在不使用任何分析工具的情况下找出方法执行所需的时间?
你为什么不使用类似的东西:
int startTime = System.currentTimeMillis();
methodCall();
int endTime = System.currentTimeMillis();
int totalTime = endTime - startTime;
System.out.println("Time to complete: " + totalTime);
然后您可以添加 /1000 或其他任何内容来根据需要格式化时间。
在开始之前和结束时捕获 System.currentTimeMillis() 减去 System.currentTimeMillis()。您将能够知道您的方法执行需要多少时间。
void fun(){
long sTime=System.currentTimeMillis();
...
System.out.println("Time Taken to execute-"+System.currentTimeMillis()-sTime+" milis");
}
这是一个捕获时间的示例程序:
package com.quicklyjava;
public class Main {
/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
// start time
long time = System.nanoTime();
for (int i = 0; i < 5; i++) {
System.out.println("Sleeping Zzzz... " + i);
Thread.sleep(1000);
}
long difference = System.nanoTime() - time;
System.out.println("It took " + difference + " nano seconds to finish");
}
}
这是输出:
Sleeping Zzzz... 0
Sleeping Zzzz... 1
Sleeping Zzzz... 2
Sleeping Zzzz... 3
Sleeping Zzzz... 4
It took 5007507169 nano seconds to finish