java stopwatch 예제

그냥 당신의 이클립스 환경에서 자바로 프로그램을 실행하거나 터미널 이나 Windows DOS를 사용하여 혼자 실행하면 우리가 카운트 5 및 2 초 스레드 시간 초과루프에 대해 가지고 있는 것처럼 performTask2() 메서드가 10 초 가 걸리는 것을 볼 수 있습니다. 스프링 프레임 워크 – StopWatch()는 작은 Java 응용 프로그램 또는 프로덕션 준비 응용 프로그램이있는 경우 모든 Java 개발자에게 매우 편리한 유틸리티입니다. 대부분의 Java 응용 프로그램에는 스레드 풀링 또는 동시에 여러 개의 동시 작업 호출이 포함됩니다. Java 8을 사용하는 경우 새 java.time.Instant 및 java.time.Duration 클래스를 시도할 수 있습니다. 둘 다 불변, 스레드 안전 하 고 그들의 자신의 시간 규모, 자바 시간 규모 사용, 새 java.time API 내의 모든 클래스와 마찬가지로. Java에서 경과 시간을 측정해야 하는 요구 사항이 발생하면 다음과 같이 시도할 수 있습니다. 이 항목은 이 문서의 범위를 벗어나지만 여기에서 자세히 살펴봤습니다. 스톱워치를 사용하는 가장 간단한 단계는 StopWatch 클래스의 인스턴스를 만들고 start() 메서드를 호출하여 스톱워치를 시작하는 것입니다. 스톱워치가 시작된 후 보고 싶은 대상 메서드 또는 코드 블록을 실행하고 stop() 메서드를 호출하여 타이밍 세션을 완료할 수 있습니다. 스톱워치의 시간을 얻으려면 getTime() 메서드를 호출할 수 있습니다. 이전 예제와 같이 시작 및 종료 시간을 두 변수로 저장할 수 있습니다.

다음으로 두 인스턴트 간에 경과된 시간을 계산할 수 있습니다. 스톱워치 메서드는 idempotent가 아닙니다. 이미 원하는 상태에 있는 스톱워치를 시작하거나 중지하는 것은 오류입니다. stop() 및 stop() 메서드 다음에 getTime() 메서드를 사용하여 간단한 타이밍 계산을 수행하는 것 외에도 StopWatch 클래스는 시간을 분할하고 일시 중지및 다시 시작하는 메서드도 제공합니다. split(), suspend() 및 resume() 메서드를 각각 사용할 수 있습니다. 분할 시간을 얻으려면 toSplitString() 메서드를 호출할 수 있습니다. Java 시간 척도는 각 달력을 정확히 86.400개의 세분화(초)로 나눕니다. 윤초는 없습니다. System.nanotime 또는 밀리초 방법에 비해 스톱워치를 사용할 때 어떤 이점이 있습니까? 목표는 이를 달성하기 위한 다양한 방법을 개량하는 것이었습니다.

인스턴트 클래스는 좋은 선택이지만 Java 8을 사용해야합니다. 경과 시간을 측정하는 기능을 제공하는 표준 Java 클래스 및 외부 패키지를 살펴보겠습니다. java.lang.System 클래스의 또 다른 방법은 nanoTime()입니다. Java 설명서를 보면 다음 문을 찾을 수 있습니다: 이 메서드가 호출되는 시점과 시작 및 중지 사이의 시간 입니다. 결과 시간은 원하는 TimeUnit에 표시되고 나머지는 반올림됩니다. 예를 들어 지정된 단위가 TimeUnit.HOURS이고 스톱워치 시간이 59분인 경우 반환된 결과는 0이 됩니다. 인스턴트 클래스는 타임라인에서 인스턴트를 나타냅니다. 기본적으로 1970-01-01T00:00Z의 표준 Java 시대 이후 숫자 타임스탬프입니다.

이 기사에서는 Java에서 경과 시간을 측정하는 방법을 살펴보겠습니다. 이것은 쉽게 들릴 지 모르지만, 우리가 알고 있어야 하는 몇 가지 함정이 있습니다.

Posted in Uncategorized.