別再用 System.currentTimeMillis 統計耗時了,太 Low,試試 Spring Boot 原始碼在用的 StopWatch吧,夠優雅!

2022-07-27 15:00:57

大家好,我是二哥呀!

昨天,一位球友問我能不能給他解釋一下 @SpringBootApplication 註解是什麼意思,還有 Spring Boot 的執行原理,於是我就帶著他扒拉了一下這個註解的原始碼,還有 SpringApplication 類的 run() 方法的原始碼,一下子他就明白了。

你別說,看原始碼的過程還真的是挺有趣,這不,我就發現了一個有意思的點。

public ConfigurableApplicationContext run(String... args) {
	StopWatch stopWatch = new StopWatch();
	stopWatch.start();
	......
	stopWatch.stop();
}

Spring Boot 是用 StopWatch 來統計耗時的,而通常情況下,我們會用 System.currentTimeMillis() 來統計耗時,對吧?程式設計喵