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

javaÉú²úÕßÏû·ÑÕß

ÌâÄ¿£ºÇëÓöàÏß³ÌʵÏÖÒ»¸öÉú²úÕßÀàºÍÒ»¸öÏû·ÑÕßÀ࣬Éú²úÕßËæ»úÉú³É20¸ö×Ö·û£¬Ïû·ÑÕß½«×Ö·û´òÓ¡µ½¿ØÖÆÌ¨¡£
class SyncStack{ //ͬ²½¶ÑÕ»Àà
¡¡¡¡¡¡private int index = 0; //¶ÑÕ»Ö¸Õë³õʼֵΪ0
¡¡¡¡¡¡private char []buffer = new char[6]; //¶ÑÕ»ÓÐ6¸ö×Ö·ûµÄ¿Õ¼ä
¡¡¡¡¡¡public synchronized void push(char c){ //¼ÓÉÏ»¥³âËø
¡¡¡¡¡¡¡¡¡¡while(index = = buffer.length){ //¶ÑÕ»ÒÑÂú£¬²»ÄÜѹջ
¡¡¡¡¡¡¡¡¡¡try{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡this.wait(); //µÈ´ý£¬Ö±µ½ÓÐÊý¾Ý³öÕ»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡}catch(InterruptedException e){}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡this.notify(); //֪ͨÆäËüḬ̈߳ÑÊý¾Ý³öÕ»
¡¡¡¡¡¡buffer[index] = c; //Êý¾ÝÈëÕ»
¡¡¡¡¡¡index++; //Ö¸ÕëÏòÉÏÒÆ¶¯
¡¡¡¡¡¡}
¡¡¡¡¡¡public synchronized char pop(){ //¼ÓÉÏ»¥³âËø
¡¡¡¡¡¡¡¡¡¡¡¡¡¡while(index ==0){ //¶ÑÕ»ÎÞÊý¾Ý£¬²»ÄܳöÕ»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡try{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡this.wait(); //µÈ´ýÆäËüḬ̈߳ÑÊý¾ÝÈëÕ»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}catch(InterruptedException e){}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡this.notify(); //֪ͨÆäËüÏß³ÌÈëÕ»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡index- -; //Ö¸ÕëÏòÏÂÒÆ¶¯
¡¡¡¡¡¡¡¡¡¡¡¡¡¡return buffer[index]; //Êý¾Ý³öÕ»
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡class Producer implements Runnable{ //Éú²úÕßÀà
¡¡¡¡¡¡¡¡¡¡¡¡¡¡SyncStack theStack;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Éú²úÕßÀàÉú³ÉµÄ×Öĸ¶¼±£´æµ½Í¬²½¶ÑÕ»ÖÐ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡public Producer(SyncStack s){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡theStack = s;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡public void run(){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡char c;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for(int i=0; i<20; i++){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡c =(char)(Math.random()*26+'A');
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Ëæ»ú²úÉú20¸ö×Ö·û
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡theStack.push(c); //°Ñ×Ö·ûÈëÕ»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Produced: "+c); //´òÓ¡×Ö·û
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡try{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Thread.sleep((int)(Math.random()*1000));
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/*ÿ²úÉúÒ»¸ö×Ö·ûÏ߳̾Í˯Ãß*/
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}catch(InterruptedException e){}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡


Ïà¹ØÎĵµ£º

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Ị̈߳º´´½¨ÓëÆô¶¯

 
SCJP5ѧϰ±Ê¼Ç
 
Ò»¡¢¶¨ÒåÏß³Ì
 
1¡¢À©Õ¹java.lang.ThreadÀà¡£
 
´ËÀàÖÐÓиörun()·½·¨£¬Ó¦¸Ã×¢ÒâÆäÓ÷¨£º
public void run
()
Èç¹û¸ÃÏß³ÌÊÇʹÓöÀÁ¢µÄ Runnable
ÔËÐжÔÏó¹¹ÔìµÄ£¬Ôòµ÷Óøà Runnable
¶ÔÏóµÄ run
·½·¨£»·ñÔò£¬¸Ã·½·¨²»Ö´ÐÐÈκβÙ×÷²¢·µ»Ø¡£
 
Thread
µÄ×ÓÀàÓ¦ ......

javaѧϰ±Ê¼Çstruts action³õʼ»¯Ê±¼äºÍ´ÎÊý

´ó¼Ò¶¼ÖªµÀ actionÅäÖÃÔÚstruts-config.xmlÖУ¬¶østruts-config.xmlÊÇÔÚtomcatÆô¶¯Ê±¶ÁÈ¡µÄÄÇactionÊDz»ÊÇÔÚÕâ¸öʱºò³õʼ»¯µÄ
ÎÒÃÇ¿ÉÒÔÔÚactionÀàÀï½øÐвâÊÔ ÔÚ¹¹Ô캯ÊýÀï´òÓ¡Ò»¾ä»° ¾­²âÊÔactionÊÇÔÚµ÷ÓÃactionʱ³õʼ»¯£¬²¢ÇÒ¶à´Îµ÷ÓÃÖ»³õʼ»¯Ò»´Î£¬
ÕâÒ²¾ÍÊÇËùÓеÄÇëÇó¹²ÏíactionʵÀý
ËùÒÔactionÊÇÏ̲߳»°²È«µÄ£¬ ......

JAVAѧϰ֮·

 ¡¡ ¡¡¡¡
¡¡¡¡Èí¼þ¿ª·¢Ö®Â·ÊdzäÂú¾£¼¬ÓëÌôս֮·,Ò²ÊdzäÂúÏ£Íû֮·¡£JAVAѧϰҲÊÇÈç´Ë£¬Ã»Óнݾ¶¿É×ß¡£ÃÎÏëÏñ¡¶ÌìÁú°Ë²¿¡·ÖÐÐéÖñÒ»Ñù±»ÎÞÑÂ×Óõ®õ­¹à¶¥¶øÇáËÉ»ñµÃÒ»¼××Ó¹¦Á¦£¬ÊǺܲ»ÏÖʵµÄ¡£Ã¿ÌìÑöÌì´ó½Ð"ÌìÉñ°¡£¬Çë´Í¸øÎÒÒ»±¾¿û»¨±¦µä°É"£¬Êâ²»Öª¼´Ê¹Äã»ñµÃÁË¿û»¨±¦µä£¬³ýÁËÊÜ×Ô¹¬ÆäÉíÖ®¿àÍ⣬ÄãÒ²²»Ò»¶¨³ÉµÃÁË"¶«·½² ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ