javaÏß³Ìͬ²½ÎÊÌâ
Ò»°ã£¬ÓÐ3ÖÖʹÓÃËø½øÐÐͬ²½µÄ·½·¨
a.·½·¨Í¬²½£¬ÀýÈçpublic synchronized void xxx()...
b.¾²Ì¬·½·¨Í¬²½,ÀýÈçpublic static synchronized void xxx()...
c.³ÌÐò¿éͬ²½,ÀýÈç
...
synchronized(object oLock) //×¢Ò⣺object²»Ò»¶¨ÊǸÃÀàµÄʵÀý
{
...
}
ÔÚÓ÷¨aÖУ¬µ±Ä³Ïß³ÌÖ´Ðз½·¨xxxʱ£¬jvm»áËø¶¨¸ÃÀàµÄʵÀý£¬Ö±µ½·½·¨xxxÖ´ÐÐÍê±Ï¡£Ö´ÐÐxxxµÄ¹ý³Ì¿´¿´³ÉÊÇÕâÑùµÄ£º
*ÇëÇóµÃµ½ÀàʵÀýµÄʵÀýËø£¬¼ÙÈçÓÐÆäËûÏß³ÌÔÚÖ´ÐУ¬ÔòµÈ´ý£»
*µÃµ½ÊµÀýËø£¬Ö´ÐÐxxx£»
*Ö´ÐÐÍê±Ï£¬ÊÍ·ÅʵÀýËø£»
×¢Ò⣬Õâ¸ö¹ý³ÌÊÇjvmÍê³ÉµÄ£¬ÎÒÃÇÖ»ÐèÒª°Ñij¸ö¶ÔÏó·½·¨ÉùÃ÷Ϊsynchronized¼´¿É£¬ÊµÀýËø¿ÉÒÔÀí½âΪʵÀý±¾Éí¡£
ÔÚÓ÷¨bÖÐ,µ±Ä³Ïß³ÌÖ´Ðо²Ì¬·½·¨xxxʱ£¬Ò²ÊÇÓÐjvm¿ØÖƾ¹ýÒÔÉϵÄ3¸ö²½Ö裬Ëù²»Í¬µÄÊÇÓÉÓÚ´Ëʱ²»´æÔÚÀàʵÀý£¨¾²Ì¬·½·¨Â£¬Ëù
ÒÔÓ÷¨aÖÐʵÀýËø±»ÊµÀýµÄÀàµÄËøÈ¡´ú£¬Æäʵ¶ÔÎÒÃDZà³ÌÀ´½²£¬¼¸ºõûÓÐÈκÎÇø±ð£¬ÎÒÃÇÖ»ÐèÒª°Ñ¾²Ì¬·½·¨ÉùÃ÷Ϊsynchronized¼´¿É¡£
ÔÚÓ÷¨cÖУ¬oLock¿ÉÒÔ±»Àí½âΪһ¸ö´«½Ó°ô£¬Ëü¿ÉÒÔÊÇÈκÎÀàµÄʵÀý£¬µ±Ä³¸öÏß³ÌÊÔͼ·ÃÎÊÉùÃ÷ΪsynchronizedµÄ³ÌÐò¿éµÄʱºò£¬jvm
ÅжÏoLockÊÇ·ñ±»Ëø¶¨£¬¼ÙÈçûÓб»Ëø¶¨£¬ÔòËø¶¨oLock²¢Ö´ÐиóÌÐò¿é¡£Ö´ÐÐÍê±ÏÊͷŸÃËø¡£
ÔÚ¶ÔÏó¼¶Ê¹ÓÃËø£¨ÊµÀýËø£©Í¨³£ÊÇÒ»ÖֱȽϴֲڵķ½·¨£¬ÉèÏëһϣ¬¼ÙÈçÒ»¸ö¶ÔÏó¿ÉÄÜÈ¥·ÃÎÊN¸ö¹²Ïí×ÊÔ´£¬ÄÇô¼ÙÈçÓÐÒ»¸öÏ̶߳ÀÕ¼
Á˸öÔÏ󣬶ø½ö½öÊÇΪÁËʹÓÃÆäÖеÄÒ»Ïî×ÊÔ´µÄ»°£¬Ò²»áÔì³ÉÏë·ÃÎÊÆäËü×ÊÔ´µÄÏß³ÌÒ²´¦ÓÚ¶ÂÈû״̬¡£ÓóÌÐò¿éͬ²½¿ÉÒԺܺýâ¾öÕâ¸öÎÊÌ⣬
ÒÔÏÂÊÇʹÓñ»³ÆÎªFine_Grain_LockµÄÀý×Ó£¬¿´£¬Ð§¹ûÊDz»ÊǺÜhigh£º
Java´úÂë
class FineGrainLock {
MyMemberClass x, y;
Object xlock&
Ïà¹ØÎĵµ£º
ת £ºhttp://kuru.javaeye.com/blog/288467
Java¶Ô¶àÏ̵߳ÄÖ§³ÖÓëͬ²½»úÖÆÉîÊÜ´ó¼ÒµÄϲ°®£¬Ëƺõ¿´ÆðÀ´Ê¹ÓÃÁËsynchronized¹Ø¼ü×־ͿÉÒÔÇáËɵؽâ¾ö¶àÏ̹߳²ÏíÊý¾Ýͬ²½ÎÊÌâ¡£µ½µ×ÈçºÎ£¿¨D¨D»¹µÃ¶Ôsynchronized¹Ø¼ü×ÖµÄ×÷ÓýøÐÐÉîÈëÁ˽â²Å¿É¶¨ÂÛ¡£ ×ܵÄ˵À´£¬synchronized¹Ø¼ü×Ö¿ÉÒÔ×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£¬Ò ......
ת £º http://www.jcourse.cn/read/234
2009-03-02 ×÷Õß:
zhangtaolv
ÔÚÎÒÃÇÈÕ³£¿ª·¢ÖУ¬¾³£»áÓöµ½¶ÔÎı¾µÄ²Ù×÷£¬²¢ÇÒÔÚÒ»°ãµÄMISϵͳÖУ¬Îı¾²Ù×÷ÓÈΪ¶à£¬ÈçÓû§Ãû¡¢ÎÄÕÂÄÚÈÝ¡¢ÎÄÕ±êÌâ¡¢ºÏͬÄÚÈݵȡ£ÔÚ֮ǰµÄ½Ì³ÌÖУ¬ÎÒÒ²¸ø´ó¼Ò½²½âÁËJavaÖÐ×î»ù±¾µÄ×Ö·û´®²Ù×÷µÄÀ࣬String¡£ÔÚ֮ǰµÄ½Ì³ÌÖÐÎÒÒ²¸ø´ó¼Ò½²ÁËStr ......
×î½üÒ»Ö±ÔÚʹÓÃJava£¬¸Ð¾õËüµÄÔ½½ç¼ì²é·Ç³£ÓÐЧ¡£ÕâÒ»µã¶ÔÓÚ³õѧÕßÀ´ËµÊǷdz£ÖØÒªµÄ£¨Ìá¸ß³ÌÐòµÄÑϽ÷ÐÔ£©£¬¶ÔÓÚÓоÑéµÄ³ÌÐòÔ±À´ËµÒ²ºÜÓаïÖú¡£JavaÖÐÓÐÒ»¸öºÜÓÐЧµÄArrayListÀà(¶ÁÕß¿ÉÒÔ½áºÏJava API
À´Ñ§Ï°Ëü)£¬¡£ËüºÍÒ»°ãµÄÊý×é²»Ò»Ñù£¬²»ÐèÒªÌáǰ·ÖÅä¹Ì¶¨µÄ¿Õ¼ä£¨Ê¹ÓñȽÏÁé»î£©£¬Ã¿´ÎʹÓõÄʱºò¿ÉÒÔÌí¼Ó ......
public static String byteToString(byte src)
{
String desc = null;
int i = 0; //È¡1¸ö×Ö½Ú
i = src&0xFF;
desc = Integer.toHexString(i);
if (desc.length() == 1)
......
Ó¢ÎÄÍøÕ¾
http://www.javaalmanac.com - Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾£¬ÏëÒª¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾ÀýµÄ´úÂëÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
http://www.onjava.com - O'ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
http://java.sun.com - ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ - ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í.
http://www.developer.com/java - ÓÉGamelan ......