ホームページ  >  記事  >  Java  >  Springboot でコードの実行時間をカウントする方法

Springboot でコードの実行時間をカウントする方法

WBOY
WBOY転載
2023-05-16 08:40:211428ブラウズ

    Start System.currentTimeMillis() から End System.currentTimeMillis() を引くと等しい 時間がかかる

    実際、私は個人的に次のように感じています。それはOKです、それはかなり良いことであり、多くのプロジェクトがこの方法で使用しています。

    シンプルであることは良いことです。

    Springboot でコードの実行時間をカウントする方法

    #テキスト

    ① StopWatch

    最初の再生方法、StopWatch

    Spring util で提供されるサンプル コード:

    StopWatch stopWatch = new StopWatch();
    stopWatch.start();
    //doInsert();
    //执行业务等
    stopWatch.stop();
    System.out.println(stopWatch.getTotalTimeMillis());

    効果:

    Springboot でコードの実行時間をカウントする方法

    ② System.nanoTime()

    System.nanoTime() を再生する 2 番目の方法

    最初は使い方については心配しないでください。最初の StopWatch を読み終えた後、この Spring パッケージの統計的な時間がかかることについて考えた人はいますか?どうやってそれを達成しましたか?

    余談:

    私たちはこの種の輝かしい考え方を発展させなければなりません。多くの兄弟や友人がいくつかのトピックについて私にフィードバックをくれました。つまり、このプロジェクトには何もありません。 . 学習可能。

    実際、これは正常です。作業プロセスは教育プロセスではありません。

    垂直方向に を掘り、 水平方向に 学習思考を分散する必要があります。

    StopWatch のソース コードをクリックして見てください。原則は System.nanoTime() を使用することです:

    Springboot でコードの実行時間をカウントする方法

    System.nanoTime() コードの使用例:

            long startTime = System.nanoTime();
            doInsert();
            //执行业务
            long endTime = System.nanoTime();
            System.out.println((endTime - startTime));

    効果:

    Springboot でコードの実行時間をカウントする方法##③ new Date ()

    The 3 番目の方法です。通常、他の人がこのように新しい日付を書いているのを見かけます。

    サンプル コード:

            Date startDate = new Date();
           // doInsert();
           //执行业务等
            Date endDate = new Date();
            System.out.println((endDate.getTime() - startDate.getTime()));

    効果:

    Springboot でコードの実行時間をカウントする方法④ システム.currentTimeMillis()

    省略

    ps: StopWatch は実際には、時間のかかる統計を閉じるだけではありません。これは多すぎます。 。 。

    は、実際には、時間統計に関連する他の多くの関数をカプセル化しています (興味のある方は、別途学習できます。特に、著者のパッケージ化のアイデアを参照してください):

    • void start

      ("タスク名"): タスク名の開始タイミング

    • void stop()

      : 現在のタスクの停止タイミング

    • boolean isRunning()

      : タスクの時間が計測されているかどうか

    • long getTotalTimeMillis()

      : すべてタスクの全体的な実行時間 (ミリ秒単位)

    • ##double getTotalTimeSeconds()
    • : すべてのタスクの合計時間 (秒単位)

      ##long getLastTaskTimeMillis()
    • : 前のタスクにかかった時間 (ミリ秒)
    • int getTaskCount()
    • : タイミングタスクの数
    • #String prettyPrint()
    • : すべてのタスクの時間のかかる詳細なステータスを美しく出力します
    • StopWatch.TaskInfo[] getTaskInfo()
    • : タスク名とタスク消費時間を含むエンティティ クラス配列

    以上がSpringboot でコードの実行時間をカウントする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。