Javaに精通している人には、私が取り組んでいるアプリケーションがあり、ちょうど1分以内に値を返さなければならないことに気がついたが、見つけたり表示したりする方法がわからないプログラムを実行するのにかかる時間。これに関する助けがあれば大いに感謝します。おかげJavaプログラムを実行するのにかかる時間を見つけるには?
答えて
long startTime = System.nanoTime();
//code
long endTime = System.nanoTime();
System.out.println("Took "+(endTime - startTime) + " ns");
はどのくらいあなたのプログラムが実行されているために参照するには組み込みの方法はありません
ありがとうございました。あなたの答えは本当にポイントです。 – chepukha
には理由があります。とSysout? – user227353
thats typoは修正されていません –
参照してください。ただし、プログラムの開始時に現在の時刻を保存するだけで、後で時間の経過を確認できます。
public class MyProgram {
private static long startTime = System.currentTimeMillis();
public static void main(String[] args) {
// Do stuff...
// At the end
long endTime = System.currentTimeMillis();
System.out.println("It took " + (endTime - startTime) + " milliseconds");
}
}
あなたのプログラムの実行時間は、プログラムの開始時と終了時にSystem.currentTimeMillis()を使用していることを知りたい場合は、
これは、例えばSpring AOPを使用して、側面の典型的なユースケースである:
@Aspect
public class TimerAspect {
private static final Logger LOG = Logger.getLogger(TimerAspect.class);
@Around("com.xyz.myapp.MyClass.myMethod()")
public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
long startTime = System.nanoTime();
Object retVal = pjp.proceed();
long endTime = System.nanoTime();
LOG.info(String.format("Call to %s.%s with args %s took %s ns", pjp.getTarget(), pjp.getSignature(), Arrays.toString(pjp.getArgs()), endTime - startTime));
return retVal;
}
}
そして、あなたのアプリケーションのコンテキストで:
<aop:aspectj-autoproxy/>
<bean id="myAspect" class="org.xyz.TimerAspect"/>
あなたのプロジェクトの依存関係として春(またはドン」を持っている場合それを追加する心)、あなたはStopWatch
を使用することができます。名前が示すように、一度初期化すると、停止するまで時間がカウントされます。その後、タスクにかかる時間を確認できます。複数のStopWatchを同時に複数のタスクに使用して、コードをきれいに保つことができます。
コードをきれいに保つだけでなく、StopWatchesは時刻やその他のユーティリティメソッドの書式設定に役立ちます。
public void myMethod(){
StopWatch stopWatch = new StopWatch();
stopWatch.start("Task1");
// ...
// Do my thing
// ...
stopWatch.stop();
System.out.println("Task executed in " + StopWatch.getTotalTimeSeconds() + "s");
}
- 1. 実行時に最適なリソースをプログラムで見つける
- 2. Windowsでサービスまたはプログラムの実行時間を見つける方法
- 3. javaでEDT時間を見つける
- 4. SQLスクリプトがJavaコードを使って完全に実行するのにかかる時間を見つけるにはどうすればよいですか?
- 5. 1つの実行時インスタンスでJavaプログラムを実行する
- 6. 特定の時間の後に実行するJavaプログラム
- 7. Javaプログラムの実行時間を短縮
- 8. 実行時にマウスの位置を見つける方法は?
- 9. Javaクラスを実行するのにかかる時間を測定する
- 10. 私のJavaプログラムで実行時間を追加する
- 11. asp.netページがレンダリングするのにかかる時間を見つける
- 12. Javaプログラムの複数の実行時間
- 13. パイプラインマシンの実行時間を見つけるにはどうすればよいですか?
- 14. AngularJS - 実行時にモデルプロパティの名前を見つける方法
- 15. 2からインスタントタイムスタンプの間の時間を見つける方法
- 16. Mongodbがレコードを見つけるのに時間がかかりすぎる
- 17. どのFinalizerに時間がかかるかを見つける方法
- 18. デバッグ、Unix。システムとは別の時間にプログラムを実行する
- 19. プログラムの実行時間にコンソールを所有する方法は?
- 20. どこでJavaメソッドの時間複雑さを見つけるのですか?
- 21. SQL Serverでストアドプロシージャの実行時間を見つける方法は?
- 22. N行の交差点を見つけるのにかかる時間を短縮する
- 23. Sqllite:時間をかけて異常値を見つける
- 24. Javaのマルチスレッドでサービス時間の待機時間を見つける方法
- 25. レコードの時間ギャップを見つける
- 26. 実行時にWindowsフォームでErrorProviderを見つける
- 27. 実行時にコントロールを見つける正しい方法
- 28. Javaプログラムで無限再帰エラーを見つけるには?
- 29. ユナイテッドでJavaの時間範囲の間に書かれているファイルを見つける方法
- 30. 配列の時間の複雑さから最大のJavaを見つける
「Javaプログラムを実行するのにかかる時間を見つける方法」 ? –
@ハリー・ジョイええ、まさしく私が意味すること。 – MK1
申し訳ありませんが、あなたの質問が十分ではありません。私は日食はここでは無関係だと思う。ランタイムは混乱するので無関係です。 JDKにはRuntimeクラスがあり、Runtime.getRuntime()を呼び出すことによってそのシングルトンインスタンスを取得できますが、探しているものとは思われません。あなたの質問を考え直して書き直してください。 – AlexR