ÈçºÎʹÓÃProxyģʽ¼°JavaÄÚ½¨µÄ¶¯Ì¬´úÀí»úÖÆ
1.Proxy
ģʽ
´úÀíģʽ֧³Ö½«Ä³Ð©²Ù×÷´Óʵ¼ÊµÄ¶ÔÏóÖзÖÀë³öÀ´£¬Í¨¹ýËüµÄ´úÀíÀàÌṩ´¦Àí¡£ÕâÑù±ãÓÚÐ޸ĺ͹ÜÀíÕâÐ©ÌØ¶¨µÄ²Ù×÷¡£
ÏÂÃæÊ¾ÀýÒ»¸ö´úÀíģʽµÄʵÏÖ¡£
<<interface>>Subject.java
package
com.zj.proxy;
public
interface
Subject {
void
operation1();
void
operation2(String arg);
}
ÏÖʵÀà
RealSubject.java
package
com.zj.proxy;
public
class
RealSubject
implements
Subject {
public
void
operation1() {
System.
out
.println(
"Realer do operation1"
);
}
public
void
operation2(String arg) {
System.
out
.println(
"Realer do operation2 with "
+ arg);
}
}
´úÀíÀà
ProxySubject.java
package
com.zj.proxy;
public
class
ProxySubject
implements
Subject {
private
Subject
proxied
;
//
±»´úÀí¶ÔÏó
public
ProxySubject(Subject
proxied) {
this
.
proxied
= proxied;
}
public
void
operation1() {
System.
out
.println(
"Proxyer do operation1"
);
proxied
.operation1();
}
public
void
operation2(String arg) {
System.
out
.println(
"Proxyer do operation2 with "
+ arg);
proxied
.operation2(arg);
}
}
²âÊÔÀà
SimpleProxyDemo.java
package
com.zj.proxy.client;
import
com.zj.proxy.Subject;
import
com.zj.proxy.RealSubject;
import
com.zj.proxy.ProxySubject;
public
class
SimpleProx
Ïà¹ØÎĵµ£º
package info.gnuhpc;
/**
* @author gnuhpc email: warmbupt@gmail.com blog: http://gnuhpc.info
* @date 2010-1-22
* @bugs ²»Ö§³Ö¶àÒô×Ö´¦Àí
*/
public class PinyinConv {
// ¼òÌåÖÐÎĵıàÂ뷶Χ´ÓB0A1£¨45217£©Ò»Ö±µ½F7FE£¨63486£©
private static int BEGIN = 45217;
private static int ......
ËãÊõÒì³£ÀࣺArithmeticExecption
¡¡¡¡¿ÕÖ¸ÕëÒì³£ÀࣺNullPointerException
¡¡¡¡ÀàÐÍÇ¿ÖÆ×ª»»Òì³££ºClassCastException
¡¡¡¡Êý×鸺ϱêÒì³££ºNegativeArrayException
¡¡¡¡Êý×éϱêÔ½½çÒì³££ºArrayIndexOutOfBoundsException
¡¡¡¡Î¥±³°²È«ÔÔòÒì³££ºSecturityException
¡¡¡¡ÎļþÒѽáÊøÒì³££ºEOFException
¡¡¡¡ÎļþÎ´Õ ......
AjaxSwingÊÇÒ»¸öרΪJava SwingÓ¦Óà ³ÌÐò´òÔìµÄWeb¿ª·¢Æ½Ì¨¡£Ê¹ÓÃAjaxSwing£¬¿ÉÒÔʹΪJava×ÀÃæÓ¦ÓóÌÐòתΪWebÓ¦ÓᣠAjaxSwing¿ÉÒÔ±»¿´×÷ÊÇÒ»¸öJavaµ½HTMLµÄת»»Æ÷£¬Æä³ÌÐò¿ÉÒÔÔÚÔËÐÐʱ´´½¨±»ä¯ÀÀÆ÷½âÎöµÄHTMLºÍ JavaScript¡£ÁíÍ⣬ʹÓÃAjaxSwingÎÞÐè¶Ô³ÌÐòºÍÒµÎñÂß¼½øÐдó·ùÐÞ¸ÄÐ޸ģ¬ËüÔÊÐí¿ª·¢ÕßʹÓñê×¼Swing×é¼þÀ´Êµ ......
·ºÐÍÊÇJava SE 1.5µÄÐÂÌØÐÔ£¬·ºÐ͵ı¾ÖÊÊDzÎÊý»¯ÀàÐÍ£¬Ò²¾ÍÊÇ˵Ëù²Ù×÷µÄÊý¾ÝÀàÐͱ»Ö¸¶¨ÎªÒ»¸ö²ÎÊý¡£ÕâÖÖ²ÎÊýÀàÐÍ¿ÉÒÔÓÃÔÚÀà¡¢½Ó¿ÚºÍ·½·¨µÄ´´½¨ÖУ¬·Ö±ð³ÆÎª·ºÐÍÀà¡¢·ºÐͽӿڡ¢·ºÐÍ·½·¨¡£
¡¡¡¡JavaÓïÑÔÒýÈë·ºÐ͵ĺô¦Êǰ²È«¼òµ¥¡£
¡¡¡¡ÔÚJava SE 1.5֮ǰ£¬Ã»ÓзºÐ͵ÄÇé¿öµÄÏ£¬Í¨¹ý¶ÔÀàÐÍObjectµÄÒýÓÃÀ´ÊµÏÖ²ÎÊýµÄ“È ......
ºÜ¾µäµÄ¶«Î÷,±»×ªµÄµ½´¦¶¼ÊÇ, ÏÈдÔÎÄ:
µÚÒ»£¬Ì¸Ì¸final, finally, finalizeµÄÇø±ð¡£
¡¡final ÓÃÓÚÉùÃ÷ÊôÐÔ£¬·½·¨ºÍÀ࣬·Ö±ð±íʾÊôÐÔ²»¿É±ä£¬·½·¨²»¿É¸²¸Ç£¬À಻¿É¼Ì³Ð¡£finallyÊÇÒì³£´¦ÀíÓï¾ä½á¹¹µÄÒ»²¿·Ö£¬±íʾ×ÜÊÇÖ´ÐС£finalizeÊÇ ObjectÀàµÄÒ»¸ö·½·¨£¬ÔÚÀ¬»øÊÕ¼¯Æ÷Ö´ÐеÄʱºò»áµ÷Óñ»»ØÊÕ¶ÔÏóµÄ´Ë·½·¨£¬¿ÉÒÔ¸²¸Ç ......