2014-02-26 52 views
0

我使用java創建了演示呈現框架。需要計算用戶爲演示文稿中的每個幀花費了多少時間。那麼是否有任何api或框架在java中看起來像秒錶。java中是否有任何時間跟蹤/監視框架

+0

可能是重複的:http://stackoverflow.com/questions/21694833/how-to-display-and-compute-time-in-java/21695317#21695317 – Spindizzy

+0

是的,'System.currentTimeMillis()': ) –

+1

您無法可靠地使用'System.currentTimeMillis()'來測量時間,請參閱:http://stackoverflow.com/questions/351565 – 2014-02-26 07:26:50

回答

3

對於測量你可以使用:

System.nanoTime(); 

返回最準確的可用系統計時器的當前值,在納秒。

此方法只能用於測量已用時間,並且不涉及系統或掛鐘時間的任何其他概念。返回的值表示自某些固定但隨意​​的時間以來的納秒。

例如,從Oracle文檔:

long startTime = System.nanoTime(); 
// ... the code being measured ... 
long estimatedTime = System.nanoTime() - startTime; 
1

使用System.nanoTime()其用於此目的恰恰存在。如果你想額外的goodies像經歷時間的簡單操縱,支持圈,那麼你可以看看Guava library中的com.google.common.base.StopWatch

實施例:

Stopwatch stopwatch = Stopwatch.createStarted(); 
    doSomething(); 
    stopwatch.stop(); // optional 

    long millis = stopwatch.elapsed(MILLISECONDS); 

    log.info("time: " + stopwatch); // formatted string like "12.3 ms" 

番石榴還包括其他物品等的集合,緩存,支持的原語,併發庫,公共註釋,字符串處理,I/O,等等。