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/
Ïà¹ØÎĵµ£º
ÏîÄ¿ÖÐÄã²»µÃ²»ÖªµÄ11¸öJavaµÚÈý·½Àà¿â
ÔðÈα༣ºñûÀï×÷ÕߣºJavaeye 2009-11-02 À´Ô´£ºIT168ÍøÕ¾
Îı¾Tag£º ITÒµ½ç Java Java¿ª·¢¹¤¾ß
¡¡¡¡¡¾IT168 ÆÀÂÛ¡¿JavaµÚÈý·½library ecosystemÊÇÒ»¸öºÜ¹ãÀ«µÄ·¶³ë¡£²»¾ÃǰÓÐÈË׫ÎÄ£ºÃ¿¸öÏîÄ¿ÖУ¬Äã±ØÐëÖªµÀµÄ11¸öJavaµÚÈý·½Àà¿â¡£
¡¡¡¡µ¥Ôª²âÊÔ
¡¡¡¡ ......
Ò»°ã½ø¶ÈÌõʹÓÃÊǸøÓû§Ò»ÖÖÓѺÃÌáʾ£¬ÈÃÓû§¸Ð¾õÕâ¸öÊÂÇéÕýÔÚ×ö£¬¶ø²»ÊÇϵͳûÓз´Ó¦ÁË£»
JProgressBarµÄ´úÂëÎĵµ´ó¼Ò¿ÉÒԲο¼JDK1.6£¬±ÈÈç¹¹Ô캯ÊýÓÐÄÄЩ£¬³£Óõķ½·¨ÓÐÄÄЩÔڴ˾Ͳ»¶àÐðÊö£»
Ò»°ãʹÓÃÇé¿öÊÇ£¬µã»÷°´Å¥ÊÇ×öÒ»¼þÊÂÇ飬±ÈÈ籸·Ý£¬½ø¶ÈÌõ³öÏÖ²¢Ôö¼Ó½ø¶È±íʾÕýÔÚ½øÐлòµ½Ê²Ã´³Ì¶È£¬ÊÂÇé½áÊøÊ±£¬½ø¶ÈÌõÏÔʾÂú ......
Óöµ½¹ýÕâÑùÒ»¸öÇé¿ö£¬ÐèÒªÓÃjava¶Áȡһ¸ö200MµÄÎı¾¸ñʽÎļþ£¬¶øÇÒ»¹ÐèÒª¶ÔÎļþµÄÄÚÈÝ×ö½âÎö£¬½øÐзִʡ£Èç¹ûÓÃJVMµÄĬ
ÈÏÉèÖã¬ÀûÓÃScannerÀàÖ»ÄܶÁ³ö4M´óСÄÚÈÝ£¬ÓÚÊÇÎÒ¾ÍÔÚÍøÉÏËÑË÷£¬µ«ÊÇÍøÉÏûÓÐÕÒµ½Ò»ÆªÎÄÕÂÊÇÎÒËùÐèÒªµÄÄÚÈÝ¡£ÓÚÊÇÎÒÖ»ºÃ·thinking
in
java£¬·¢ÏÖÁËÒ»¸öjavaµÄnioÀïÓиöMappedByteBufferÀ࣬ËûµÄ×÷Ó ......
java½Ó¿ÚʵÏÖ
¶Ô³õѧÕßÀ´Ëµ£¬½Ó¿Ú²»ÊǺܺÃÀí½â¡£ÏÖ½«Ä³¸ßÊÖµÄһƪÎÄÕÂÌù³öÀ´£¬¹²´ó¼Ò·ÖÏí£¡
ÎÒÃÇÀ´¿´Ò»¸öÀà
class A {
private int a;
public int getA() {
return a;
}
}
Õâ¸öÀàµÄÊôÐÔÊÇ˽Óеģ¬Íâ½ç²»ÄÜ·ÃÎÊ£¬¶øÍâ½ç¿ÉÒÔͨ¹ý¹«Óз½·¨À´·ÃÎÊÕâ¸öÀà¡£ÎÒÃÇ˵һ¸öÀàµÄ¹«Óз½
·¨¾ÍÊÇÕâ¸öÀàµÄ¶ÔÍâ½Ó¿Ú¡£Í¨³£
......