java ¶¯Ì¬´úÀí
1¡¢Ê×ÏȱØÐëÓиö½Ó¿Ú
package reflection;
public interface HelloWorld {
void sayHelloWorld();
void testHello(String hello);
}
2¡¢½Ó¿ÚµÄʵÏÖÀà
package reflection;
public class HelloWorldImpl implements HelloWorld {
public void sayHelloWorld() {
System.out.println("Hello World!");
}
public void testHello(String hello) {
System.out.println(hello);
}
}
3¡¢ÊµÏÖ¶¯Ì¬´úÀíÀ࣬´ËÀà±ØÐëʵÏÖ½Ó¿ÚInvocationHandler£¬ÊµÏÖÏ´½Ó¿ÚµÄ·½·¨
invoke(Object proxy, Method method, Object[] args)
ÔÚʵ¼ÊʹÓÃʱ£¬µÚÒ»¸ö²ÎÊýobjÒ»°ãÊÇÖ¸´úÀíÀ࣬methodÊDZ»´úÀíµÄ·½·¨£¬argsΪ¸Ã·½·¨µÄ²ÎÊýÊý×é¡£
package reflection;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class HelloWorldHandler implements InvocationHandler {
// Òª´úÀíµÄÔʼ¶ÔÏó
private Object objOriginal;
/**
* ¹¹Ô캯Êý¡£
* @param obj Òª´úÀíµÄÔʼ¶ÔÏó¡£
*/
public HelloWorldHandler(Object obj) {
this.objOriginal = obj;
}
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object result;
// ·½·¨µ÷ÓÃ֮ǰ
doBefore();
// µ÷ÓÃÔʼ¶ÔÏóµÄ·½·¨
result = method.invoke(this.objOriginal, args);
// ·½·¨µ÷ÓÃÖ®ºó
doAfter();
return result;
}
private void doBefore() {
System.out.println("before method invoke!");
}
private void doAfter() {
System.out.println("after method invoke!");
}
}
Proxy£º¸ÃÀ༴Ϊ¶¯Ì¬´úÀíÀ࣬×÷ÓÃÀàʵÏÖÁËInvocationHandler½Ó¿ÚµÄ´úÀíÀ࣬ÆäÖÐÖ÷Òª°üº¬ÒÔϺ¯Êý¡£
protected Proxy(InvocationHandler h)£º¹¹Ô캯Êý£¬ÓÃÓÚ¸øÄÚ²¿µÄh¸³Öµ¡£
static Class getProxyClass (ClassLoader loader, Class[] interfaces)£º»ñµÃÒ»¸ö´úÀíÀ࣬ÆäÖÐloaderÊÇÀà×°ÔØÆ÷£¬interfacesÊÇÕæÊµÀàËùÓµÓеÄÈ«²¿½Ó¿ÚµÄÊý×é¡£
static Object newProxyInstance(
Ïà¹ØÎĵµ£º
ÓÉÓÚ´ó¼Ò¶ÔpackageµÄʹÓôæÔÚÌ«¶àÀ§»ó£¬ÎÒÔÚÕâÀォ×Ô¼º¶ÔÓÚpackageµÄʹÓõÄÁìÎò½øÐÐÒ»µã×ܽ᣺
¡¡¡¡packageÖÐËù´æ·ÅµÄÎļþ
¡¡¡¡ËùÓÐÎļþ£¬²»¹ýÒ»°ã·ÖһϾͷÖÕâÈýÖÖ
¡¡¡¡1£¬java³ÌÐòÔ´Îļþ£¬À©Õ¹ÃûΪ.java¡£
¡¡¡¡2£¬±àÒëºÃµÄjavaÀàÎļþ£¬À©Õ¹ÃûΪ.class¡£
¡¡¡¡3£¬ÆäËûÎļþ£¬ÆäËûÈκÎÎļþ,Ò²³ÆÎªresource
¡¡¡¡ÀýÈçͼƬ ......
Listener ÊÇServletµÄ¼àÌýÆ÷£¬Ëü¿ÉÒÔ¼àÌý¿Í»§¶ËµÄÇëÇó¡¢·þÎñ¶ËµÄ²Ù×÷µÈ¡£Í¨¹ý¼àÌýÆ÷£¬¿ÉÒÔ×Ô¶¯¼¤·¢Ò»Ð©²Ù×÷£¬±ÈÈç¼àÌýÔÚÏßµÄÓû§µÄÊýÁ¿¡£µ±Ôö¼ÓÒ»¸ö HttpSessionʱ£¬¾Í¼¤·¢sessionCreated(HttpSessionEvent se)·½·¨£¬ÕâÑù¾Í¿ÉÒÔ¸øÔÚÏßÈËÊý¼Ó1¡£³£ÓõļàÌý½Ó¿ÚÓÐÒÔϼ¸¸ö£º
# ServletContextAttributeListener¼àÌý¶ÔServle ......
http://www.cncn6.com/tongyong/2009/2428.html
JavaÊÇÓÉSun΢ϵͳ¹«Ë¾Ëù·¢Õ¹³öÀ´µÄ³ÌÐòÓïÑÔ£¬Ëü±¾ÉíÊÇÒ»ÖÖ¶ÔÏóµ¼ÏòµÄ³ÌÐòÓïÑÔ¡£JAVAĿǰÔÚÊÖ»úÉÏÓ¦ÓÃ×î¶àµÄ¾ÍÊÇJAVAÓÎÏ·ºÍÊÖ»úÓ¦ÓóÌÐò¡£JavaÒ²ºÅ³ÆÄÜ¿çÆ½Ì¨Ê¹ÓõÄÓïÑÔ£¬ÕâÖ÷ÒªÒòΪJava±¾Éí±»±àÒëºó£¬²¢²»Ö±½Ó²úÉú¿ÉÖ´ÐеÄÂ룬¶øÊDzúÉúÒ»ÖÖÖмäÂë½Ð×÷ByteCode£¬ÕâÖÖÂë±ØÐèÔ ......
½ñÌìдÁËÒ»¸ö¶¨Ê±É¾³ýÎļþµÄС³ÌÐò£¬ÓÃexe4j½«Æäת»»³Éexe¸ñʽµÄ¿ÉÖ´ÐÐÎļþ¡£
package egtl.test;
import java.io.File;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class FileDeleter extends TimerTask {
private stati ......
JAVAÄÚ²¿Åàѵ×ÊÁÏ
Ò»¡¢JAVA»ù´¡ÅàѵϵÁÐ
1.ËïöÎJAVA¸ß¼¶Èí¼þ¹¤³Ìʦ°àÅàѵ¼Ïñ£¨2DVD£©
¼ò½é£º¹âÅÌÓÉËïöÎÀÏʦÇ××ÔÊÚ¿ÎÂ¼ÖÆ¡£ÑÐò½¥½ø¡¢Í¨Ë×Ò×¶®¡¢ÊµÕ½ÐÔÇ¿¡¢ÄÚÈÝÈ«Ãæ¡¢½²½âÉî¿Ì¡¢ÎÊ´ðÐÎʽÊDZ¾Ì×Åàѵ¼ÏñµÄÌØÉ«¡£Ñ§Ô±Í¨¹ý±¾Ì×¹âÅ̵Äѧϰ£¬Äܹ»¿ì
ËÙÕÆÎÕJava±à³ÌÓïÑÔ£¬³ÉΪJava¸ßÊÖ¡£
2.´«ÖDz¥¿Í ......