Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

java¶¯Ì¬´úÀí

Java¶¯Ì¬´úÀíÀàλÓÚJava.lang.reflect°üÏ£¬Ò»°ãÖ÷񻃾¼°µ½ÒÔÏÂÁ½¸öÀࣺ 
(1). Interface InvocationHandler£º¸Ã½Ó¿ÚÖнö¶¨ÒåÁËÒ»¸ö·½·¨Object£ºinvoke(Object obj,Method method, Object[] args)¡£ÔÚʵ¼ÊʹÓÃʱ£¬µÚÒ»¸ö²ÎÊýobjÒ»°ãÊÇÖ¸´úÀíÀ࣬methodÊDZ»´úÀíµÄ·½·¨£¬ÈçÉÏÀýÖеÄdothing()£¬argsΪ¸Ã·½·¨µÄ²ÎÊýÊý×é¡£ Õâ¸ö³éÏó·½·¨ÔÚ´úÀíÀàÖж¯Ì¬ÊµÏÖ¡£ 
(2).Proxy£º¸ÃÀ༴Ϊ¶¯Ì¬´úÀíÀ࣬×÷ÓÃÀàËÆÓÚÉÏÀýÖеÄProxySubject£¬ÆäÖÐÖ÷Òª°üº¬ÒÔÏÂÄÚÈÝ£º 
Protected Proxy(InvocationHandler h)£º¹¹Ô캯Êý£¬¹À¼ÆÓÃÓÚ¸øÄÚ²¿µÄh¸³Öµ¡£ 
Static Class getProxyClass (ClassLoader loader, Class[] interfaces)£º»ñµÃÒ»¸ö´úÀíÀ࣬ÆäÖÐloaderÊÇÀà×°ÔØÆ÷£¬interfacesÊÇÕæÊµÀàËùÓµÓеÄÈ«²¿½Ó¿ÚµÄÊý×é¡£ 
Static Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h)£º·µ»Ø´úÀíÀàµÄÒ»¸öʵÀý£¬·µ»ØºóµÄ´úÀíÀà¿ÉÒÔµ±×÷±»´úÀíÀàʹÓÃ(¿ÉʹÓñ»´úÀíÀàµÄÔÚSubject½Ó¿ÚÖÐÉùÃ÷¹ýµÄ·½·¨)¡£ 
ËùνDynamic ProxyÊÇÕâÑùÒ»ÖÖclass£ºËüÊÇÔÚÔËÐÐʱÉú³ÉµÄclass£¬ÔÚÉú³ÉËüʱÄã±ØÐëÌṩһ×éinterface¸øËü£¬È»ºó¸Ãclass¾ÍÐû³ÆËüʵÏÖÁËÕâЩ interface¡£Ä㵱Ȼ¿ÉÒ԰ѸÃclassµÄʵÀýµ±×÷ÕâЩinterfaceÖеÄÈκÎÒ»¸öÀ´Óᣵ±È»À²£¬Õâ¸öDynamic ProxyÆäʵ¾ÍÊÇÒ»¸öProxy£¬Ëü²»»áÌæÄã×÷ʵÖÊÐԵŤ×÷£¬ÔÚÉú³ÉËüµÄʵÀýʱÄã±ØÐëÌṩһ¸öhandler£¬ÓÉËü½Ó¹Üʵ¼ÊµÄ¹¤×÷¡£
×îºóµ÷ÓÃÒµÎñ·½·¨sayHelloʱ£¬ÆäʵÊÇÈ¥µ÷ÓÃÁËLogerHandlerµÄinvoke·½·¨£¨¾ßÌåÔõôʵÏÖµÄÄÇʱÐéÄâ»ú×öµÄÊ£¬ÎÒÃDz»ÐèÒª¹ØÐÄ£©¡£ËùÒÔÒª×÷AOP»òÕß˵ÊÇ·½·¨À¹½Ø£¨ÕâÀïÊÇÊä³öÒ»¸öÈÕÖ¾£©Ó¦¸ÃÔÚinvoke·½·¨Àï×ö¡£ÄǾßÌåµ÷ÓÃÒµÎñÀࣨÕâÀïÊÇHelloImpl£©µÄÄĸö·½·¨ÄØ£¿invokeÀïµÄmethod²ÎÊý¾Í¸æËßinvoke¾ßÌåµ÷Óõķ½·¨ÁË¡£
ʵÀý£º
1¡¢¶¨Òå½Ó¿Ú
package com.beckham.proxy;
public interface Speek {
public void sayHello(String name) ;
}
 
2¡¢ÊµÏָýӿÚ
package com.beckham.proxy;
public class SpeekImp implements Speek {
public void sayHello(String name) {
System.out.println("hello :"+name);
}
}
 
3¡¢´úÀíÀà
package com.beckham.proxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
//´úÀíÀà
public class LogProxy implements InvocationHandler {
private Object obje


Ïà¹ØÎĵµ£º

java¾­µäÊé¼®

java¾­µäÊé¼®»ã×Ü£¨²¿·Ö£©
Ò»¡¢ÈëÃÅ 
¡¶Java 2´ÓÈëÃŵ½¾«Í¨¡·£­ ÍƼö 
¡¶Thinking in Java¡·£­ Ç¿ÁÒÍÆ¼ö* 
O’reillyµÄJava±à³Ì»ù´¡ÏµÁР£­ ²Î¿¼* 
¶þ¡¢½ø½× 
¡¶Java Cook Book¡·£­ ·Ç³£ÍƼö* £¨°üº¬ÁËJava±à³ÌµÄTips£¬Êʺϵ± ......

javaÖеÄSingleton (µ¥Á¢)Éè¼ÆÄ£Ê½£¨»¹Ã»Ð´Í꣩

Java Singleton
ģʽ(µ¥Éíģʽ,µ¥Ì¬Ä£Ê½)ÊÇÒ»ÖÖ´´½¨ÐÍÉè¼ÆÄ£Ê½¡£ÓÃÀ´±£Ö¤ÔÚÔËÐеÄÓ¦ÓóÌÐòÖУ¬Ò»¸öClassÖ»ÊÇʵÀý»¯Ò»´Î£¬Ò²¾ÍÊÇÖ»ÓÐÒ»¸öÏàÓ¦µÄ¶ÔÏó´æÔÚ¡£ÔÚ
web ³ÌÐòÖÐÎÒÃÇ»áÓÃÒ»¸öºËÐĵķÖÅ书ÄܵÄServlet³ÌÐò£¬ÔÚÕâÀïÎÒÃǾͿÉÒÔÔËÓÃÕâÖÖÉè¼ÆÄ£Ê½ÁË¡£ ......

javaÖеÄfinal£¬static¹Ø¼ü×Ö

¹Ø¼ü×Öfinal£º
    ÔÚJavaÖÐÉùÃ÷Àà¡¢ÊôÐԺͷ½·¨Ê±£¬¿ÉʹÓùؼü×ÖfinalÀ´ÐÞÊΡ£
    final±ê¼ÇµÄÀ಻Äܱ»¼Ì³Ð¡£
    final±ê¼ÇµÄ·½·¨²»Äܱ»×ÓÀàÖØÐ´¡£
    final±ê¼ÇµÄ±äÁ¿(³ÉÔ±±äÁ¿»ò¾Ö²¿±äÁ¿)¼´³ÉΪ³£Á¿£¬Ö»Äܸ³ÖµÒ»´Î¡£
    final±ê¼Çµ ......

»ùÓÚ JVMTI ʵÏÖ Java Ïß³ÌµÄ¼à¿Ø

¼¶±ð£º Öм¶
Àî Áè
, Èí¼þ¼Ü¹¹Ê¦, IBM
2009 Äê 12 ÔÂ 10 ÈÕ
Ëæ
×ŶàºË CPU µÄÈÕÒæÆÕ¼°£¬Ô½À´Ô½¶àµÄ Java
Ó¦ÓóÌÐòʹÓöàÏ̲߳¢ÐмÆËãÀ´³ä·Ö·¢»ÓÕû¸öϵͳµÄÐÔÄÜ¡£¶àÏ̵߳ÄʹÓÃÒ²¸øÓ¦ÓóÌÐò¿ª·¢ÈËÔ±´øÀ´Á˾޴óµÄÌôÕ½£¬²»ÕýÈ·µØÊ¹ÓöàÏ߳̿ÉÄÜÔì³ÉÏß³ÌËÀËø»ò×ÊÔ´¾º
Õù£¬µ¼ÖÂϵͳ̱»¾¡£Òò´Ë£¬ÐèÒªÒ»ÖÖÔËÐÐʱÏß³Ì¼à¿Ø¹¤ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ