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

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Öж¼Ê¹Óö¯Ì¬´úÀí¡£
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 )
{
this.proxied = proxied;
}

public Object invoke( Object proxy, Method method, Object[] args ) throws Throwable
{
return method.invoke( proxied, args);
}
}
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import sun.misc.ProxyGenerator;
import java.io.*;
public class DynamicProxy
{
public static void main( String args[] )
{
RealSubject real =


Ïà¹ØÎĵµ£º

javaÖ¸¶¨ÀàÐ͵ÄÎļþĿ¼¼°×ÓĿ¼ËÑË÷

package search;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* ¶ÁȡĿ¼¼°×ÓĿ¼ÏÂÖ¸¶¨ÎļþÃûµÄ·¾¶ ²¢·Åµ½Ò»¸öÊý×éÀïÃæ·µ»Ø±éÀú
*
*
*/
public class FileViewer {
public static void search(String path, String[] Extention, boolean isdepth, ......

¿ª·¢»·¾³ÖÐʵÏÖLombokÏû³ýJavaÈßÓà

LombokÊÇÒ»ÖÖJavaArchive(JAR)Îļþ£¬¿ÉÓÃÀ´Ïû³ýJava´úÂëµÄÈß³¤¡£Í¨¹ýÔÚ¿ª·¢»·¾³ÖÐʵÏÖLombok£¬¿ª·¢ÈËÔ±¿ÉÒÔ½ÚÊ¡¹¹½¨ÖîÈçhashCode()ºÍequals()ÕâÑùµÄ·½·¨ÒÔ¼°ÒÔÍùÓÃÀ´·ÖÀà¸÷ÖÖaccessorºÍmutatorµÄ´óÁ¿Ê±¼ä¡£
ÎÒÃÇ¿´ÕâÑùÒ»¸öÀý×Ó£¬Ò»¸ö±ê×¼µÄJavabean¡£Ò»¸öµäÐ͵ÄJavabeanÒ»°ã¾ßÓм¸¸öÊôÐÔ¡£Ã¿¸öÊôÐÔ¾ßÓÐÒ»¸öaccessorºÍmutat ......

³ÉΪJava¸ßÊÖÐèҪעÒâµÄ25¸öѧϰĿ±ê

1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
2.ÄãÐèҪѧϰJavaÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºËÐÄÀà¿â(collections£¬serialization£¬streams£¬networking£¬?multithreading£¬reflection£¬event£¬handling£¬NIO£¬localiza ......

javaÖÐsynchronized¹Ø¼ü×ֵIJâÊÔ

  ×î½üÓÉÓÚ¸÷ÖÖÔ­ÒòÆÈʹ×Ô¼ºÐèÒªÏêϸÁ˽âjavaµÄ»ù±¾ÖªÊ¶£¬Ö®Ç°ÔÚѧУѧjava¶àÏ̵߳Äʱºò£¬ºÜ¶àºÜÖØÒªµÄ֪ʶµã¶¼ÊÇÒ»´ø¶ø¹ý¡£
  ÎÒÃÇÀ´»ØÒäÒ»ÏÂjavaÖÐsynchronized¹Ø¼ü×ÖµÄÓÃ;£¨Ò»ÏÂÄÚÈÝÊô¸öÈËÀí½â£¬»¶Ó­¶ÁÕßÐÞÕý£¡£©£º
  1£ºsynchronized ÐÞÊξ²Ì¬·½·¨Ê±ºò£¬ÔÚÈκÎʱºòjvm¶¼±£Ö¤Ö»ÓÐÒ»¸öÏ ......

Java »ù´¡ÖªÊ¶£¡£¡


¶ÔÓÚÕâ¸öϵÁÐÀïµÄÎÊÌ⣬ÿ¸öѧJavaµÄÈ˶¼Ó¦¸Ã¸ã¶®¡£µ±È»£¬Èç¹ûÖ»ÊÇѧJavaÍæÍæ¾ÍÎÞËùνÁË¡£Èç¹ûÄãÈÏΪ×Ô¼ºÒѾ­³¬Ô½³õѧÕßÁË£¬È´²»ºÜ¶®ÕâЩÎÊÌ⣬Ç뽫Äã×Ô¼ºÖعé³õѧÕßÐÐÁС£ÄÚÈݾùÀ´×ÔÓÚCSDNµÄ¾­µäÀÏÌù¡£
ÎÊÌâÒ»£ºÎÒÉùÃ÷ÁËʲô£¡
String s = "Hello world!";
Ðí¶àÈ˶¼×ö¹ýÕâÑùµÄÊÂÇ飬µ«ÊÇ£¬ÎÒÃǵ½µ×ÉùÃ÷ÁËʲô£¿»Ø´ðͨ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ