자바 의 자바 컴 파 일 러 를 사용 하여 프 록 시 자동 컴 파일

1150 단어
자바 의 jdk 6 자바 Compiler 를 사용 하여 자동 으로 컴 파일 합 니 다. 문자열 을 class 파일 로 컴 파일 하고 메모리 에 저장 하면 임의의 대상 을 대리 할 수 있 습 니 다.
예 를 들 어 하나의 대상 인 Tank 이 대 리 를 하려 면 먼저 TimeHandler 를 만들어 Invocation Handler 를 실현 합 니 다. 이 TimeHadler 에는 이 대상 의 인용 이 저장 되 어 있 습 니 다.
... 와 같다
클 라 이언 트 호출:
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class TimeHandler implements InvocationHandler{
	Object target;
	public TimeHandler(Object target) {
		this.target = target;
	}
	public void invoke(Object o,Method m) {//        Method m,m      ,   o        
		long start = System.currentTimeMillis();	
		try {
			m.invoke(target);//  target     m  。              ,    
		} catch (Exception e) {
			e.printStackTrace();
		}
		long end = System.currentTimeMillis();
		System.out.println("time:"+(end-start));
	}
	
}
public class Client {
	public static void main(String[] args) throws Exception {
		Tank t = new Tank();
		InvocationHandler ich = new TimeHandler(t);
		Moveable m = (Moveable)Proxy.newProxyInstance(Moveable.class,ich);
		m.move();
	}
	
}

좋은 웹페이지 즐겨찾기