나는 간단한 클래스를 가지고 있으며 어떻게 메소드 호출 시간을 측정하고 싶습니까? 그것을 달성하기위한 일반적인 방법을 찾고 있으므로 더 어려운 클래스에도 적용 할 수 있습니다. 당신에게java 어떻게 메소드 호출 시간을 측정 할 수 있습니까?
import java.io.*;
import java.util.*;
public class Turtle {
private String name;
private Formatter f;
public Turtle(String name, Formatter f) {
this.name = name;
this.f = f;
}
public void move(int x, int y) {
f.format("%s The Turtle is at (%d,%d)\n", name, x, y);
}
public static void main(String[] args) {
PrintStream outAlias = System.err;
Turtle tommy = new Turtle("Tommy",
new Formatter(System.out));
Turtle terry = new Turtle("Terry",
new Formatter(outAlias));
tommy.move(0,0);
terry.move(4,8);
tommy.move(3,4);
terry.move(2,5);
tommy.move(3,3);
terry.move(3,3);
}
}
"방법 호출 시간"이란 무슨 뜻입니까? –
ppl 중 하나가 제안한대로 CPUT 시간이었습니다. Java 내장 메서드가 있는지 궁금해했습니다. 프로파일 러와 같은 복잡한 것을 찾지는 않지만 코드에서 임시로 사용할 수 있습니다. 뭔가 이런 : long startTime = System.currentTimeMillis(); tommy.move (0,0); long endTime = System.currentTimeMillis(); System.out.println (""+ (endTime - startTime) + "milliseconds"); // 몇 가지 Java 메소드를 사용하여 한 줄로 처리하는 방법이 있습니까? – aretai
@aretal이 예는 CPU 시간이 아닌 경과 된 시간을 측정합니다. 분명히 시계가 시작되고 멈춰야하는 선을 적어도 표시해야하기 때문에 한 줄로보기가 어렵습니다. 애스펙트는 컴팩트 솔루션을 제공 할 수 있지만, 원하는 모든 것이 시간을 측정하는 것이라면 AOP를 파헤칠 때마다 과잉 공격이 될 수 있습니다. –