Java Concurrent°üѧϰ֮BlockingQueue
BlockingQueueÊÇÒ»¸ö½Ó¿Ú£¬Ëü´ÓQueue¼Ì³Ð¶øÀ´£¬
°üº¬ÁËQueueµÄËùÓй¦ÄÜ£¬²¢ÔÚQueueµÄ»ù´¡ÉÏÌṩÁË2¸öÐµĹ¦ÄÜ£º
1. ¼ìË÷ÔªËØʱµÈ´ý¶ÓÁбäΪ·Ç¿Õ
2. ´æ´¢ÔªËØʱµÈ´ý¿Õ¼ä±äµÃ¿ÉÓá£
ÏÂÃæ³Â¼Ò»Ð©JDKÎĵµÖйØÓÚBlockingQueueµÄ½éÉÜ£º
BlockingQueue ¿ÉÒÔÊÇÏÞ¶¨ÈÝÁ¿µÄ¡£ËüÔÚÈÎÒâ¸ø¶¨Ê±¼ä¶¼¿ÉÒÔÓÐÒ»¸ö remainingCapacity£¬³¬³ö´ËÈÝÁ¿£¬±ãÎÞ·¨ÎÞ×èÈûµØ put ¶îÍâµÄÔªËØ¡£Ã»ÓÐÈκÎÄÚ²¿ÈÝÁ¿Ô¼ÊøµÄ BlockingQueue ×ÜÊDZ¨¸æ Integer.MAX_VALUE µÄÊ£ÓàÈÝÁ¿¡£
BlockingQueue ʵÏÖÖ÷ÒªÓÃÓÚÉú²úÕß-ʹÓÃÕ߶ÓÁУ¬µ«ËüÁíÍ⻹֧³Ö Collection ½Ó¿Ú¡£Òò´Ë£¬¾ÙÀýÀ´Ëµ£¬Ê¹Óà remove(x) ´Ó¶ÓÁÐÖÐÒƳýÈÎÒâÒ»¸öÔªËØÊÇÓпÉÄܵġ£È»¶ø£¬ÕâÖÖ²Ù×÷ͨ³£²» »áÓÐЧִÐУ¬Ö»ÄÜÓмƻ®µØż¶ûʹÓ㬱ÈÈçÔÚÈ¡ÏûÅŶÓÐÅϢʱ¡£
BlockingQueue ʵÏÖÊÇḬ̈߳²È«µÄ¡£ËùÓÐÅŶӷ½·¨¶¼¿ÉÒÔʹÓÃÄÚ²¿Ëø¶¨»òÆäËûÐÎʽµÄ²¢·¢¿ØÖÆÀ´×Ô¶¯´ïµ½ËüÃǵÄÄ¿µÄ¡£È»¶ø£¬´óÁ¿µÄ Collection ²Ù×÷£¨addAll¡¢containsAll¡¢retainAll ºÍ removeAll£©Ã»ÓÐ ±ØÒª×Ô¶¯Ö´ÐУ¬³ý·ÇÔÚʵÏÖÖÐÌرð˵Ã÷¡£Òò´Ë£¬¾ÙÀýÀ´Ëµ£¬ÔÚÖ»Ìí¼ÓÁË c ÖеÄһЩԪËغó£¬addAll(c) ÓпÉÄÜʧ°Ü£¨Å׳öÒ»¸öÒì³££©¡£
BlockingQueue ʵÖÊÉϲ» Ö§³ÖʹÓÃÈκÎÒ»ÖÖ“close”»ò“shutdown”²Ù×÷À´Ö¸Ê¾²»ÔÙÌí¼ÓÈκÎÏî¡£ÕâÖÖ¹¦ÄܵÄÐèÇóºÍʹÓÃÓÐÒÀÀµÓÚʵÏÖµÄÇãÏò¡£ÀýÈ磬һÖÖ³£ÓõIJßÂÔÊÇ£º¶ÔÓÚÉú²úÕߣ¬²åÈëÌØÊâµÄ end-of-stream »ò poison ¶ÔÏ󣬲¢¸ù¾ÝʹÓÃÕß»ñÈ¡ÕâЩ¶ÔÏóµÄʱ¼äÀ´¶ÔËüÃǽøÐнâÊÍ¡£
ÔÚJDK1.5ÖÐÌṩÁËBlockingQueueµÄÈçÏÂʵÏÖÀࣺ
1. ArrayBlockingQueue
2. LinkedBlockingQueue
3. PriorityBlockingQueue
4. SynchronousQueue
5. DelayQueue
ÏÂÃæÎÒÃÇÀ´Ò»Ò»½éÉÜÕâЩBolackingQueueʵÏÖµÄÌص㣺
1. ArrayBlockingQueue
¹ÊÃû˼Ò⣬ArrayBlockingQueueÊÇÒ»¸öÓÉÊý×éÖ§³ÖµÄÓнç×èÈû¶ÓÁС£´Ë¶ÓÁа´ FIFO£¨ÏȽøÏȳö£©ÔÔò¶ÔÔªËؽøÐÐÅÅÐò¡£¶ÓÁеÄÍ·²¿ ÊÇÔÚ¶ÓÁÐÖдæÔÚʱ¼ä×µÄÔªËØ¡£¶ÓÁеÄβ²¿ ÊÇÔÚ¶ÓÁÐÖдæÔÚʱ¼ä×î¶ÌµÄÔªËØ¡£ÐÂÔªËزåÈëµ½¶ÓÁеÄβ²¿£¬¶ÓÁмìË÷²Ù×÷ÔòÊÇ´Ó¶ÓÁÐÍ·²¿¿ªÊ¼»ñµÃÔªËØ¡£
ÕâÊÇÒ»¸öµäÐ͵ēÓн绺´æÇø”£¬¹Ì¶¨´óСµÄÊý×éÔÚÆäÖб£³ÖÉú²úÕß²åÈëµÄÔªËغÍʹÓÃÕßÌáÈ¡µÄÔªËØ¡£Ò»µ©´´½¨ÁËÕâÑùµÄ»º´æÇø£¬¾Í²»ÄÜÔÙÔö¼ÓÆäÈÝÁ¿¡£ÊÔͼÏòÒÑÂú¶ÓÁÐÖзÅÈëÔªËػᵼÖ·ÅÈë²Ù×÷ÊÜ×èÈû£»ÊÔͼ´Ó¿Õ¶ÓÁÐÖмìË÷ÔªËؽ«µ¼ÖÂÀàËÆ×èÈû¡£
´ËÀàÖ§³Ö¶ÔµÈ´ýµ
Ïà¹ØÎĵµ£º
native2ascii.exe ÊÇ Java µÄÒ»¸öÎļþתÂ빤¾ß£¬Êǽ«ÌØÊâ¸÷ÒìµÄÄÚÈÝ ×ªÎª ÓÃÖ¸¶¨µÄ±àÂë±ê×¼ÎÄÌåÐÎʽͳһµÄ±íÏÖ³öÀ´£¬Ëüͨ³£Î»ÓÚ JDK_home\bin Ŀ¼Ï£¬°²×°ºÃ Java SE ºó£¬¿ÉÔÚÃüÁîÐÐÖ±½ÓʹÓà native2ascii ÃüÁî½øÐÐתÂ룬ʾÀý£º
native2ascii -encoding 8859_1 c:\test.txt c:\temp.txt
½« test.txt ÎļþÄÚÈÝÓà 8859_1 × ......
ÔÚjavaÖе÷ÓÃ×Ô¼ºµÄc++´úÂëÊÇÒ»¼þ¼òµ¥µÄÊÂÇ飬ÒÔÏÂÀàΪÀý£º
class Prompt {
private native String getLine(String prompt);
public static void main(String args[]) {
Prompt p = new Prompt();
String input = p.getLine("Type a line: ");
&nbs ......
×î½üÏë¶ÔÓÚwikiϵͳµÄÔ´´úÂëÑо¿ÏÂ
jspwikiÊÇÒ»¸ö²»´íµÄwikiÒýÇ棬´¿jsp/servletдµÄ¡£JSPWiki²»Ê¹ÓÃÏֳɵÄÊý¾Ý¿â¹ÜÀíÈí¼þ£¬ËùÓеÄÎļþÒÔÎı¾ÎļþµÄÐÎʽ´æ·Å¡£ËüÀûÓÃÀàËÆCVSµÄ»úÖƱ£Ö¤ÁËÎļþ°æ±¾µÄÍêÕûÐÔ¡£Ö§³ÖÖÐÎÄ£¬Ö§³Ö°æ±¾±È½Ï¡¢È¨ÏÞ¹ÜÀíµÈ¹¦ÄÜ£¡
ÏîÄ¿Ö÷Ò³£º http://www.jspwiki.org/
ÎĵµµØÖ·£º  ......
Ö÷ÒªÊÇ×ö¸÷µØÒøÐеÄÍâΧϵͳ£¬ÀýÈçµç×Ó»ãƱ¡¢·´Ï´Ç®ÏµÍ³µÈ£¬ÓÐÐËȤµÄ¿ÉÒÔ¼ÓÎÒQQ£¨429177125£©¾ßÌåÁÄ£¬ÃæÊԵصãÔÚ±±¾©Êк£µíÇøκ¹«´å¡£
¾ßÌåÈçÏ£º
Java¹¤×÷¾Ñ飬2-3Äê
ÈíÐÔÒªÇó£º ÒÔϹ¤×÷¾ÑéÖ®Ò»ÕßÓÅÏÈ¡£1¡¢ ÓÐÒøÐй¤×÷¾ ......
(×¢Ò⣺ÏÂÃæÎļþ¶¼ÔÚf:\myjavaÖУ©
{
3¸öÔ´Îļþ£ºMyApp.java,MyLib.java,PrintSchool.java;
½¨Îļþ¼Ðorg\Jie
ÆäÖÐMyLibºÍPrintSchool·ÅÔÚ°üorg.JieÖУ¨import org.Jie)
ÔÚcmd.exeÖÐÔËÐÐ
javac -d org\Jie MyLib.java //ÔÚorg\Jie\org\jieÉú³ÉÁËMyLib.classÎļþ£¬½«¸ÃÎļþ ......