JAVAÏß³ÌÖеÄÊØ»¤Ị̈߳¨Daemon£©
ÊØ»¤Ị̈߳¨Daemon£©
JavaÓÐÁ½ÖÖThread£º“ÊØ»¤Ïß³ÌDaemon”Óë“Óû§Ïß³ÌUser”¡£
ÎÒÃÇ֮ǰ¿´µ½µÄÀý×Ó¶¼ÊÇÓû§£¬ÊØ»¤Ïß³ÌÊÇÒ»ÖÖ“ÔÚºǫ́ÌṩͨÓÃÐÔÖ§³Ö”µÄỊ̈߳¬Ëü²¢²»ÊôÓÚ³ÌÐò±¾Ìå¡£
´Ó×ÖÃæÉÏÎÒÃǺÜÈÝÒ×½«ÊØ»¤Ïß³ÌÀí½â³ÉÊÇÓÉÐéÄâ»ú£¨virtual machine£©ÔÚÄÚ²¿´´½¨µÄ£¬¶øÓû§Ïß³ÌÔòÊÇ×Ô¼ºËù´´½¨µÄ¡£ÊÂʵ²¢²»ÊÇÕâÑù£¬ÈκÎÏ̶߳¼¿ÉÒÔÊÇ“ÊØ»¤Ïß³ÌDaemon”»ò“Óû§Ïß³ÌUser”¡£ËûÃÇÔÚ¼¸ºõÿ¸ö·½Ãæ¶¼ÊÇÏàͬµÄ£¬Î¨Ò»µÄÇø±ðÊÇÅжÏÐéÄâ»úºÎʱÀ뿪£º
Óû§Ị̈߳ºJavaÐéÄâ»úÔÚËüËùÓзÇÊØ»¤Ïß³ÌÒѾÀ뿪ºó×Ô¶¯À뿪¡£
ÊØ»¤Ị̈߳ºÊØ»¤Ïß³ÌÔòÊÇÓÃÀ´·þÎñÓû§Ï̵߳ģ¬Èç¹ûûÓÐÆäËûÓû§Ïß³ÌÔÚÔËÐУ¬ÄÇô¾ÍûÓпɷþÎñ¶ÔÏó£¬Ò²¾ÍûÓÐÀíÓɼÌÐøÏÂÈ¥¡£
setDaemon(boolean on)·½·¨¿ÉÒÔ·½±ãµÄÉèÖÃÏ̵߳ÄDaemonģʽ£¬trueΪDaemonģʽ£¬falseΪUserģʽ¡£setDaemon(boolean on)·½·¨±ØÐëÔÚÏß³ÌÆô¶¯Ö®Ç°µ÷Ó㬵±Ïß³ÌÕýÔÚÔËÐÐʱµ÷Óûá²úÉúÒì³£¡£isDaemon·½·¨½«²âÊÔ¸ÃÏß³ÌÊÇ·ñÎªÊØ»¤Ï̡߳£ÖµµÃÒ»ÌáµÄÊÇ£¬µ±ÄãÔÚÒ»¸öÊØ»¤Ïß³ÌÖвúÉúÁËÆäËûỊ̈߳¬ÄÇôÕâЩвúÉúµÄÏ̲߳»ÓÃÉèÖÃDaemonÊôÐÔ£¬¶¼½«ÊÇÊØ»¤Ị̈߳¬Óû§Ïß³ÌͬÑù¡£
import java.io.IOException;
public class TestDaemonThread {
public static void main(String[] args) {
DaemonThread daemonThread = new DaemonThread();
// ÉèÖÃÎªÊØ»¤Ïß³Ì
daemonThread.setDaemon(true);
daemonThread.start();
System.out.println("isDaemon = " + daemonThread.isDaemon());
try {
// ½ÓÊÜÊäÈ룬ʹ³ÌÐòÔÚ´ËÍ£¶Ù£¬Ò»µ©½ÓÊÕµ½Óû§ÊäÈ룬mainÏ߳̽áÊø£¬ÊØ»¤Ïß³Ì×Ô¶¯½áÊø
System.in.read();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
class DaemonThread extends Thread {
public DaemonThread() {}
/**
* Ï̵߳Ärun·½·¨£¬Ëü½«ºÍÆäËûÏß³ÌͬʱÔËÐÐ
*/
public void run() {
while (true) {
for (int i = 1; i <= 100; i++) {
this.setSleep(200);
System.out.println(i);
}
this.setSleep(2000);
}
}
public void setSleep(long time
Ïà¹ØÎĵµ£º
¾³£Óõ½µç¿ÏÂÔØ×ÊÁÏ,һЩhttpÄã¸ù±¾ÕÒ²»µ½µÄ×ÊÔ´,µ±È»ËÙ¶ÈÊDz»Äܹ§Î¬ÁË,¿×Óô,¸ÉµÄ¾ÍÊÇÂý»î,ÈÈÃÅ×ÊÔ´³ýÍâ…
ÎÒÓõÄverycd°æµÄµç¿,Ô°æµç¿µÄÒ»ÖÖmods,µçÂ¿Ã²ËÆÓÐN¶à°æ±¾,²»¹ýÎÒ¾õµÃverycdµÄ¾Í¹»ÓÃÁË,±Ï¾¹¹úÄڰ˳ɵÄÈ˶¼ÔÚÓÃ.
×î½üÔÚÏÂж«·½µÄиÅÄîÓ¢Óï½Ì³Ì,½ø¶È87%,ÑÛ¿´ÒªÏÂÍêÁË,µÈÒªµÈ1¸ö¶àСʱ,ÏÂÔØÍê³ÉÓ ......
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ – ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í.
4.[http:/ ......
ʲôÊÇÐòÁл¯
javaÖеÄÐòÁл¯(serialization)»úÖÆÄܹ»½«Ò»¸öʵÀý¶ÔÏóµÄ״̬ÐÅϢдÈëµ½Ò»¸ö×Ö½ÚÁ÷ÖУ¬Ê¹Æä¿ÉÒÔͨ¹ýsocket½øÐд«Êä¡¢»òÕ߳־û¯´æ´¢µ½Êý¾Ý¿â»òÎļþϵͳÖУ»È»ºóÔÚÐèÒªµÄʱºò£¬¿ÉÒÔ¸ù¾Ý×Ö½ÚÁ÷ÖеÄÐÅÏ¢À´Öع¹Ò»¸öÏàͬµÄ¶ÔÏó¡£ÐòÁл¯»úÖÆÔÚjavaÖÐÓÐ׏㷺µÄÓ¦Óã¬EJB¡¢RMIµÈ¼¼Êõ¶¼ÊÇÒÔ´ËΪ»ù´¡µÄ¡£  ......
×é¼þ
¹¦ÄÜ
Com.guipei.listener. SessionListener
¼àÌý×é¼þ£¬Íê³ÉHttpSessionContextµÄ¹¦ÄÜ
index.jsp
ʵÏÖÓû§µÇ½£¬´´½¨ÐµÄsession
logout.jsp
ʵÏÖÓû§Í˳ö£¬Óû§×Ô¶¯É¾³ýsession
display.jsp
ÏÔʾÓû§µÇ½ÐÅÏ¢£¬ÔÚÓû§µÇ½ºó×Ô¶¯×ªÈë
session.jsp
Áгöµ±Ç°ËùÓеÄsession
kill.jsp
ɱµôÖ¸¶¨µÄ»á»° ......
ºÜÔç֮ǰд¹ýÀûÓ÷ºÐͺͷ´Éä»úÖÆ³éÏóDAO £¬¶ÔÆäÖлñÈ¡×ÓÀà·ºÐ͵ÄclassÒ»Ö±²»ÊǺÜÀí½â¡£¹Ø¼üµÄµØ·½ÊÇHibernateBaseDaoµÄ¹¹Ôì·½·¨ÖеÄ
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class)params[0] ......