Домой Учебники по Java и J2EE Как использовать Spring Framework StopWatch () для регистрации ExecutionTime и ElapseTime любого...

Как использовать Spring Framework StopWatch () для регистрации ExecutionTime и ElapseTime любого потока Java

1115
0

Spring Framework — StopWatch() это очень удобная утилита для любого Java-разработчика, если у вас есть небольшое Java-приложение или готовое к работе приложение. Большинство приложений Java используют пул потоков или одновременный вызов нескольких заданий одновременно.

Есть вопросы ниже?

Тогда вы находитесь в правильном месте. В этом уроке мы расскажем о том, как измерить и сообщить время, затраченное каждым потоком или методами Java.

Давайте начнем:

StopWatch — это простой секундомер, позволяющий рассчитывать время выполнения ряда задач, отображая общее время выполнения и время выполнения для каждой названной задачи.

Для запуска этой программы вам понадобится ядро Spring MVC с зависимостью Maven.

pom.xml

1
2
3
4
5
< зависимость >
< groupId > org . Springframework < / groupId >
< artifactId > springcore < / artifactId >
< версия > 5.0.3.RELEASE < / версия >
< / зависимость >

Пожалуйста, добавьте вышеуказанную зависимость maven к вашему проекту Maven и выполните следующие шаги.

  • Создайте класс CrunchifySpringFrameworkStopWatch.java
  • Создать объект StopWatch crunchifyWatch
  • Запускать и останавливать объект crunchifyWatch во время performTask1() а также performTask2() операция
  • Возврат totalTimesInSeconds
  • В дополнение к печати полного результата StopWatch в формате prettyPrint
  • Мы используем все перечисленные ниже операции с StopWatch для печати разных результатов.
    • getTotalTimeSeconds ()
    • prettyPrint ()
    • краткое содержание()
    • getTaskCount ()
    • getLastTaskInfo (). getTaskName ()

Пожалуйста, взгляните на код для более подробного описания.

CrunchifySpringFrameworkStopWatch.java

CrunchifySpringFrameworkStopWatch.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
пакет crunchify. ком . учебник ;
импорт орг . пружинная рама . Util. Секундомер ;
/ **
* @author Crunchify.com Используйте StopWatch для отображения общего времени работы любых потоков Java.
* /
общественности учебный класс CrunchifySpringFrameworkStopWatch {
общественности статический недействительным main ( Строка [ ] аргументы ) {
// StopWatch — это простой секундомер, позволяющий рассчитывать время выполнения ряда задач, показывая общее время выполнения и время выполнения для каждого
// именованная задача.
StopWatch crunchifyWatch знак равно новый StopWatch ( CrunchifyThreads ) ;
CrunchifySpringFrameworkStopWatch crunchifyThread знак равно новый CrunchifySpringFrameworkStopWatch ( ) ;
crunchifyWatch . start ( CrunchifyThread-1 ) ;
crunchifyThread . executeTask1 ( ) ;
crunchifyWatch . стоп ( ) ;
crunchifyWatch . start ( CrunchifyThread-2 ) ;
crunchifyThread . executeTask2 ( ) ;
crunchifyWatch . стоп ( ) ;
Система. вне. println ( CrunchifyThreads занял всего: + crunchifyWatch. getTotalTimeSeconds ( ) + «секунды» ) ;
// prettyPrint () возвращает строку с таблицей, описывающей все выполненные задачи. Для пользовательских отчетов вызовите getTaskInfo () и используйте
// информация о задаче напрямую.
Система. вне. println ( / n1. prettyPrint Result: + crunchifyWatch . prettyPrint ( ) ) ;
// Возвращаем краткое описание общего времени работы.
Система. вне. println ( 2. Краткое резюме: + crunchifyWatch . shortSummary ( ) ) ;
// Возвращаем количество задач по времени.
Система. вне. println ( 3. Общее количество задач: + crunchifyWatch . getTaskCount ( ) ) ;
// Возвращаем имя этой задачи.
Система. вне. println ( 4. Последнее имя задачи: + crunchifyWatch . getLastTaskInfo ( ) . getTaskName ( ) ) ;
}
частный недействительным executeTask1 ( ) {
Runnable myRunnable знак равно новый Runnable ( ) {
общественности недействительным запустить ( ) {
Система. вне. println ( «Запуск задачи Crunchify 1» ) ;
}
} ;
crunchifyThread Thread знак равно новый Thread ( myRunnable ) ;
crunchifyThread . начало ( ) ;
}
частный недействительным executeTask2 ( ) {
Система. вне. println ( «Запуск задачи Crunchify 2 / n» ) ;
за ( int я знак равно 1 ; я < = 5 ; я ++ ) {
пытаться {
Thread. сон ( 2000 ) ;
Система. вне. println ( Running Loop # + я ) ;
} ловить ( InterruptedException е ) {
эл . printStackTrace ( ) ;
}
}
Система. вне. println ( ) ;
}
}

Просто запустите вышеуказанную программу как Java в вашей среде Eclipse или автономно, используя Terminal или Windows DOS, и вы увидите, что метод executeTask2 () займет 10 секунд, как у цикла for со счетом 5 и 2 секунды. Время ожидания потока.

ЧИТАТЬ ТАКЖЕ:  Коллекции Java - hashCode () и equals () - Как переопределить метод equals () и hashcode () в Java?

Вывод консоли Eclipse:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Задача Crunchify 1 Бег
Задача Crunchify 2 Бег
Беговая петля № 1
Беговая петля № 2
Беговая петля № 3
Беговая петля № 4
Беговая петля № 5
CrunchifyThreads занял всего : 10.006Seconds
1. prettyPrint Результат : Секундомер 'CrunchifyThreads' : время работы ( миллис ) знак равно 10006
——————————————
Миз      %      Название задачи
——————————————
00001    000 %    CrunchifyThread1
10005    100 %    CrunchifyThread2
2. короткий Резюме : Секундомер 'CrunchifyThreads' : время работы ( миллис ) знак равно 10006
3. Общее количество задач: 2
4. Имя последней задачи : CrunchifyThread2

Дайте мне знать, что вы думаете о StopWatch. Я лично использую StopWatch SpringFramework во всех своих приложениях.

Как использовать Spring Framework StopWatch () для регистрации ExecutionTime и ElapseTime любого потока Java

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь