Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java СÀý×Ó£ºÏß³Ìͬ²½Àý×Ó£ºÈý¸öѧÉúȡˮ

Èý¸öѧÉúµ½Ò»¸öË®ÁúÍ·ÏÂÅŶÓȡˮ£¬ÈýÈ˶¼È¡ÍêË®ºóÒ»ÆðÀ뿪¡£
ÕâÀïÉæ¼°µ½ÈçºÎÅжÏÈý¸öÈ˶¼È¡ÍêË®¡£Èç¹ûÓÃÆÕͨµÄ¾²Ì¬³ÉÔ±£¬ÊƱػáÒªÓÃÎÞÏÞÑ­»·À´µÈ´ý¡£¸üºÃµÄ°ì·¨ÊÇÓà wait-notify »úÖÆ¡£Ç°Á½¸öѧÉúÈ¡ÍêË®ºó¶¼ wait£¬×îºóÒ»¸öѧÉúÈ¡ÍêË®ºó notify£¬ÕâÑù¾ÍÄÜÒ»ÆðÀ뿪ÁË¡£ÏÂÃæÊÇ´úÂëʾÀý£º
/**
* Èý¸öѧÉúÅŶÓȡˮ£¬È¡ÍêºóÒ»ÆðÀ뿪
*
* @author yiding.he
*/
public class SyncDemo_FetchingWater {

private static final ValueLock water = new ValueLock();

public static void main(String[] args) {
String[] student_names = {"¼×", "ÒÒ", "±û"};

for (String student_name : student_names) {
new Student(student_name).start();
}
}

// ѧÉú
private static class Student extends Thread {

private String name;

private Student(String name) {
this.name = name;
}

@Override
public void run() {
try {
synchronized (water) {
Thread.sleep(1000);

System.out.println("ѧÉú" + name + "È¡ÍêÁËË®¡£");
water.value++;

if (water.value == 3) {
System.out.println("Èý¸öÈ˶¼È¡ÍêÁËË®¡£");
water.notifyAll(); // Ö»ÒªÖ´ÐÐÁËÕâ¸ö£¬Ñ§ÉúÃǶ¼»áÀ뿪¡£
} else {
water.wait(); // ͬʱÊÍ·ÅÁËËø£¬ÏÂÒ»¸öÏ߳̽øÈë
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("ѧÉú" + name + "À뿪ÁË¡£");
}
}

// ´øÖµµÄËø
private static class ValueLock {

public int value;
}
}
¸Ðл bendanlzh µÄÖ¸µã£¡


Ïà¹ØÎĵµ£º

Java NIO APIÏê½â

 
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......

JAVA Ìåϵ¼°Æä±à³ÌµÄ¹ý³Ì

 JAVA Ìåϵ¼°Æä±à³ÌµÄ¹ý³Ì
  °¥£¬±ÏÒµÁËÒ²Ò»¶Îʱ¼äÁË£¬Ö»ÖªµÀÌìÌì³­´úÂ룬 JAVA µÄ»ù´¡ÖªÊ¶»ù±¾ÊÇÍüµôÁË£¬¼ÓÉÏÒÔǰһֱûÓÐϵͳµØÑ§Ï°¹ý£¬¸Ð¾õ¿ìÒª·ÏÁË¡£»¹ÊǺúþ²ÏÂÐÄÀ´Ñ§Ñ§»ù´¡°É¡£²»ÄÜÌìÌ쿼³­´úÂë¹ýÈÕ×Ó°¡¡£¡£¡£¡££¨ÏÂÎÄ´ó¶àÀ´×Կα¾ÒÔ¼°Ò»Ð©¼¼ÊõÊÓÆµÉϵÄÄÚÈÝ£¬»ù±¾Àí½âÁËһЩÁË£¬Ê£ÏµÄÓÉÒÔºóµÄѧϰÂýÂýÔ ......

JAVAÖеÄSingletonģʽ

µ¥Àýģʽ£¬¹ËÃû˼Ò壬ֻÄÜÓÐÒ»¸öʵÀý¡£
Ò».´Ó¶àḬ̈߳²È«ËµÆð£¬ÈçÏÂͼ´úÂ룬´ËÎÊÌâ¿ÉÒÔÓÃsynchronized¹Ø¼ü×ÖÀ´½â¾ö¡£¸Ã·½·¨È±µã£ºÃ¿Ò»¸öÏß³ÌÔÚ»ñȡʵÀý¶ÔÏó֮ǰ¶¼ÒªÔÚsynchronizedÉÏͬ²½µÄ¶ÔÏóÉϽøÐеȴý£¬Òò´ËЧÂʲ»¸ß¡£
¶þ.Double Check·½·¨£¬¼ûÏÂͼ´úÂë¡£Double CheckµÄ³õÖÔÊÇÖ»Óе±instanceΪNULLʱִÐеÄÏ̲߳ÅÐèÒªÔÚ ......

ÔÚJAVAÖÐʹÓÃÍÏ×§¹¦ÄÜ

 ÔÚJAVAÖÐʹÓÃÍÏ×§¹¦ÄÜ
sunÔÚjava2ÖÐÒýÈëÁËһЩÐµķ½·¨À´°ïÖúʵÏÖÍÏ×§¹¦ÄÜ£¬ÕâЩеÄÀàÔÚjava.awt.dnd°üÖÐ
ʵÏÖÒ»¸öD&D²Ù×÷Ò»°ã°üÀ¨Èý¸ö²½Öè:
 Ê×ÏÈʵÏÖÒ»¸öÍÏ×§Ô´£¬Õâ¸öÍÏ×§Ô´ºÍÏàÓ¦µÄ×é¼þÊǹØÁªÆðÀ´µÄ
 µÚ¶þ²½ÊµÏÖÒ»¸öÍÏ×§Ä¿±ê£¬Õâ¸öÄ¿±êÓÃÀ´ÊµÏÖÍÏ×§ÎïµÄ½ÓÊÕ
 µÚÈý²½ÊµÏÖÒ»¸öÊý¾Ý´«Êä¶ÔÏó ......

JAVAÏ̳߳Ø

 £¨1£©¸ù¾ÝxmlÎļþÀ´¹ÜÀíÏ̳߳صÄ×î´ó×îСÏß³ÌÊý
¡¡¡¡£¨2£©¶ÔÏ̳߳ØÍ¨¹ýTimer¶¨ÆÚɨÃèÒÔ·ÀÖ¹Ïß³Ìδ¼¤»î£»
¡¡¡¡£¨3£©Í¨¹ýijһ¸ö±äÁ¿£¨±¾³ÌÐòÖÐÊÇfreeThreadCount£©À´µÃµ½¿ÕÏÐÏ̵߳ÄÊýÄ¿£»
¡¡¡¡Ò»¡¢ÅäÖÃxml£¨listen.xml£©ÊÇ£º
¡¡¡¡<?xml version="1.0" encoding="UTF-8"?>
¡¡¡¡ <config>
¡¡¡¡ <Con ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ