JavaỊ̈߳ºÏ̵߳ĵ÷¶È ÊØ»¤Ïß³Ì
ÊØ»¤Ïß³ÌÓëÆÕͨÏß³Ìд·¨ÉÏ»ù±¾Ã´É¶Çø±ð£¬µ÷ÓÃÏ̶߳ÔÏóµÄ·½·¨setDaemon(true)£¬Ôò¿ÉÒÔ½«ÆäÉèÖÃÎªÊØ»¤Ï̡߳£
´Ë·½·¨µÄÏêϸ˵Ã÷£º
public final void setDaemon(boolean on)½«¸ÃÏ̱߳ê¼ÇÎªÊØ»¤Ï̻߳òÓû§Ï̡߳£µ±ÕýÔÚÔËÐеÄÏ̶߳¼ÊÇÊØ»¤Ïß³Ìʱ£¬Java ÐéÄâ»úÍ˳ö¡£
¸Ã·½·¨±ØÐëÔÚÆô¶¯Ïß³Ìǰµ÷Óá£
¸Ã·½·¨Ê×Ïȵ÷ÓøÃÏß³ÌµÄ checkAccess ·½·¨£¬ÇÒ²»´øÈκβÎÊý¡£Õâ¿ÉÄÜÅ׳ö SecurityException£¨ÔÚµ±Ç°Ïß³ÌÖУ©¡£
²ÎÊý£º
on - Èç¹ûΪ true£¬Ôò½«¸ÃÏ̱߳ê¼ÇÎªÊØ»¤Ï̡߳£
Å׳ö£º
IllegalThreadStateException - Èç¹û¸ÃÏ̴߳¦Óڻ״̬¡£
SecurityException - Èç¹ûµ±Ç°Ïß³ÌÎÞ·¨Ð޸ĸÃÏ̡߳£
ÁíÇë²Î¼û£º
isDaemon(), checkAccess()
/**
* JavaỊ̈߳ºÏ̵߳ĵ÷¶È-ÊØ»¤Ïß³Ì
*
* @author leizhimin 2009-11-4 9:02:40
*/
public class Test {
public static void main(String[] args) {
Thread t1 = new MyCommon();
Thread t2 = new Thread(new MyDaemon());
t2.setDaemon(true); //ÉèÖÃÎªÊØ»¤Ïß³Ì
t2.start();
t1.start();
}
}
class MyCommon extends Thread {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("Ïß³Ì1µÚ" + i + "´ÎÖ´ÐУ¡");
try {
Thread.sleep(7);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class MyDaemon implements Runnable {
public void run() {
for (long i = 0; i < 99
Ïà¹ØÎĵµ£º
JVM±¾ÉíÌṩÁËÒ»×é¹ÜÀíµÄAPI£¬Í¨¹ý¸ÃAPI£¬ÎÒÃÇ¿ÉÒÔ»ñÈ¡µÃµ½JVMÄÚ²¿Ö÷ÒªÔËÐÐÐÅÏ¢£¬°üÀ¨ÄÚ´æ¸÷´úµÄÊý¾Ý¡¢JVMµ±Ç°ËùÓÐÏ̼߳°ÆäÕ»Ïà¹ØÐÅÏ¢µÈ
µÈ¡£¸÷ÖÖJDK×Ô´øµÄÆÊÎö¹¤¾ß£¬°üÀ¨jps¡¢jstack¡¢jinfo¡¢jstat¡¢jmap¡¢jconsoleµÈ£¬¶¼ÊÇ»ùÓÚ´ËAPI¿ª·¢µÄ¡£±¾Æª¶ÔÕⲿ
·ÖÄÚÈݽøÐÐÒ»¸öÏêϸµÄ˵ ......
Ò»£® Incident
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
......
1.1 °²×°JDK
1.1.1 ÏÂÔØJDK
´ò¿ªhttp://java.sun.com/ÍøÕ¾£¬ÔÚĿ¼ÀïÃæÑ¡ÔñDownload£¬ÔÚÏÂÀ²Ëµ¥ÖÐÑ¡ÔñJava SE
½øÈëÏÂÒ»¸öÒ³Ãæ£¬ÒªÑ¡ÔñÏÂÔØJDK£¬¶ø²»ÒªÏÂÔØJRE£º
½ÓÏÂÀ´ÊÇÑ¡ÔñÔËÐÐµÄÆ½Ì¨£¬ÕâÀﵱȻÊÇÑ¡ÔñlinuxÁË£º
Ñ¡ÔñºÃƽ̨ºó£¬µã»÷continue:
ÕâÀï¿ÉÒÔÖ±½Óµ ......
¶¹¶¹Íø ¼¼ÊõÓ¦ÓÃÆµµÀ 2009Äê06ÔÂ10ÈÕ ¡¾×ֺţºÐ¡ÖÐ´ó¡¿ Êղر¾ÎÄ
JProfiler memcached JavaCC EclEmma Jester Java¼ÓÃܼ¼Êõ£¨Æß£©¡£
¡¡¡¡ECC
¡¡¡¡ECC-Elliptic Curves Cryptography£¬ÍÖÔ²ÇúÏßÃÜÂë±àÂëѧ£¬ÊÇĿǰÒÑÖªµÄ¹«Ô¿ÌåÖÆÖУ¬¶Ôÿ±ÈÌØËùÌṩ¼ÓÃÜÇ¿¶È×î¸ßµÄÒ»ÖÖÌåÖÆ¡£ÔÚÈí¼þ×¢²á ......