❓VO객체를 사용한다고 해서 성능이 좋아지는건 아닌데, 사용함으로써 무엇이 좋은가?
반복적인 데이터 요청(메세지)전달을 위해 데이터를 담을 용도로 재활용 되어 반복적인 데이터를 담을 객체를 생성하지 않아도 된다.
응답 시간 프로파일링
응답 시간 측정 목적
하나의 클래스 내에서 사용되는 메서드 단위의 응답 시간 측정
응답 시간 프로파일링을 통해 CPU시간과 대기시간 제공받는다.
메모리 프로파일링
- 목적
GC대상이 적용되는 부분, 메모리 부족 현상 부분 찾기 위함
CPU시간 & 대기 시간
하나의 메서드, 한 라인을 수행하는데 소요되는 시간은 무조건 CPU시간과 대기시간으로 나뉜다.
CPU시간 + 대기시간 = 실제 소요 시간
인터페이스를 활용해 실제 서비스 객체가 가진 메서드와 같은 이름의 메서드를 proxy 클래스(대리자)에 사용
인터페이스를 서비스 객체가 들어갈 자리에 대신 투입해 클라이언트쪽에서 실제 서비스 객체를 통해 어떤 메서드를 호출 받는지 모르게 한다.
public interface IService {
String **runSomething();**
}
public class Service implements IService {
public String runSomething() {
return "서비스짱";
}
}
public class Proxy implements IService {
IService service1;
public String runSomething() {
System.out.println("호출에 대한 흐름 제어가 주목적, 반환 결과를 그대로 전달");
service1 = new Service();
return service1.runSomething();
}
}
public class ClientWithProxy {
public static void main(String[] args) {
Iservice proxy = new Proxy();
System.out.println(proxy.runSomething());
}
}