JAVA¶¯Ì¬´úÀíÄÚ²¿ÊµÏÖ
JAVA¶¯Ì¬´úÀíÄÚ²¿ÊµÏÖ
Ò»¡¡´úÀíÉè¼ÆÄ£Ê½
´úÀíģʽΪĿ±ê¶ÔÏóÌṩһÖÖ´úÀíÒÔ¿ØÖƶÔʵ¼Ê¶ÔÏóµÄ·ÃÎÊ¡£ÔÚijЩÇé¿öÏ£¬Ò»¸ö¿Í»§²»Ïë»òÕß²»ÄÜÖ±½ÓÒýÓÃÁíÒ»¸ö¶ÔÏ󣬶ø´úÀí¶ÔÏó¿ÉÒÔÔÚ¿Í»§¶ËºÍÄ¿±ê¶ÔÏóÖ®¼äÆðµ½ÖнéµÄ×÷Óá£
ΪÁ˱£³ÖÐÐΪµÄÒ»ÖÂÐÔ£¬´úÀíÀàºÍʵ¼ÊίÍÐÀàͨ³£»áʵÏÖÏàͬµÄ½Ó¿Ú£¬ËùÒÔÔÚ·ÃÎÊÕß¿´À´Á½ÕßûÓÐË¿ºÁµÄÇø±ð¡£
¡¡´úÀíģʽÀàͼ¡¡¡¡
³£¼ûµÄ´úÀíÓÐ:
1) Ô¶³Ì´úÀí(Remote proxy)£º¶ÔÒ»¸öλÓÚ²»Í¬µÄµØÖ·¿Õ¼ä¶ÔÏóÌṩһ¸ö¾ÖÓò´ú±í¶ÔÏó£¬ÈçRMIÖеÄstub¡£¡¡
2) ÐéÄâ´úÀí(Virtual proxy)£º¸ù¾ÝÐèÒª½«Ò»¸ö×ÊÔ´ÏûºÄºÜ´ó»òÕ߱Ƚϸ´ÔӵĶÔÏó£¬ÑÓ³Ù¼ÓÔØ£¬ÔÚÕæÕýÐèÒªµÄʱºò²Å´´½¨¡£
3) ±£»¤´úÀí(Protect or Access Proxy)£º¿ØÖƶÔÒ»¸ö¶ÔÏóµÄ·ÃÎÊȨÏÞ¡£
4) ÖÇÄÜÒýÓÃ(Smart Reference Proxy)£ºÌṩ±ÈÄ¿±ê¶ÔÏó¶îÍâµÄ·þÎñºÍ¹¦ÄÜ¡£
ͨ¹ý´úÀíÀàÕâÒ»Öмä²ã£¬Äܹ»ÓÐЧ¿ØÖƶÔʵ¼ÊίÍÐÀà¶ÔÏóµÄÖ±½Ó·ÃÎÊ£¬Ò²¿ÉÒԺܺõØÒþ²ØºÍ±£»¤Êµ¼Ê¶Ô£¬ÊµÊ©²»Í¬µÄ¿ØÖƲßÂÔ£¬´Ó¶øÔÚÉè¼ÆÉÏ»ñµÃÁ˸ü´óµÄÁé»îÐÔ¡£
¶þ¡¡¶¯Ì¬´úÀíʹÓÃ
JAVA¶¯Ì¬´úÀí»úÖÆÒÔÇÉÃîµÄ·½Ê½ÊµÏÖÁË´úÀíģʽµÄÉè¼ÆÀíÄî¡£
¶¯Ì¬´úÀíÀàͼ
¶¯Ì¬´úÀíÔÚ´úÀíProxySubjectºÍRealSubjectÖ®¼äÔö¼ÓÁËInvocationHandler£¬ÕâÊÇÒ»ÖÖͨÐżä½Ó»¯£¬ Ôö¼ÓÁËÁé ÐÔÐÔ£¬ÀýÈç¿ÉÒÔ°ÑÕâ¸öÖмä²ãʵÏÖΪһ¸ö¿ò¼ÜFramework£¬Ö±½Óͨ¹ýxmlÎļþµÈ·½Ê½À´µ÷ÓÃRealSubject¡£
ÔÚÆÕͨµÄÉè¼ÆÖУ¬ÎÒÃÇÒ»°ã²»»áʹÓö¯Ì¬´úÀí¡£µ«ÊÇÔÚһЩ¿ò¼Ü½á¹¹Éè¼ÆÖУ¬¶¯Ì¬´úÀí·Ç³£ÖØÒª£¬ÈçRMI,EJBÖж¼Ê¹Óö¯Ì¬´úÀí¡£
view plaincopy to clipboardprint?
interface Subject
{
public void doSomething();
}
class RealSubject implements Subject
{
public void doSomething()
{
System.out.println( "call doSomething()" );
}
}
class ProxyHandler implements InvocationHandler
{
private Object proxied;
public ProxyHandler( Object proxied )
{ &n
Ïà¹ØÎĵµ£º
ÔÎÄ£º http://blog.sina.com.cn/s/blog_4e0c121101000awr.html
(ÕâÊÇÎÒÄê³õдµÄһƪÎÄÕ£¬µ«³Ù³ÙûÓй«¿ª¡£ÓÐЩÄÚÈÝ¿ÉÄÜÒѾ¹ýʱ£¬µ«»¹ÊÇÖµµÃÒ»¶Á.)
¾¹ý½«½ü10ÄêµÄ·¢Õ¹ºó£¬Java EEÒѾÑݱäΪµ±Ç°ÆóÒµµÄÖ÷Á÷¼ÆËãÆ½Ì¨¡£¿ª·¢ÕßÔÙÒ²²»Äܹ»¼ò¼òµ¥µ¥µØ½«Java¿´³ÉÒ»ÖÖ±à³ÌÓïÑÔÁË£¬Æä²úÒµºÍ¼¼ÊõÁ´ÒÑ¾É ......
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.util.zip.CRC32;
public static void main(String[] args){
& ......
1£¬Ê²Ã´ÊÇClone £¿
¼òµ¥µØËµ£¬ Clone ¾ÍÊǶÔÓÚ¸ø¶¨µÄÒ»¸ö¶ÔÏóʵÀý o £¬µÃµ½ÁíÒ»¸ö¶ÔÏóʵÀý o’ £º o Óë o’ Àà
ÐÍÏàͬ£¨ o.getClass() == o’.getClass() £©£¬ÄÚÈÝÏàͬ£¨¶ÔÓÚ o/o’ ÖеÄ×Ö¶Î f £¬Èç¹û f ÊÇ»ù±¾Êý¾ÝÀàÐÍ£¬Ôò o.f == o’.f £»Èç¹û f ÊǶÔÏóÒýÓã¬Ôò o.f == o’.f »ò o.f Ö ......
×î½ü¶ÁÍê<Java²¢·¢±à³Ìʵ¼ù>,ÎÞÒÉÕâÊÇÒ»±¾ºÃÊé,ËüʹµÃÎÒ¶ÔÏß³Ì,Ëø,ÒÔ¼°Óë²¢·¢Ïà¹ØµÄ
һЩ֪ʶÌåϵ¸ü¼ÓÍ걸,Ïл°²»¶à˵,ÏÂÃæÎÒϵͳÊáÀíÁËÏÂÀïÃæµÄһЩÀíÂÛÒªµã,ÏàÐÅʵ¼ùÉÏ
Ãæ,´ó¼Ò»ò¶à»òÉÙ¶¼»áÓÐÌå»á,ÄÇôÓÃÀíÂÛµÄ֪ʶµã½«Êµ¼ùÌå»áÁýÂçÆðÀ´,½«»áÐγɸü¼ÓÀιÌ
ºÍÍ걸µÄ֪ʶÌåϵ,ÖÁÉÙÎÒÕâôÈÏΪ,дÕâһƪ±Ê¼ÇÒ²ÊÇÓÃÒÔ ......
×ÓÀà¶ÔÏóµÄ·½·¨²»ÄÜÖ±½Ó·ÃÎʳ¬ÀàµÄ˽ÓÐÓò£¬¾¡¹Üÿ¸ö×ÓÀà¶ÔÏó¶¼ÓµÓÐÕâ¸ö˽ÓÐÓò£¬µ«ÊÇÔÚ×ÓÀàµÄ·½·¨ÖÐÈ´²»ÄÜÖ±½Ó·ÃÎÊÕâ¸öÓò¡£Ö»Óг¬ÀàµÄ·½·¨²ÅÄܹ»·ÃÎÊ˽Óв¿·Ö¡£Èç¹û×ÓÀàÒ»¶¨Òª·ÃÎʸ¸Àà˽ÓÐÓò£¬¾Í±ØÐë½èÖú¹²ÓеĽӿڡ£µ÷Óó¬ÀàµÄ·½·¨£¬Èç¹ûÕâ¸ö·½·¨ÔÚ×ÓÀàÖÐÒ²ÓУ¬ÄǾͱØÐëÓÃsuper¡£×ÓÀàÓÿÉÒÔÔö¼Ó×Ô¼ºµÄ²¿·Ö£¬¸²¸Ç³¬ÀàµÄ²¿·Ö· ......