Start System.currentTimeMillis() minus End System.currentTimeMillis() equals Time consuming
In fact, I personally feel that it is OK , that’s pretty good, and many projects use it this way.
Simple is good.
The first way to play, the StopWatch
sample code provided in spring util:
StopWatch stopWatch = new StopWatch(); stopWatch.start(); //doInsert(); //执行业务等 stopWatch.stop(); System.out.println(stopWatch.getTotalTimeMillis());
Effect:
The second way to play System.nanoTime()
Don’t worry about how to use it first. After we finished reading the first StopWatch, did any of you think about the statistical time-consuming of this spring package? How did you achieve it?
Digression:
We must develop this kind of radiant thinking. Many brothers and friends have given me feedback on some topics, that is, there is nothing in the project. Learnable.
Actually, this is normal. The working process is not a teaching process. You have to dig vertically and horizontally distribute learning thinking.
Just click on the source code of StopWatch to take a look. Oh, the principle is to use System.nanoTime():
System.nanoTime() code usage example:
long startTime = System.nanoTime(); doInsert(); //执行业务 long endTime = System.nanoTime(); System.out.println((endTime - startTime));
Effect:
##③ new Date ()The third way to play, usually Occasionally I see others writing new Date like this Sample code:Date startDate = new Date(); // doInsert(); //执行业务等 Date endDate = new Date(); System.out.println((endDate.getTime() - startDate.getTime()));Effect: ④ System.currentTimeMillis() Omittedps: StopWatch is actually more than just closing the time-consuming statistics, this is too much. . . actually encapsulates many other functions related to time statistics (those who are interested can study it separately, especially refer to the author’s packaging ideas):
void start("task name"): Start timing for a task name
void stop(): Stop timing for the current task
boolean isRunning(): Whether a task is being timed
long getTotalTimeMillis(): All The overall execution time of the task (in milliseconds)
: The total time of all tasks (in seconds)
: The time taken by the previous task (in milliseconds)
: Timing Number of tasks
: Beautifully print the detailed time-consuming status of all tasks
: Entity class array containing task name and task time consumption
The above is the detailed content of How to count code execution time in Springboot. For more information, please follow other related articles on the PHP Chinese website!