Java Dynamic Proxy
import java.lang.reflect.*;
public class A extends Thread {
public static void main(String[] args) throws Exception{
CC cc = new CC();
HH hh = new HH(cc);
II ii = (II) Proxy.newProxyInstance(HH.class.getClassLoader(),
new Class[]{II.class},
hh);
System.out.println ("" + ii.getClass().getName());
ii.test();
}
}
interface II {
void test();
}
class CC implements II {
public void test() {
System.out.println ("this is cc");
}
}
class HH implements InvocationHandler {
Object obj;
HH(Object obj) {
this.obj = obj;
}
public Object invoke(Object obj, Method m, Object[] args) throws Exception {
System.out.println ("start");
Object o = m.invoke(this.obj, args);
System.out.println ("end");
return o;
}
}
ÔËÐÐʱ¼ÓÈë -Dsun.misc.ProxyGenerator.saveGeneratedFiles=true£¬¿ÉÒԵõ½proxy class¡£
²Î¿¼£ºhttp://www.javablogging.com/what-is-java-dynamic-proxies-api/
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
´ËÎÄÖеĴúÂëÖ÷ÒªÁгöÁ¬½ÓÊý¾Ý¿âµÄ¹Ø¼ü´úÂ룬ÆäËû·ÃÎÊÊý¾Ý¿â´úÂëÊ¡ÂÔ
¡¡¡¡1¡¢Oracle8/8i/9iÊý¾Ý¿â£¨thinģʽ£©
¡¡¡¡¡¡¡¡Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
¡¡¡¡¡¡¡¡String url="jdbc:oracle:thin:@localhost:1521:orcl";
¡¡¡¡¡¡¡¡//orclΪÊý¾Ý¿âµÄSID
¡¡¡¡¡¡¡¡String user="test";
¡ ......
1.»ù±¾¸ÅÄîµÄÀí½â
¾ø¶Ô·¾¶£º¾ø¶Ô·¾¶¾ÍÊÇÄãµÄÖ÷Ò³ÉϵÄÎļþ»òĿ¼ÔÚÓ²ÅÌÉÏÕæÕýµÄ·¾¶£¬(URLºÍÎïÀí·¾¶)ÀýÈ磺
C:xyz est.txt ´ú±íÁËtest.txtÎļþµÄ¾ø¶Ô·¾¶¡£http://www.sun.com/index.htmÒ²´ú±íÁËÒ»¸öURL¾ø¶Ô·¾¶¡£
Ïà¶Ô·¾¶£ºÏà¶ÔÓëij¸ö»ù׼Ŀ¼µÄ·¾¶¡£°üº¬WebµÄÏà¶Ô·¾¶£¨HTMLÖеÄÏà¶ÔĿ¼£©£¬ÀýÈ磺ÔÚ
Servl ......
java½Ó¿ÚʵÏÖ
¶Ô³õѧÕßÀ´Ëµ£¬½Ó¿Ú²»ÊǺܺÃÀí½â¡£ÏÖ½«Ä³¸ßÊÖµÄһƪÎÄÕÂÌù³öÀ´£¬¹²´ó¼Ò·ÖÏí£¡
ÎÒÃÇÀ´¿´Ò»¸öÀà
class A {
private int a;
public int getA() {
return a;
}
}
Õâ¸öÀàµÄÊôÐÔÊÇ˽Óеģ¬Íâ½ç²»ÄÜ·ÃÎÊ£¬¶øÍâ½ç¿ÉÒÔͨ¹ý¹«Óз½·¨À´·ÃÎÊÕâ¸öÀà¡£ÎÒÃÇ˵һ¸öÀàµÄ¹«Óз½
·¨¾ÍÊÇÕâ¸öÀàµÄ¶ÔÍâ½Ó¿Ú¡£Í¨³£
......