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
Ïà¹ØÎĵµ£º
JAVA¶¯Ì¬°ó¶¨µÄÄÚ²¿ÊµÏÖ»úÖÆ
JAVAÐéÄâ»úµ÷ÓÃÒ»¸öÀà·½·¨Ê±£¬Ëü»á»ùÓÚ¶ÔÏóÒýÓõÄÀàÐÍ(ͨ³£ÔÚ±àÒëʱ¿ÉÖª)À´Ñ¡ÔñËùµ÷Óõķ½·¨¡£Ïà·´£¬µ±ÐéÄâ»úµ÷ÓÃÒ»¸öʵÀý·½·¨Ê±£¬Ëü»á»ùÓÚ¶ÔÏóʵ¼ÊµÄÀàÐÍ(Ö»ÄÜÔÚÔËÐÐʱµÃÖª)À´Ñ¡ÔñËùµ÷Óõķ½·¨£¬Õâ¾ÍÊǶ¯Ì¬°ó¶¨£¬ÊǶà̬µÄÒ»ÖÖ¡£¶¯Ì¬°ó¶¨Îª½â¾öʵ¼ÊµÄÒµÎñÎÊÌâÌṩÁ˺ܴóµÄÁé»îÐÔ£¬ÊÇÒ»Ö ......
Æäʵ£¬Õâƪ¶ÌÎÄ£¬ÎÒÔç¾ÍÓ¦¸ÃдÁË¡£ÒòΪ£¬java´æ´¢¹ý³Ì½ñºóÔÚ¸÷´óÊý¾Ý¿â³§ÉÌÖÐÔ½À´Ô½Á÷ÐУ¬¹¦ÄÜÒ²Ô½À´Ô½Ç¿´ó¡£ÕâÀïÒÔOracleΪÀý£¬½éÉÜÒ»ÏÂjava´æ´¢¹ý³ÌµÄ¾ßÌåÓ÷¨¡£
Ò»¡¢ÈçºÎ´´½¨java´æ´¢¹ý³Ì£¿
ͨ³£ÓÐÈýÖÖ·½·¨À´´´½¨java´æ´¢¹ý³Ì¡£
1. ʹÓÃoracleµÄsqlÓï¾äÀ´´´½¨£º
e.g. ʹÓÃcreate or replace and compile java source ......
ÆäʵҲ²»ÊÇÅÀÍøÒ³£¬Ö»ÊÇ´ÓÒ»¸öXMLÎļþÈ¡URL£¬È»ºóץȡÍøÒ³ÄÚÈÝ¡£
Ö÷ÒªÓм¸µã£¬±¸Íü£º
1. È«¾Ö´úÀí£¬ÉèÖÃÖ®ºóËùÓеÄURL¶¼Ê¹Óô˴úÀí£¬ÕâÑù¿ÉÒÔÖ±½Óµ÷ÓÃFileUtils.copyURLToFile£º
private void initProxy(String host, int port,
final String username, final String password) {
Authenticator.setDefault(new Aut ......
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 Ö ......
×ÓÀà¶ÔÏóµÄ·½·¨²»ÄÜÖ±½Ó·ÃÎʳ¬ÀàµÄ˽ÓÐÓò£¬¾¡¹Üÿ¸ö×ÓÀà¶ÔÏó¶¼ÓµÓÐÕâ¸ö˽ÓÐÓò£¬µ«ÊÇÔÚ×ÓÀàµÄ·½·¨ÖÐÈ´²»ÄÜÖ±½Ó·ÃÎÊÕâ¸öÓò¡£Ö»Óг¬ÀàµÄ·½·¨²ÅÄܹ»·ÃÎÊ˽Óв¿·Ö¡£Èç¹û×ÓÀàÒ»¶¨Òª·ÃÎʸ¸Àà˽ÓÐÓò£¬¾Í±ØÐë½èÖú¹²ÓеĽӿڡ£µ÷Óó¬ÀàµÄ·½·¨£¬Èç¹ûÕâ¸ö·½·¨ÔÚ×ÓÀàÖÐÒ²ÓУ¬ÄǾͱØÐëÓÃsuper¡£×ÓÀàÓÿÉÒÔÔö¼Ó×Ô¼ºµÄ²¿·Ö£¬¸²¸Ç³¬ÀàµÄ²¿·Ö· ......