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

¸ã¶®javaÖеÄsynchronized¹Ø¼ü×Ö

ʵ¼ÊÉÏ£¬ÎÒ¹ØÓÚjavaµÄ»ù´¡ÖªÊ¶µÄ90%ÒÔÉ϶¼À´×ÔThinking in Java¡£¶ÔÓÚÆäÖеÄsynchronized¹Ø¼ü×Ö£¬µ±Ê±¾ÍÊÇä¯ÀÀһϣ¬´ó¸ÅÖªµÀÒâ˼£¬Ò²Ã»ÓÐϸ¿´¡£ºóÀ´Ò»Ö±Ã»ÓÐÓùýÕâ¸ö¹Ø¼ü×Ö¡£×òÌì¿´Thinking in Patterns with JavaÖеÄObserverģʽ£¬¿´ÁËÆäÖеÄObservableÀàµÄÔ´Â룬·¢ÏÖÀïÃæ¼¸ºõËùÓеķ½·¨¶¼ÓÃÁËsynchronized¹Ø¼ü×Ö£¨²»ÊÇÈ«²¿£©£¬ÆäÖиö±ðÓÃÁËsynchronized(this){}µÄÇø¿é¡£ÓÚÊÇ£¬ÎÒ·¢¾õÓбØÒªºÃºÃÀí½âÒ»ÏÂÕâ¸ö¹Ø¼ü×ÖÁË¡£
ÎÒÔٴο´Á˺î½ÝÒëµÄThinking in JavaµÚ¶þ°æÖÐÎİ棬µÃµ½ÓйØsynchronizedµÄÈçÏÂÐÅÏ¢£º
1¡¢synchronized¹Ø¼ü×ÖµÄ×÷ÓÃÓòÓжþÖÖ£º
1£©ÊÇij¸ö¶ÔÏóʵÀýÄÚ£¬synchronized aMethod(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸ö¶ÔÏóµÄsynchronized·½·¨£¨Èç¹ûÒ»¸ö¶ÔÏóÓжà¸ösynchronized·½·¨£¬Ö»ÒªÒ»¸öÏ̷߳ÃÎÊÁËÆäÖеÄÒ»¸ösynchronized·½·¨£¬ÆäËüÏ̲߳»ÄÜͬʱ·ÃÎÊÕâ¸ö¶ÔÏóÖÐÈκÎÒ»¸ösynchronized·½·¨£©¡£Õâʱ£¬²»Í¬µÄ¶ÔÏóʵÀýµÄsynchronized·½·¨ÊDz»Ïà¸ÉÈŵġ£Ò²¾ÍÊÇ˵£¬ÆäËüÏß³ÌÕÕÑù¿ÉÒÔͬʱ·ÃÎÊÏàͬÀàµÄÁíÒ»¸ö¶ÔÏóʵÀýÖеÄsynchronized·½·¨£»
2£©ÊÇij¸öÀàµÄ·¶Î§£¬synchronized static aStaticMethod{}·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸öÀàÖеÄsynchronized static ·½·¨¡£Ëü¿ÉÒÔ¶ÔÀàµÄËùÓжÔÏóʵÀýÆð×÷Óá£
2¡¢³ýÁË·½·¨Ç°ÓÃsynchronized¹Ø¼ü×Ö£¬synchronized¹Ø¼ü×Ö»¹¿ÉÒÔÓÃÓÚ·½·¨ÖеÄij¸öÇø¿éÖУ¬±íʾֻ¶ÔÕâ¸öÇø¿éµÄ×ÊԴʵÐл¥³â·ÃÎÊ¡£Ó÷¨ÊÇ: synchronized(this){/*Çø¿é*/}£¬ËüµÄ×÷ÓÃÓòÊǵ±Ç°¶ÔÏó£»
3¡¢synchronized¹Ø¼ü×ÖÊDz»Äܼ̳еģ¬Ò²¾ÍÊÇ˵£¬»ùÀàµÄ·½·¨synchronized f(){} Ôڼ̳ÐÀàÖв¢²»×Ô¶¯ÊÇsynchronized f(){}£¬¶øÊDZä³ÉÁËf(){}¡£¼Ì³ÐÀàÐèÒªÄãÏÔʽµÄÖ¸¶¨ËüµÄij¸ö·½·¨Îªsynchronized·½·¨£»
4¡¢ÒÉÎÊ£º
ÎÒÖªµÀÁËÓÐstaticÇø¿é£¨ÆäÖеļÓÔØÊ±»úºÃÏñÒ²²»Çå³þ£¬ÐèҪѧϰһÏ£¬Ô­À´¿´Thinking in JavaºÃÏñÊÇ˵: staticÇø¿é¼ÓÔØµÄʱ»úÊÇÀàµÄÒ»¸ö¶ÔÏóʵÀý´´½¨»òÀàµÄÒ»¸östatic·½·¨±»·ÃÎÊ£¬µ«ÊÇÎÒ½ñÌìÔçÉÏ¿´ÁËjavaeye.comÉÏÃæµÄÒ»¸ö¹ØÓÚ“<static¿éµ½µ×ʲôʱºòÖ´ÐУ¿-eway -JavaEye¼¼ÊõÉçÇø>”µÄÎÄÕºóÓÖÓеãÃÔºýÁË£º£©£¬Ò²Ðí£¬ÐèÒªÈÏÕæÑ§Ï°Ò»ÏÂJVMµÄÄÚÔÚ»úÖÆ²ÅÊÇÀí½âÕâÀàÎÊÌâ×î¸ù±¾µÄ;¾¶£©£¬Ò²ÓÐsynchronizedÇø¿é£¬ÄÇô£¬ÓÐsynchronized static Çø¿éÂð£¿Òâ˼ÊÇÎÊ£ºÓÐûÓÐÒ»¸öÀà×÷ÓÃÓòÄÚµÄsynchronizedÇø¿é£¿
½ñÌ죬дÁËÏÂÃæÕâ¸öÀý×ÓÑéÖ¤ÁËÉÏÃæÓÐûÓÐÒ»¸öÀ෶ΧµÄsynchronized »ò synchronized static ¿é£¬½áÂÛÊÇûÓÐÕâÑù


Ïà¹ØÎĵµ£º

Java ÀíÂÛÓëʵ¼ù: ÕýȷʹÓà Volatile ±äÁ¿

ת£ºhttp://www.ibm.com/developerworks/cn/java/j-jtp06197.html
2007 Äê 7 ÔÂ 05 ÈÕ
Java™ ÓïÑÔ°üº¬Á½ÖÖÄÚÔÚµÄͬ²½»úÖÆ£ºÍ¬²½¿é£¨»ò·½·¨£©ºÍ volatile ±äÁ¿¡£ÕâÁ½ÖÖ»úÖÆµÄÌá³ö¶¼ÊÇΪÁËʵÏÖ´úÂëÏ̵߳ݲȫÐÔ¡£ÆäÖÐ Volatile ±äÁ¿µÄͬ²½ÐԽϲµ«ÓÐʱËü¸ü¼òµ¥²¢ÇÒ¿ªÏú¸üµÍ£©£¬¶øÇÒÆäʹÓÃÒ²¸üÈÝÒ׳ö´í¡£ÔÚÕâÆÚµÄ&nb ......

java ѧϰ

   ÍøÉÏ¿´µ½Ò»Ð©¸Õ¿ªÊ¼Ñ§»òÊÇ»¹Ã»ÓпªÊ¼Ñ§javaµÄͬѧ£¬¾­³£ÎÊ£º“Õâ¸öjava£¬ÎÒ¸ÃÔõôѧ£¬Ñ§Ê²Ã´ÄØ£¿”£¬ÎÒÏë¸øËûÃÇ˵һÏ¡£¿ÉÊÇÎÒµÄÄÜÁ¦ÓÐÏÞ¡£ËùÒÔÎÒÒ²²»ºÃ¶Ôij¸öͬѧ¾ßÌåµÄ˵ʲô£¬¿ÉÊÇ£¬½ñÌìÔÚÍøÉÏ¿´µ½Ò»ÕÅͼƬ¡£¸Ð¾õ¶Ô´ó¼ÒÌá³öµÄÕâ¸öÎÊÌâÓиöºÜºÃµÄ½âÊÍ˵Ã÷¡£
       ......

֪ʶС¼Ç(java)

1)¿Í»§¶ËÊÇ.netµ÷Ó÷þÎñ¶ËÓÃjavaдÁËÒ»¸öwebservice
ÓÃC#.NETµ÷ÓÃJava¿ª·¢µÄWebServiceʱ£¬ÏÈÔÚ¿Í»§¶Ë·â×°µÄ´øÓÐintÊôÐԵĶÔÏ󣬵±½«¸Ã¶ÔÏó´«µ½·þÎñÆ÷¶Ëʱ£¬·þÎñÆ÷¶Ë¿ÉÒԵõ½stringÀàÐ͵ÄÊôÐÔÖµ£¬È´²»Äܵõ½intÀàÐÍ¡¢doubleºÍDateTimeÀàÐ͵ÄÖµ£¨ÔÚ·þÎñ¶ËµÃµ½µÄ¾ùΪnull£©
½â¾ö°ì·¨£º
VS2005·â×°WebServiceÒýÓÃʱ£¬Èç¹û ......

Java ½Ó¿ÚºÍ³éÏóÀàÇø±ð


Ô­ÎÄ £º http://blog.csdn.net/sunboard/archive/2009/01/18/3831823.aspx
Ò»
¸öÈí¼þÉè¼ÆµÄºÃ»µ£¬ÎÒÏëºÜ´ó³Ì¶ÈÉÏÈ¡¾öÓÚËüµÄÕûÌå¼Ü¹¹£¬¶øÕâ¸öÕûÌå¼Ü¹¹Æäʵ¾ÍÊÇÄã¶ÔÕû¸öºê¹ÛÉÌÒµÒµÎñµÄ³éÏó¿ò¼Ü£¬µ±´ú±íÒµÎñÂß¼­µÄ¸ß²ã³éÏó²ã½á¹¹
ºÏÀíʱ£¬Äãµ×²ãµÄ¾ßÌåʵÏÖÐèÒª¿¼Âǵľͽö½öÊÇһЩËã·¨ºÍһЩ¾ßÌåµÄÒµÎñʵÏÖÁË¡£µ±ÄãÐèÒªÔÙ¿ ......

javaÖÐÀ¬»ø»ØÊÕËã·¨

1£©À¬»ø»ØÊÕµÄÁ½¸ö¹Ø¼üÒªËØ£º
·¢ÏÖÎÞÓöÔÏó¡£
»ØÊÕÎÞÓöÔÏóµÄÄÚ´æ¿Õ¼ä¡£
 
2£©6ÖÖÀ¬»ø»ØÊÕËã·¨£º
 
ÒýÓüÆÊý·¨£¬tracing Ëã·¨£¬compactingËã·¨£¬copying Ëã·¨£¬generationËã·¨£¬adaptiveËã·¨¡£
 
3£©detail£º
ÒýÓüÆÊý·¨(Reference Counting Collector)
ÒýÓüÆÊý·¨ÊÇΨһûÓÐʹÓøù¼¯µÄÀ¬»ø»ØÊÕµÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ