java¶¯Ì¬´úÀí
´úÀíģʽµÄ×÷ÓÃÊÇ£ºÎªÆäËû¶ÔÏóÌṩһÖÖ´úÀíÒÔ¿ØÖƶÔÕâ¸ö¶ÔÏóµÄ·ÃÎÊ¡£
ÔÚijЩÇé¿öÏ£¬Ò»¸ö¿Í»§²»Ïë»òÕß²»ÄÜÖ±½ÓÒýÓÃÁíÒ»¸ö¶ÔÏ󣬶ø´úÀí¶ÔÏó¿ÉÒÔÔÚ¿Í»§¶ËºÍÄ¿±ê¶ÔÏóÖ®¼äÆðµ½ÖнéµÄ×÷Óá£
´úÀíģʽһ°ãÉæ¼°µ½µÄ½ÇÉ«ÓÐ
³éÏó½ÇÉ«£ºÉùÃ÷ÕæÊµ¶ÔÏóºÍ´úÀí¶ÔÏóµÄ¹«¹²½Ó¿Ú£¨Çó¾Ö³¤°ìʵÄÈË£©
´úÀí½ÇÉ«£º´úÀí¶ÔÏó½ÇÉ«ÄÚ²¿º¬ÓжÔÕæÊµ¶ÔÏóµÄÒýÓ㬴Ӷø¿ÉÒÔ²Ù×÷ÕæÊµ¶ÔÏó£¬Í¬Ê±´úÀí¶ÔÏóÌṩÓëÕæÊµ¶ÔÏóÏàͬµÄ½Ó¿ÚÒÔ±ãÔÚÈκÎʱ¿Ì¶¼ÄÜ´úÌæÕæÊµ¶ÔÏó¡£Í¬Ê±£¬´úÀí¶ÔÏó¿ÉÒÔÔÚÖ´ÐÐÕæÊµ²Ù×÷ʱ£¬¸½¼ÓÆäËûµÄ²Ù×÷£¬Ï൱ÓÚ¶ÔÕæÊµ¶ÔÏó½øÐзâ×°¡££¨ÃØÊ飩
ÕæÊµ½ÇÉ«£º´úÀí½ÇÉ«Ëù´ú±íµÄÕæÊµ¶ÔÏó£¬ÊÇÎÒÃÇ×îÖÕÒªÒýÓõĶÔÏó¡££¨¾Ö³¤£©
ÓÉÒÔÉÏ´úÂë¿ÉÒÔ¿´³ö£¬¿Í»§Êµ¼ÊÐèÒªµ÷ÓõÄÊÇRealSubjectÀàµÄrequest()·½·¨£¬ÏÖÔÚÓÃProxySubjectÀ´´úÀíRealSubjectÀ࣬ͬÑù´ïµ½Ä¿µÄ£¬Í¬Ê±»¹·â×°ÁËÆäËû·½·¨(preRequest(),postRequest()),¿ÉÒÔ´¦ÀíһЩÆäËûÎÊÌâ¡£
ÁíÍ⣬Èç¹ûÒª°´ÕÕÉÏÊöµÄ·½·¨Ê¹ÓôúÀíģʽ£¬ÄÇÃ´ÕæÊµ½ÇÉ«±ØÐëÊÇʵÏÖÒѾ´æÔڵ쬲¢½«Æä×÷Ϊ´úÀí¶ÔÏóµÄÄÚ²¿ÊôÐÔ£¬µ«ÊÇʵ¼ÊʹÓÃʱ£¬Ò»¸öÕæÊµ½ÇÉ«±ØÐë¶ÔÓ¦Ò»¸ö´úÀí½ÇÉ«£¬Èç¹û´óÁ¿Ê¹ÓûᵼÖÂÀàµÄ¼±¾çÅòÕÍ£¬´ËÍ⣬Èç¹ûʵÏÖ²¢²»ÖªµÀÕæÊµ½ÇÉ«£¬¸ÃÈçºÎʹÓôúÀíÄØ£¿Õâ¸öÎÊÌâ¿ÉÒÔͨ¹ýJavaµÄ¶¯Ì¬´úÀíÀàÀ´½â¾ö¡£
Java¶¯Ì¬´úÀíÀàλÓÚJava.lang.reflect°üÏ£¬Ò»°ãÖ÷񻃾¼°µ½ÒÔÏÂÁ½¸öÀࣺ
1.interface invocationHandler:¸Ã½Ó¿ÚÖнö¶¨ÒåÁËÒ»¸ö·½·¨ public object invoke(Object obj,Method method,Object[]args)
ÔÚʵ¼ÊʹÓÃʱ£¬µÚÒ»¸ö²ÎÊýobjÒ»°ãÊÇÖ¸´úÀíÀ࣬methodÊDZ»´úÀíµÄ·½·¨£¬ÈçÉÏÀýÖеÄrequest(), argsΪ¸Ã·½·¨µÄ²ÎÊýÊý×飬Õâ¸ö³éÏó·½·¨ÔÚ´úÀíÀàÖж¯Ì¬ÊµÏÖ¡£
2.Proxy:¸ÃÀ༴Ϊ¶¯Ì¬´úÀíÀ࣬×÷ÓÃÀàËÆÓÚÉÏÀýÖеÄProxySubject---ÃØÊ飬ÆäÖÐÖ÷Òª°üº¬ÒÔÏÂÄÚÈÝ
protected Proxy(InvocationHandler h):¹¹Ô캯Êý£¬ÓÃÓÚ¸øÄÚ²¿µÄh¸³Öµ¡£
static Class getProxyClass(ClassLoader loader,Class[]interface):»ñµÃÒ»¸ö´úÀíÀ࣬ÆäÖÐloaderÊÇÀà×°ÔØÆ÷£¬interfacesÊÇÕæÊµÀàËùÓµÓеÄÈ«²¿½Ó¿ÚµÄÊý×é¡£
static Object newProxyInstance(ClassLoader loader,Class[]interfaces,InvocationHandler h):·µ»ØÒ»¸ö´úÀíÀàµÄÒ»¸öʵÀý£¬·µ»ØºóµÄ´úÀíÀà¿ÉÒÔµ±×ö±»´úÀíÀàʹÓÃ(¿ÉʹÓñ»´úÀíÀàÔÚSubject½Ó¿ÚÖÐÉùÃ÷¹ýµÄ·½·¨)
´úÀíÀà ÃØÊé ±»´úÀíÀà ¾Ö³¤
ËùνDynamic ProxyÊÇÕâÑùÒ»ÖÖclass:ËüÊÇÔÚÔËÐÐʱÉú³ÉµÄcl
Ïà¹ØÎĵµ£º
Ê×ÏÈÊÇbuild sample
Óöµ½µÄµÚÒ»¸ö´íÎó
ADCDMST:/Z19/usr/lpp/cicsts/cicsts32/samples/dfjcics: >make -f makefile jvm
make: Error -- FSUM9383 Configuration file `/etc/startup.mk' not found
ÐÞ¸´£ºcp /samples/startup.mk /etc/startup.mk
export JAVA_HOME=/Z19/usr/lpp/jav ......
ÔÎÄÁ´½Ó£ºhttp://student.csdn.net/space.php?uid=22846&do=thread&id=205&page=1
1¡¢Óï·¨
£º±ØÐë±È½ÏÊìϤ£¬ÔÚд´úÂëµÄʱºòIDEµÄ±à¼Æ÷¶ÔijһÐб¨´íÓ¦¸ÃÄܹ»¸ù¾Ý±¨´íÐÅÏ¢ÖªµÀÊÇʲôÑùµÄÓï·¨´íÎó²¢ÇÒÖªµÀÈκÎÐÞÕý¡£
2¡¢ÃüÁî
£º±ØÐëÊìϤJDK´øµÄһЩ³£ÓÃÃüÁî¼°Æä³£ÓÃÑ¡ÏÃüÁîÖÁÉÙÐèÒªÊìϤ£ºappletviewer¡ ......
import java.util.prefs.*;
public class Registery {
String[] keys = {"oa"};
String[] values = {"reg"};
//°ÑÏàÓ¦µÄÖµ´¢´æµ½±äÁ¿ÖÐÈ¥
public void writeValue() { ......
ÉùÃ÷£º±¾ÎIJ¢·Ç±¾ÈËËùд£¬ÊÇÍøÉÏ¿´µ½µÄ£¬µ«ÊǸÃÎÄûÓбêÃ÷³ö´¦£¬ËùÒÔ±¾ÈËÒ²²»ÖªµÀ
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢ ......
Õâ¶ÎÔ´´úÂëʵÏÖÁËÔÚÒ»¸ö´°ÌåÖÐÏÔʾһ¸ö³¡¾°£»ÒÔÒ»¸öÆåÅ̸ñ×öµÄµØÃ棬ÔÚµØÃæÉϸ¡×ÅÒ»¸öÀ¶É«µÄÇòÌ壬ÔÚ³¡¾°ÖÐÓÐÒ»¸ö»·¾³¹âºÍÒ»¸öÖ±Éä¹â£¬ÊµÏÖÁËÓÃÊó±êÈ«½Ç¶ÈµÄ¹Û²ì³¡¾°µÄ¹¦ÄÜ¡£´ÓijÖÖÒâÒåÉÏÀ´ËµÕâµÄȷʵÏÖÁËÒ»²¿3DÓÎÏ·×îÔʼµÄ¿ò¼Ü¡£
´úÂëÊÇÕÕ×Å¡¶Killer Game Programming in Java¡·Ò»ÊéÖйØÓÚ3DÓÎÏ·ÖÆ×÷µÄÄDz¿·ÖдµÄ£¬ÓÉÓÚ´ ......