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
Ïà¹ØÎĵµ£º
import java.io.*;
class Fen{
String fileName;
int size;
Fen(String fileName,String size){
this.fileName = fileName;
this.size = Integer.parseInt(size)*1024;
}
public void cut()throws Exception{
int maxx = 0;
File inFile = new File(fileName);
int fileLength = (int)inFile.length(); //È¡µÃÎ ......
0.±¾Àý×ÓÊÇ»ùÓÚjQueryµÄ
1.ÒýÈëjct°ü
<!-- ÒýÈëjct°ü -->
<script type="text/javascript" src="${ctx }/js/jct.js"></script>
<script type="text/javascript" src="${ctx }/js/dateutils.js"></script>
2.ͨ¹ýajax ´«µÝ²ÎÊý¸øjava
&n ......
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 Ö ......
ÔÎÄ:http://www.matrix.org.cn/resource/article/44/44055_Java+Annotation+Reflect.html
¹Ø
¼ü×Ö:java,annotation,reflect
ǰÑÔ£º
ÔÚ
ÉÏÆªÎÄÕ¡¶Java AnnotationÈëÃÅ¡·
ÖиÅÒªÐԵĽéÉÜÁËAnnotationµÄ¶¨Ò塢ʹÓ㬷¶Î§º¸Ç½Ï¹ã£¬µ«ÊÇ
Éî¶È²»¹»¡£ËùÒÔ×÷ÕßÔÚ¡¶Java AnnotationÈëÃÅ¡·ºó£¬¼ÌÐøÕûÀíÁËAnnotationµÄ¸ÅÄîºÍ ......
×ÓÀà¶ÔÏóµÄ·½·¨²»ÄÜÖ±½Ó·ÃÎʳ¬ÀàµÄ˽ÓÐÓò£¬¾¡¹Üÿ¸ö×ÓÀà¶ÔÏó¶¼ÓµÓÐÕâ¸ö˽ÓÐÓò£¬µ«ÊÇÔÚ×ÓÀàµÄ·½·¨ÖÐÈ´²»ÄÜÖ±½Ó·ÃÎÊÕâ¸öÓò¡£Ö»Óг¬ÀàµÄ·½·¨²ÅÄܹ»·ÃÎÊ˽Óв¿·Ö¡£Èç¹û×ÓÀàÒ»¶¨Òª·ÃÎʸ¸Àà˽ÓÐÓò£¬¾Í±ØÐë½èÖú¹²ÓеĽӿڡ£µ÷Óó¬ÀàµÄ·½·¨£¬Èç¹ûÕâ¸ö·½·¨ÔÚ×ÓÀàÖÐÒ²ÓУ¬ÄǾͱØÐëÓÃsuper¡£×ÓÀàÓÿÉÒÔÔö¼Ó×Ô¼ºµÄ²¿·Ö£¬¸²¸Ç³¬ÀàµÄ²¿·Ö· ......