ProxyģʽÒÔ¼°java¶¯Ì¬´úÀíʵÏÖ
Ò». Proxyģʽ¶¨Òå:
ΪÆäËû¶ÔÏóÌṩһÖÖ´úÀíÒÔ¿ØÖÆÕâ¸ö¶ÔÏóµÄ·ÃÎÊ.
¶þ.ģʽ½â˵
Proxy´úÀíģʽÊÇÒ»ÖֽṹÐÍÉè¼ÆÄ£Ê½,Ö÷Òª½â¾öµÄÎÊÌâÊÇ:ÔÚÖ±½Ó·ÃÎʶÔÏóʱ´øÀ´µÄÎÊÌâ,±ÈÈç˵:Òª·ÃÎʵĶÔÏóÔÚÔ¶³ÌµÄ»úÆ÷ÉÏ.
ÔÚÃæÏò¶ÔÏóϵͳÖÐ,ÓÐЩ¶ÔÏóÓÉÓÚijЩÔÒò(±ÈÈç¶ÔÏó´´½¨¿ªÏúºÜ´ó,»òÕßijЩ²Ù×÷ÐèÒª°²È«¿ØÖÆ,»òÕßÐèÒª½ø³ÌÍâµÄ·ÃÎÊ),
Ö±½Ó·ÃÎÊ»á¸øÊ¹ÓÃÕß»òÕßϵͳ½á¹¹´øÀ´ºÜ¶àÂé·³,ÎÒÃÇ¿ÉÒÔÔÚ·ÃÎʴ˶ÔÏóʱ¼ÓÉÏÒ»¸ö¶Ô´Ë¶ÔÏóµÄ·ÃÎʲã,Õâ¸ö·ÃÎʲãÒ²½Ð´úÀí¡£
ProxyģʽÊÇ×î³£¼ûµÄģʽ,ÔÚÎÒÃÇÉú»îÖд¦´¦¿É¼û,±ÈÈçÏÖÔÚÓиöʲô¸ç,ÌØ±ðµÄ»ð,µ«ÊÇÐÔ±ðÒ»°ãÈË¿´²»³öÀ´,ÄãÈ¥ÎÊ"Ëû",È˼ÒÊÇ
´óÍó,²»ºÍÄãÖ±½Ó¶Ô»°,Ö»Óо¼ÍÈ˳öÃæ,Õâ¸ö¾¼ÍÈ˾ͿÉÒÔ¿´³ÉËûµÄ´úÀí.
Èý.½á¹¹Í¼
´«Í³µÄ½á¹¹Í¼ÈçÏÂ:
java¶¯Ì¬´úÀí½á¹¹Í¼ÈçÏÂ:
ËÄ.ʵÏÖ:
public interface Person {
public void ownSex();
public String isBoolean(String str);
}
public class SpringBrother implements Person {
public void ownSex() {
System.out.println("Female!");
}
public String isBoolean(String str) {
return "yes!";
}
}
public class MyInvocationHandler implements InvocationHandler {
private Object proxied = null; //±»´úÀíµÄ¶ÔÏó.
public MyInvocationHandler(Object proxied){
this.proxied = proxied;
}
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
System.out.println("---------- proxy: ----------\n" + proxy.getClass()
+ "\nmethod: " + method + "\nargs: " + args);
Object oo = method.invoke(proxied, args);// ·ÃÎʵײ㷽·¨,ÕâÀïÊÇmain·½·¨ÖеÄownSex»òÕßisBoolean,·µ»Ø·µ»ØÖµ
if(args!=null && args.length!=0){
for(Object o : args){
System.out.println(o);
}
}
if(!(oo==null)){
System.out.println(oo);
}
return null;
}
public static void main(String[] args) {
Person person = (Person)Proxy.newProxyInstance(MyInvocationHandler.class.getClassLoader(),
new Class[]{Person.class}, new MyInvocationHandler(new SpringBrother()));
person.ownSex();
person.isBoolean("is Female!
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
Map map = new HashMap();
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
......
¸÷Èí¼þʹÓð汾
£º
Tomcat
°æ±¾£º
apache-tomcat-5.5.17
Jdk
°æ±¾£º
jdk1.6.0_11
Mysql
°æ±¾£º
mysql-5.0.77-win32
1.
jdk
°²×°
н¨ÏµÍ³±äÁ¿
JAVA_HOME
£º
C:\Program Files\Java\jdk1.6.0_11
×¢Ò⣺½¨¹ýÖ®ºó¿ÉÒÔÊÔһϣ¬·ñÔ ......
Òþ²Ø´°ÌåÄÚµÄÊó±êÖ¸Õ룬ֱ½ÓÉÏ´úÂë
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.image.MemoryImageSource;
import javax.swing.JFrame;
public class HideCursor extends JFrame {
HideCursor() {
this.setBounds(300, 300, 300, 300);
&nb ......