Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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Ị̈߳ºÏß³ÌջģÐÍÓëÏ̵߳ıäÁ¿

 
SCJP5ѧϰ±Ê¼Ç
 
ÒªÀí½âÏ̵߳÷¶ÈµÄÔ­Àí£¬ÒÔ¼°Ïß³ÌÖ´Ðйý³Ì£¬±ØÐëÀí½âÏß³ÌջģÐÍ¡£
Ïß³ÌÕ»ÊÇָijʱ¿ÌʱÄÚ´æÖÐÏ̵߳÷¶ÈµÄÕ»ÐÅÏ¢£¬µ±Ç°µ÷Óõķ½·¨×ÜÊÇλÓÚÕ»¶¥¡£Ïß³ÌÕ»µÄÄÚÈÝÊÇËæ×ųÌÐòµÄÔËÐж¯Ì¬±ä»¯µÄ£¬Òò´ËÑо¿Ïß³ÌÕ»±ØÐëÑ¡ÔñÒ»¸öÔËÐеÄʱ¿Ì£¨Êµ¼ÊÉÏÖ¸´úÂëÔËÐе½Ê²Ã´µØ·½)¡£
 
ÏÂÃæÍ¨¹ýÒ»¸öʾÀýÐ﵀ ......

JAVA¸ß¼¶:¶àºËÏß³Ì volatileÔ­ÀíÓë¼¼ÇÉ

 
ΪʲôʹÓÃvolatile±Èͬ²½´ú¼Û¸üµÍ?
ͬ²½µÄ´ú¼Û, Ö÷ÒªÓɯ䏲¸Ç·¶Î§¾ö¶¨, Èç¹û¿ÉÒÔ½µµÍͬ²½µÄ¸²¸Ç·¶Î§, Ôò¿ÉÒÔ´ó·ùÌáÉý³ÌÐòÐÔÄÜ.
¶øvolatileµÄ¸²¸Ç·¶Î§½ö½ö±äÁ¿¼¶±ðµÄ. Òò´ËËüµÄͬ²½´ú¼ÛºÜµÍ.
volatileÔ­ÀíÊÇʲô?
volatileµÄÓïÒå, ÆäʵÊǸæËß´¦ÀíÆ÷, ²»Òª½«ÎÒ·ÅÈ빤×÷ÄÚ´æ, ÇëÖ±½ÓÔÚÖ÷´æ²Ù×÷ÎÒ.(¹¤×÷ÄÚ´æÏê¼ûj ......

JAVAÎļþ²Ù×÷FileÀàºÍFilenameFilterµÄʹÓÃ

FileÀà
´´½¨Ä¿Â¼£¬ÓÃmkdirºÍmkdirsµÄº¯Êý
public boolean mkdir():´´½¨´Ë³éÏó·¾¶ÃûÖ¸¶¨µÄĿ¼¡£
public boolean mkdirs():´´½¨´Ë³éÏó·¾¶ÃûÖ¸¶¨µÄĿ¼£¬°üÀ¨ËùÓбØÐ赫²»´æÔڵĸ¸Ä¿Â¼¡£×¢Ò⣬´Ë²Ù×÷ʧ°ÜʱҲ¿ÉÄÜÒѾ­³É¹¦µØ´´½¨ÁËÒ»²¿·Ö±ØÐèµÄ¸¸Ä¿Â¼¡£
mkdirÀý×Ó£º
 File dir = new File("E:/mydir/");
if(!di ......

JAVAѧϰ֮·

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

javaµ÷ÓÃnative2ascii.exe

 ±¾ÎÄÀ´×ÔCSDN²©¿Í£ºhttp://blog.csdn.net/xyk0830/archive/2007/11/06/1869638.aspx
ÃüÁîÐиñʽ£º
native2ascii.exe -[options] [inputfile [outputfile]]
ÆäÖУº
¡¡¡¡-[options]±íʾÃüÁ¹Ø£¬ÓÐÁ½¸öÑ¡Ïî¿É¹©Ñ¡Ôñ£º
¡¡¡¡¡¡¡¡-reverse£ºÓÃLatin-1»òUnicode±àÂë°ÑÎļþת»»³É±¾µØ±àÂë¸ñʽ
¡¡¡¡¡¡¡¡-encoding ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ