javaµÄ¶àÏß³Ìͬ²½»¥³â:synchronizedµÄÂÒÓÃ
ÔÚjavaµÄ¶àÏß³Ìͬ²½»¥³â´¦ÀíÖÐ,synchronizedÊDZ𲻿ÉÉٵĶ«Î÷.
µ«ÊÇÈç¹û²»ÇåÎúµÄ±à³ÌµÄ»°,Ò²¾ÍÊÇÂÒÓÃsynchronizedµÄ»°,ËÀËøµÄ·¢Éú¾ÍÊÇÀëÄãºÜ½üµÄ»°ÌâÁË.
ÔÚÇ°ÃæµÄÒ»¸öά»¤Öоͷ¢ÏÖÒ»¸öËÀËøµÄbug.¾¿ÆäÔÒòÊÇ¿ª·¢ÕßûÓÐÕæÕýÃ÷°×¶àÏ̵߳Äͬ²½»¥³â,ûÓÐÒâʶµ½ËÀËøµÄ·¢Éú,»òÕß˵×Ô¼ºÈÏΪдµÄ´úÂë²»»á·¢ÉúËÀËø.
ËÀËøµÄ·¢ÉúÒ»°ã²¢²»ÊǺÜÈÝÒ×ÔÙÏÖµÄ.Ò»µ©·¢ÉúÁ˵÷²é,È·È϶¼»á»¨·ÑºÜ¶àʱ¼ä.ÌØ±ðÊǶԴóÐÍÍøÕ¾À´Ê±ÕâÖÖÏÖÏóµÄ·¢Éúʱ²»¿ÉÔÁµÄ.
»¥³â´¦ÀíÖÐËø·½·¨ºÍËø¿é. ¸Ð¾õÊÇÔÚËø¿éµÄ´¦ÀíÖÐÈÝÒ×ÂÒÓÃsynchronized.
ÔÚÄǸöά»¤µÄÖеĴúÂëÂß¼:
·½·¨AÖеÄÈçϵĴ¦Àí
×¼±¸´¦ÀíµÄ´úÂë1
synchronized (this) {
´¦Àí1
}
×¼±¸´¦ÀíµÄ´úÂë2
synchronized (this) {
´¦Àí2
}
ÆäËû´¦Àí
ÕâÑùÓÃÒ»¸ö·½·¨ÖаÑ×Ô¼ºÕâ¸ö¶ÔÏóËøÁËÁ½´Î.ËÀËøµÄ·¢Éú¾ÍÊÇÓпÉÄܵÄÁË.
ÔÚÉÏÃæµÄÄǸöÎÊÌâ´úÂëÖÐ,Èç¹ûÊÇËø×Ô¼ºµÄ»°,ÔÚÒ»¸ö·½·¨ÖоͲ»ÄܽøÐжà´ÎËø.
ÆäËûµÄ¶àÏ̻߳¹ÓкܶàºÜ¶àÐèÒªµÄ×¢ÒâµÄ,ÉÏÃæÖ»ÊǾÍÊÂÂÛʼòµ¥ËµÁËÒ»ÏÂÅöµ½µÄÎÊÌâ.
Ïà¹ØÎĵµ£º
Ö÷Ïß³ÌÖУº
InitThread initThread=new InitThread(new Semaphore(0));//³õʼ»¯Ò»¸ö×ÓỊ̈߳¬´«Ò»¸ö³õֵΪ0µÄÐźÅÁ¿¸øËü
Display.getDefault().asyncExec(initThread);
try {//´Ë´¦»á¹ÒÆð£¬Ö±µ½×ÓÏß³ÌÍê³É¹¤×÷£¬ÐÞ¸ÄÁËÐźÅÁ¿µÄÖµ£¬Ö÷Ï̲߳Żá¼ÌÐø
initThread.getSemaphore().acquire();
} catch (Inte ......
ÉϴηÖÎöÁËJava¶ÔprimitiveµÄÅÅÐò£¬Ê¹ÓõÄÊÇÓÅ»¯µÄ¿ìËÙÅÅÐòËã·¨¡£Õâ´Î½éÉÜJava¶ÔObject¶ÔÏó(Comparable)µÄÅÅÐò¡£
JavaʹÓÃÁ˹鲢¶ÔObjectÅÅÐò£¬¹ØÓڹ鲢ÅÅÐòµÄϸ½Ú£¬Çë²é¿´http://zh.wikipedia.org/zh/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F
¹é²¢ÅÅÐòÒ²ÓÐÒ»¸öÔËÐÐ״̬ͼ£¬²»¹ý¿´×Åȷʵͦ·Ñ½âµÄ =¡£=£¡
ÔÚÁ˽âÁ˹é ......
½ñÌìÌý¿Î²ÅÖªµÀ×Ô¼º×ÔѧµÄhibernate¿ÉÒÔËãµÃÉÏÊÇһ̣ºýÍ¿£¬ÒòΪ֮ǰ¿´HibernateµÄÊé¿´ÁË¿´¼¸±é¶¼Ã»Óи㶮£¬½ñÌìÌýÁËÒ»ÌìµÄ¿Î£¬ºÜ¶à¶«Î÷¾Í»íÈ»¿ªÀÊ£¬ËùÒÔԤϰҲÊǺÜÖØÒªµÄ£¬ÄÇÅÂÊÇûÓп´¶®£¬µ«ÖÁÉÙÒ²ÓÐÓ¡Ïó¡£ ½ñÌìÉϿεĽø³Ì±È½Ï¿ì£¬ÐìÅà³ÉÀÏʦ½²¿Î£¬ÎÒÖ»ÄÜÓá°Ç¿º·¡±Á½¸ö×ÖÀ´ÐÎÈÝ£¬ÉÏ¿Îʱ¾«Á¦³äÅæ£¬ÓïËٿ죨µ«ÌýµÃºÜÇåÎú£¬¼ ......
ÔÚ֮ǰµÄһƪÎÄÕÂÖУ¬ÎÒ½éÉÜÁËÈçºÎʹÓÃAIR2.0ÐÂÔöµÄNativeProcessÀàÓë±¾µØ½ø³Ì½øÐн»»¥ºÍͨѶ£¬ÔÚÄǸöÀý×ÓÀïÃæÎÒÃÇʹÓÃÁËC++
µÄ´úÂ룬ʵ¼ÊÉÏÖ»ÒªÊÇ»ùÓÚÃüÁîÐеıê×¼ÊäÈëÊä³ö£¬AIR2.0µÄÓ¦ÓÃÊÇ¿ÉÒÔºÍÈκÎÓïÑÔ±àдµÄ±¾µØ½ø³Ì½øÐн»»¥µÄ¡£ÔÚ½ñÌìµÄÀý×ÓÖУ¬ÎÒÃǽ«Ñ§Ï°ÈçºÎºÍ
Java±àдµÄ±¾µØ½ø³Ì£¨.jarÎļþ£©½øÐн»»¥¡£
ÉÏһƪ ......