java Ï̵߳ÄÉè¼ÆÄ£Ê½
¾Í¶àÏß³ÌÀ´Ëµ£¬ÎÒÃÇ¿ªÊ¼ÉèÏëÖ»ÓÐÁ½¸öỊ̈߳¨>2ʱÊDz»ÊÇËãÊýѧ¹éÄÉ·¨£¿£©ÄÇôÈç¹ûÁ½¸ö¶ÀÁ¢µÄÏ̻߳ᷢÉúÊ²Ã´ÄØ£¿
1¡£µ±Ò»¸öÏ߳̽øÈëmoniter£¨Ò²¾ÍÊÇ˵վÓÃÒ»¸öobject£©£¬ÁíÒ»¸öÏß³ÌÖ»Óеȴý»ò·µ»Ø£¬¶øÎÒÃǰѷµ»Ø¾Í³ÆÎªÒ»ÖÖģʽ£¬ÕâÖÖģʽµÄÓ¢ÎÄÊÇBalking¡£
2¡£ÕâÁ½¸öÏ߳̿ÉÒÔÊÇÓÐÐòµÄÖ´ÐУ¬¶ø²»ÊÇÈÃOSÀ´µ÷¶È£¬ÕâʱÎÒÃÇÒªÓÃÒ»¸öobjectÀ´µ÷¶È£¬ÕâÖÖģʽ³ÆÎªScheduler¡££¨Õâ¸ö´Ê¼°Æäº¬ÒåÆäʵOSÖоÍÓУ©¡£
3¡£Èç¹ûÕâÁ½¸öÏß³Ìͬʱ¶ÁÒ»¸ö×ÊÔ´£¬ÎÒÃÇ¿ÉÒÔÈÃËûÃÇÖ´ÐУ¬µ«Èç¹ûͬʱдµÄ»°£¬Äã±Õ×ÅÑÛ¾¦¶¼»áÖªµÀ¿ÉÄܳöÏÖÎÊÌ⣬ÕâʱÎÒÃǾÍÒªÓÃÁíÒ»ÖÖģʽ£¨Read/Write Lock£©¡£
4¡£Èç¹ûÒ»¸öÏß³ÌÊÇΪÁíÒ»¸öÏ̷߳þÎñµÄ»°£¬±ÈÈçIEÖиºÔðÊý¾Ý´«ÊäµÄÏ̺߳ͽçÃæÏÔʾµÄỊ̈߳¬µ±Ò»¸öͼƬûÓд«Íêʱ£¬ÁíÒ»¸öÏ߳̾ÍÎÞ·¨ÏÔʾ£¬ÖÁÉÙÊDz¿·ÖûÓд«Íê¡£ÄÇôÕâʱÎÒÃÇÒªÓÃÒ»¸öģʽ³ÆÎªÉú²úÕߺÍÏû·ÑÕߣ¬Ó¢ÎÄÊÇProducer-Consumer¡£
5¡£Á½¸öÏ̵߳ÄÏûÍöÒ²¿ÉÒÔ²»ÊÇÍêÈ«ÓÖOSÀ´¿ØÖƵģ¬ÕâʱÎÒÃÇÐèÒª¸ø³öÒ»¸öÌõ¼þ£¬Ê¹µÃÿ¸öÏß³ÌÔÚ·ûºÏÌõ¼þÊDzÅÏûÍö£¬Ò²¾ÍÊÇÓÐÐòµÄÏûÍö£¬ÎÒÃdzÆÎªTwo-Phase Termination¡£
ÄÇôÓÐÕâ5¸öÏß³ÌÄ£ÐÍ£¬»ù±¾ÉÏ¿ÉÒÔÓõ½´ó¶àÊý±à³ÌÈÎÎñÖС£ÎÒÐèÒªÖ¸³öµÄÈýµãÊÇ£º
1¡£´Ó¸ß²ã´ÎÉÏÎÒÃÇ¿ÉÒÔÔÙÑéÖ¤ÊÇ·ñº¬¸ÇÁËËùÓеÄÇé¿ö¡£
2¡£Æäʵģʽ²»ÊÇÍêÈ«¹Ì¶¨µÄ»òÕß˵Ïó¶¨ÂÉÒ»Ñù£¬¶øÄ£Ê½¿ÉÒÔΪ²»Í¬µÄÇé¿ö½øÐÐÊʵ± µÄµ÷ÕûºÍ×éºÏ£¬Ä¿µÄÊÇΪÁ˼ò½àºÍ¸ßЧ¡£
3¡£Ñ§Ï°Ä£Ê½ÊÇΪÁ˾߱¸¸üºÃµÄ·ÖÎöÎÊÌâµÄÄÜÁ¦¡£
¶øËƺõÕâЩÀ´×ÔÎ÷·½µÄ¼¼Êõ£¬²¢ÇÒÊÇĿǰµÄ£¬ÎÒÃÇÓÐûÓÐÄØ£¿ÆäʵÎÒ¸öÈËÓиö´óµ¨µÄÍÆ²â£¬ÎÒÈÏΪÎÒÃÇ׿Ïȵġ¶Ëï×Ó±ø·¨¡·¾ÍÊǺܺÃÉè¼ÆÄ£Ê½£¬ÒòΪËü·ûºÏÉè¼ÆÄ£Ê½ÐèÒªµÄ»ù±¾ÌØÕ÷£¬¾ÍÊÇÔÚÌØ¶¨µÄÌõ¼þÏ£¬ÓÃijÖÖÌØ¶¨µÄ·½Ê½ºÏÀíÇÒ¸ßЧµÄ½â¾öÎÊÌâ¡£Ö»²»¹ýÒ»ÊÇÓÃÔÚ¾üÊÂÉÏ£¬¶þÊÇÍ걸ÐÔ·½ÃæÎÒÃÇ»¹Ã»Ñо¿¡£µ«ÎÒÈÏΪÎÒÃÇÖÁÉÙûÓкܺõÄÀ©Õ¹ºÍ½øÐÐÀà±ÈʽµÄÓ¦Ó㬷ñÔò½ñÌì¿ÉÄÜÊÇÎÒÃÇÖйúÈ˽ÌÍâ¹úÈËʲôÊÇÉè¼ÆÄ£Ê½¡£
Àà±ÈµÄ·½·¨Êµ¼ÊÉÏÊÇ·¢Ã÷»ò·¢Ïֵij£Ó÷½·¨¡£²»ÖªÄÜ·ñÈÃÄã¸Ð¾õµ½ÆäʵÍâ¹úµÄ¼¼Êõ²¢²»ÊÇÄÇôµÄÉñÃØ£¬Ò²ÐíÎÒÃÇ´Ó×ÔÉíµÄÎÄ»¯µ±ÖÐÍÚ¾ò³öµÄ¶«Î÷Ì«ÉÙÁË¡£
P.S.¸üÉîÒ»²½µÄÑо¿Äã¿ÉÒԲο¼Doug Lea. <<Concurrent Programming in Java>>.
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
Ò»¡¢final
¸ù¾Ý³ÌÐòÉÏÏÂÎÄ»·¾³£¬Java¹Ø¼ü×ÖfinalÓГÕâÊÇÎÞ·¨¸Ä±äµÄ”»òÕß“ÖÕ̬µÄ”º¬Ò壬Ëü¿ÉÒÔÐÞÊηdzéÏóÀà¡¢·Ç³éÏóÀà³ÉÔ±·½·¨ºÍ±äÁ¿¡£Äã¿ÉÄܳöÓÚÁ½ÖÖÀí½â¶øÐèÒª×èÖ¹¸Ä±ä£ºÉè¼Æ»òЧÂÊ¡£
finalÀ಻Äܱ»¼Ì³Ð£ ......
ѧϰjavaµÄ30¸öÄ¿±ê----Èç¹ûÕâ30ÌõÄã×öµÄ²î²»¶àÁË£¬jAVAˮƽ¾Íµ±È»²»ÓÃ˵ÁË£¬ºÃºÃŬÁ¦°É
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºË ......
ArrayList ºÍVectorÊDzÉÓÃÊý×鷽ʽ´æ´¢Êý¾Ý£¬´ËÊý×éÔªËØÊý´óÓÚʵ¼Ê´æ´¢µÄÊý¾ÝÒÔ±ãÔö¼ÓºÍ²åÈëÔªËØ£¬¶¼ÔÊÐíÖ±½ÓÐòºÅË÷ÒýÔªËØ£¬µ«ÊDzåÈëÊý¾ÝÒªÉè¼Æµ½Êý×éÔªËØÒÆ¶¯µÈÄÚ´æ²Ù×÷£¬ËùÒÔË÷ÒýÊý¾Ý¿ì²åÈëÊý¾ÝÂý£¬VectorÓÉÓÚʹÓÃÁËsynchronized·½·¨£¨Ḭ̈߳²È«£©ËùÒÔÐÔÄÜÉϱÈArrayListÒª²î£¬LinkedListʹÓÃË«ÏòÁ´±íʵÏÖ´æ´¢£¬°´Ðòº ......