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

Javaͬ²½»úÖÆÊÕ¼¯×ܽá synchronized

ËäÈ»ºÜÉÙÓõ½Í¬²½£¬³öÓÚ¸öÈËÐËȤ×ÔѧÁËһϡ£ÏÖ¶ÔJAVAÖеÄͬ²½ÊÕ¼¯Ñ§Ï°µÄ¶«Î÷×ܽáһϣ¬ÈÃ×Ô¼º¼¼ÊõµÄÌõÀí»¯£¬Äܹ»³ÁµíÏÂÀ´¡£
 Í¬²½¾ÍÊÇ´®ÐÐʹÓÃһЩ×ÊÔ´.
JAVAÖÐsynchronized¹Ø¼ü×ÖÄܹ»×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£¬Ò²¾ÍÊÇÆ½Ê±ËµµÄͬ²½·½·¨ºÍͬ²½Óï¾ä¿é¡£¼ÙÈçÔÙϸµÄ·ÖÀ࣬synchronized¿É×÷ÓÃÓÚinstance±äÁ¿¡¢object reference£¨¶ÔÏóÒýÓã©¡¢staticº¯ÊýºÍclass literals(ÀàÃû³Æ×ÖÃæ³£Á¿)ÉíÉÏ¡£
ÔÚ½øÒ»²½²ûÊö֮ǰ£¬ÎÒÃÇÐèÒªÃ÷È·¼¸µã£º
A£®ÎÞÂÛsynchronized¹Ø¼ü×Ö¼ÓÔÚ·½·¨ÉÏ»¹ÊǶÔÏóÉÏ£¬ËûÈ¡µÃµÄËø¶¼ÊǶÔÏ󣬶ø²»ÊǰÑÒ»¶Î´úÂë»òº¯Êýµ±×÷Ëø¨D¨D¶øÇÒͬ²½·½·¨ºÜ¿ÉÄÜ»¹»á±»ÆäËûÏ̵߳ĶÔÏó·ÃÎÊ¡£
B£®Ã¿¸ö¶ÔÏóÖ»ÓÐÒ»¸öËø£¨lock£©ºÍÖ®Ïà¹ØÁª¡£
C£®ÊµÏÖͬ²½ÊÇÒªºÜ´óµÄϵͳ¿ªÏú×÷Ϊ´ú¼ÛµÄ£¬ÉõÖÁ¿ÉÄÜÔì³ÉËÀËø£¬ËùÒÔ¾¡Á¿±ÜÃâÎÞνµÄͬ²½¿ØÖÆ¡£
D. ¶àÏß³ÌÖжԹ²Ïí¡¢¿É±äµÄÊý¾Ý½øÐÐͬ²½.
    ¶ÔÓÚº¯ÊýÖеľֲ¿±äÁ¿Ã»±ØÒª½øÐÐͬ²½.
    ¶ÔÓÚ²»¿É±äÊý¾Ý,Ҳû±ØÒª½øÐÐͬ²½.
    ¶àÏß³ÌÖзÃÎʹ²Ïí¿É±äÊý¾Ý²ÅÓбØÒª.
½Ó×ÅÀ´ÌÖÂÛsynchronizedÓõ½²»Í¬µØ·½¶Ô´úÂë²úÉúµÄÓ°Ï죺
¼ÙÉèP1¡¢P2ÊÇͬһ¸öÀàµÄ²»Í¬¶ÔÏó£¬Õâ¸öÀàÖж¨ÒåÁËÒÔϼ¸ÖÖÇé¿öµÄͬ²½¿é»òͬ²½·½·¨£¬P1¡¢P2¾Í¶¼Äܹ»µ÷ÓÃËûÃÇ¡£
1£®  °Ñsynchronizedµ±×÷º¯ÊýÐÞÊηûʱ£¬Ê¾Àý´úÂëÈçÏ£º
Public synchronized void method(){
//….
}
ÕâÒ²¾ÍÊÇͬ²½·½·¨£¬ÄÇÕâʱsynchronizedËø¶¨µÄÊÇÄĸö¶ÔÏóÄØ£¿ËûËø¶¨µÄÊǵ÷ÓÃÕâ¸öͬ²½·½·¨¶ÔÏó¡£Ò²¾ÍÊÇ˵£¬µ±Ò»¸ö¶ÔÏóP1ÔÚ²»Í¬µÄÏß³ÌÖÐÖ´ÐÐÕâ¸öͬ²½·½·¨Ê±£¬ËûÃÇÖ®¼ä»áÐγɻ¥³â£¬´ïµ½Í¬²½µÄЧ¹û¡£µ«ÊÇÕâ¸ö¶ÔÏóËùÊôµÄClassËù²úÉúµÄÁíÒ»¶ÔÏóP2È´Äܹ»ÈÎÒâµ÷ÓÃÕâ¸ö±»¼ÓÁËsynchronized¹Ø¼ü×ֵķ½·¨¡£
ÉϱߵÄʾÀý´úÂëµÈͬÓÚÈçÏ´úÂ룺
public void method()
{
synchronized (this)      //  (1)
{
       //…..
}
}
(1)´¦µÄthisÖ¸µÄÊÇÊ²Ã´ÄØ£¿ËûÖ¸µÄ¾ÍÊǵ÷ÓÃÕâ¸ö·½·¨µÄ¶ÔÏó£¬ÈçP1¡£¿É¼ûͬ²½·½·¨ÊµÖÊÊǽ«synchronized×÷ÓÃÓÚobject reference¡£¨D¨DÄǸöÄõ½ÁËP1¶ÔÏóËøµÄỊ̈߳¬²ÅÄܹ»µ÷ÓÃP1µÄͬ²½·½·¨£¬¶ø¶ÔP2¶øÑÔ£¬P1Õâ¸öËøºÍËûºÁ²»Ïà¸É£¬³ÌʽҲ¿ÉÄÜÔÚÕâÖÖÇéÐÎϰÚÍÑͬ²½»úÖÆµÄ¿ØÖÆ£¬Ôì³ÉÊý¾Ý»ìÂÒ£º£¨
2£®Í¬²½¿é£¬Ê¾Àý´úÂëÈçÏ£º
public void method(SomeObject so) {
synchronized(so)


Ïà¹ØÎĵµ£º

Java XStream·â×°Àà

´Ë¸öÀàÊÇΪÁË·½±ã³õѧÕß¶ÔXMLµ½ javabean µÄÏ໥ת»»²»ÊìϤ¶øÐ´µÄ:
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XmlBean {
 /*
  * @AUTHOR:ZHONG
  * @CREATETIME:2010/02/10
  * @PREAM:OBJECT(JAVABEAN)
  * @RETURN:X ......

Java¼¸¸ö³£ÓõIJ¼¾Ö¹ÜÀíÆ÷Àà

Java¼¸¸ö³£ÓõIJ¼¾Ö¹ÜÀíÆ÷Àà:
°ü
Àà
ÌØµã
java.awt
CardLayout
½«×é¼þÏó¿¨Æ¬Ò»Ñù·ÅÖÃÔÚÈÝÆ÷ÖУ¬ÔÚijһʱ¿ÌÖ»ÓÐÒ»¸ö×é¼þ¿É¼û
java.awt
FlowLayout
½«×é¼þ°´´Ó×óµ½ÓÒ¶øºó´ÓÉϵ½ÏµÄ˳ÐòÒÀ´ÎÅÅÁУ¬Ò»Ðв»ÄÜ·ÅÍêÔòÕÛµ½ÏÂÒ»ÐмÌÐø·ÅÖÃ
java.awt
GridLayout
ÐÎËÆÒ»¸öÎÞ¿òÏߵıí¸ñ£¬Ã¿¸öµ¥Ôª¸ñÖзÅÒ»¸ö×é¼þ
java.awt ......

java¶àÏ̱߳à³ÌÒªµã(¶þ)

4¡¢  TimerºÍTimerTaskµÄʹÓÃ
       TimerÊÇÒ»ÖÖ¶¨Ê±Æ÷¹¤¾ß£¬ÓÃÀ´ÔÚÒ»¸öºǫ́Ï̼߳ƻ®Ö´ÐÐÖ¸¶¨ÈÎÎñ£¬ÕâЩÈÎÎñ¿ÉÒÔ±»Ö´ÐÐÒ»´Î£¬Ò²¿ÉÒÔ±»¶¨ÆÚÖ´ÐС£Ã¿¸ö Timer ¶ÔÏó¶ÔÓ¦Ò»¸öºǫ́Ị̈߳¬Ë³ÐòµØÖ´ÐÐËùÓмÆÊ±Æ÷ÈÎÎñ¡£Èç¹ûÍê³Éij¸ö¼ÆÊ±Æ÷ÈÎÎñµÄʱ¼äÌ«³¤£¬ÄÇôËü»á“¶ÀÕ¼”¼ÆÊ±Æ÷µÄÈ ......

´øÓÐÊÂÎñµÄjava·ÃÎÊÊý¾Ý¿â

¹Ø¼üÓï¾ä£º
    conn.setAutoCommit(false);
    if(!ok) conn.rollBack();
    // after all done
    conn.commit();
    conn.setAutoCommit(true);
   
ǧÍò±ðÍü¼ÇÒª¼Óconn.commit()·ñÔò²»»áÖ´ÐÐÊÂÎñµÄ¡£
ÁíÍ⣬M ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ