JAVA ¶àÏß³Ì(¶ÁÊé±Ê¼Ç)
Ŀ¼
Éú³ÉÏ̵߳ÄÁ½ÖÖ·½·¨
Ï̵߳ÄÖжÏ
Ïß³Ì״̬
Ïß³ÌÊôÐÔ
ͬ²½
×èÈû¶ÓÁÐ
Ḭ̈߳²È«¼¯ºÏ
callable,Future
Ö´ÐÐÆ÷
ͬ²½Æ÷
Ï̺߳ÍSwing
Éú³ÉÏ̵߳ÄÁ½ÖÖ·½·¨
ʵÏÖRunnable,²¢×÷Ϊ²ÎÊý´«¸øThread
public class ThreadGenerieren {
public static void main(String[] args) {
RunnableExsample r = new RunnableExsample();
Thread t = new Thread(r);
t.start();
}
}
class RunnableExsample implements Runnable {
public void run() {
// code
}
}
ÖØÐ´TreadµÄrun·½·¨
public class ThreadGenerieren {
public static void main(String[] args) {
ThreadExsample t = new ThreadExsample();
t.start();
}
}
class ThreadExsample extends Thread {
public void run() {
// code...
}
}
ÖжÏÏß³Ì
Ç¿ÖÆÖÕÖ¹Ï̵߳Ästop·½·¨ÒѾ±»ÆúÓ㬵«»¹¿ÉÒÔÓÃinterrupt·½·¨À´ÇëÇóÖÕÖ¹Ï̡߳£
Èç¹ûÒ»¸öÏ̱߳»×èÈûÁË£¬ÄǾÍÎÞ·¨¼ì²éÖжÏ״̬ÁË£¬Èç¹ûÔÚ×èÈûµÄÏß³ÌÉϵ÷ÓÃinterrupt£¬ÄÇô¾Í»á²úÉúInterruptedExceptionÒì³££¬×èÈûµ÷ÓÃ(Èçsleep»òwait)¾Í»á±»Õâ¸öÒì³£ËùÖÕÖ¹¡£
Èç¹ûÏ̵߳ÄÖжÏ״̬±»ÖÃλºóµ÷ÓÃsleep£¬ÄÇôsleepÅ׳öÒ»¸öInterruptedException,ͬʱÇå³ýÖжÏ״̬¡£
interrupted,islnterruptedÇø±ð¡£
Ïß³Ì״̬
4¸ö״̬:ÐÂÉú£¬¿ÉÔËÐУ¬±»×èÈû£¬ËÀÍö(new,runnable,blocked,dead)
Ïß³ÌÊôÐÔ
ÉèÖÃÏß³ÌÊôÐÔsetPriority(int newPriority),ĬÈÏÓÅÏȼ¶Îª5
µ÷ÓÃt.setDaemon(true)ÉèÖÃÒ»¸öÏß³ÌÎªÊØ»¤Ị̈߳¬Î¨Ò»×÷ÓÃΪÆäËûÏÖ³ÉÌṩ·þÎñ£¬±ÈÈç¼ÆÊ±Æ÷Ị̈߳¬¶¨Ê±·¢³ö"ʱ¼äµÎ´ð"ÐźŸøÆäËûÏ̡߳£
Ïß³Ì×é¸ÅÄî TreadGroup g = new ThreadGroup(groupName); Thread t= new Thread(g, threadName);
Ï̵߳Ärun·½·¨²»Å׳öÒ쳣ҲûÓÐcatchÓï¾ä²¶×½Òì³££¬µ«ÊÇûÓмì²éµÄÒì³£¿ÉÒÔµ¼ÖÂÏß³ÌËÀÍö£¬Õâ¸öÒì³£×îºó±»´«µÝ¸øÎ´²¶×½Òì³£´¦ÀíÆ÷´¦Àí¡£´¦ÀíÆ÷ʵÏÖÁ˽ӿÚThread.UncaughtExceptionHandler¡£ setUncaughtExceptionHandler¿ÉÒÔΪÿ¸öḬ̈߳²×°´¦ÀíÆ÷£¬Èç¹ûûÓа²×°ÄÇĬÈÏ´¦ÀíÆ÷½«ÊÇnull£¬ÕâÑùµÄ»°´¦ÀíÆ÷¾ÍÊÇÏ̵߳ÄthreadGroup¶ÔÏó£¬ÒòΪthreadGroup¶ÔÏóʵÏÖÁË´¦ÀíÆ÷½Ó¿Ú£¬ËüµÄuncaughtException·½·¨ÈçϲÙ×÷:
Èç¹ûÏß³ÌÓи¸Ïß³Ì×飬Ôòµ÷Óø¸Ïß³Ì×éµÄuncaughtException·½·¨
·ñÔò£¬Èç¹ûthread.getDefualtExceptionHandler·½·¨·µ»Ø·Ç¿Õ´¦ÀíÆ÷£¬Ôòµ÷Óøô
Ïà¹ØÎĵµ£º
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºËÐÄÀà¿â(collections£¬serialization£¬streams£¬networking£¬ multithreading ......
Õâ¸öÔÔòºÜ¼òµ¥£¬¾ÍÊÇʹÓÃ˽Óй¹Ô캯Êý·ÀÖ¹À౻ʵÀý»¯¡£ ÓÐʱ£¬ÎÒÃÇ»áдһЩ¹¤¾ßÀ࣬Èçjava.lang.Math »òÊÇ java.util.Arrays, ÕâЩÀàÖж¼ÊǾ²Ì¬º¯Êý£¬ÔÚÉè¼ÆµÄʱºò£¬ÕâЩÀಢ²»ÊÇÓÃÀ´±»ÊµÀý»¯µÄ¡£Õâ¸öʱºò£¬¾ÍºÜÓбØÒª°Ñ¹¹Ô캯Êý˽Óл¯¡£ public class UtilityClass {
private UtilityClass() {
throw ne ......
ÉùÃ÷£ºJavaEyeÐÂÎÅÎÄÕµİæÈ¨ÊôÓÚJavaEyeÍøÕ¾ËùÓУ¬ÑϽûÈκÎÍøÕ¾×ªÔØ±¾ÎÄ£¬·ñÔò±Ø½«×·¾¿·¨ÂÉÔðÈΣ¡
ÍÆ¼öÊ®¸ö×îºÃµÄJavaÐÔÄܹÊÕÏÅųý¹¤¾ß£º
1.jconsoleÊÇËæ×ÅJDK 1.5¶øÍƳöµÄ¡£ÕâÊÇÒ»¸öJava¼à²âºÍ¹ÜÀí¿ØÖÆÌ¨-JMX¼æÈݵÄͼÐι¤¾ßÀ´¼à²âJavaÐéÄâ»ú¡£ËüÄܹ»Í¬Ê±¼à²â±¾µØºÍÔ¶³ÌµÄJVMs¡£ÏêÇé¿É²é¿´£ºjconsole¹¤¾ß½ ......
TCPͨ¹ý ServerSocket ºÍ Socket À´ÊµÏÖ´«Êä
UDPÖ÷Ҫͨ¹ý DatagramSocket ºÍ DatagramPacket À´Íê³É´«Êä
Ö±½ÓÉÏ´úÂë
·þÎñÆ÷¶Ë£º
public class UdpServer
{
private DatagramSocket server;
private DatagramPacket packet;
private byte[] b;
private String str;
public UdpServer()
{
Init();
} ......