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

java Ïß³ÌС½á

1, ΪʲôwaitÓënotify֮ǰ±ØÐëÒª¼Ósynchronized?
´ð°¸ÆäʵºÜ¼òµ¥£¬Ò²ÊÇΪÁË·ÀÖ¹µÈ´ý-֪ͨ»úÖÆ³öÏÖrace condition
Ϊʲô»á³öÏÖrace condition ?
´ð£º ¶ÔÏóÔÚ±»wait֮ǰÒѾ­±»ÁíÒ»Ïß³Ìnotify , Ö®ºóµÄwait »áÓÀ¾ÃÍ£Ö¹,²¢µ¼ÖÂdeadlock(ËÀËø)
ÀíÏëÇé¿ö£º
1, µÚÒ»¸öÏß³ÌÅжϸöÔÏóÊÇ·ñÒªwait
2, µÚÒ»¸öÏ߳̽«¶ÔÏówait
3, µÚ¶þ¸öÏß³ÌÔÙ½«¶ÔÏónotify
ʵ¼ÊÇé¿ö
1, µÚÒ»¸öÏß³ÌÅжϸöÔÏóÊÇ·ñÒªwait
2, µÚ¶þ¸öÏ߳̽«¶ÔÏónotify
3, µÚÒ»¸öÏ߳̽«¶ÔÏówait
ΪÁË·ÀÖ¹ÕâЩÇé¿ö£¬²ÅÐèÒªÔÚwaitÓënotify֮ǰ¼Ósynchronized
java ´úÂë
A a = A.getInstance();//µ¥Àý¶ÔÏó,ͬһ·ÝʵÀý²»Ïú»Ù
synchronized (a) {
a.wait();
}
-------------------------------ÁíÒ»Ïß³Ì
A a = A.getInstance();
synchronized(a) {
a.notify();
}
µÈ´ý-֪ͨ»úÖÆ±ØÐëÓësychronizedÒ»ÆðÓÃ,·ñÔò×ÔÉíÒ²»áÓÐ race condition.
2, ¾²Ì¬Í¬²½·½·¨Óë·Ç¾²Ì¬Í¬²½·½·¨µÄÇø±ð
ÓÐʱ£¬ÎÒÃǾ­³£»áÅöµ½ÕâÑùµÄ´úÂ룡
ÒµÎñÂß¼­µÄ·â×°Àà:
public class Logic {
private static final Log log = LogFactory.getLog(Logic.class);
private static Logic logic;
 
private Logic() {}
 
public static Logic getInstance() {
if (null == logic) {
logic = new Logic();
}
 
return logic;
}
 
public static synchronized void testStatic() {
log.info(Thread.currentThread().getName() + " : static method is running");
}
 
public synchronized void testNonStatic() {
log.info(Thread.currentThread().getName() + " : non static method is running");
}
}
·Ç¾²Ì¬·½·¨µÄÖ´ÐÐ:
public class ThreadRun1 extends Thread {
private static final Log log = LogFactory.getLog(ThreadRun1.class);
 
public void run() {
Logic logic = Logic.getInstance(); // object reference
 
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
log.error("some exceptions occured :", e);
}
 
logic.testNonStatic();
 
logEnd();
}
 
private void logEnd() {
log.info("thread ru


Ïà¹ØÎĵµ£º

JavaỊ̈߳ºÐÂÌØÕ÷ Ëø£¨Ï£©

JavaỊ̈߳ºÐÂÌØÕ÷-Ëø£¨Ï£©
 
ÔÚÉÏÎÄÖÐÌáµ½ÁËLock½Ó¿ÚÒÔ¼°¶ÔÏó£¬Ê¹ÓÃËü£¬ºÜÓÅÑŵĿØÖÆÁ˾ºÕù×ÊÔ´µÄ°²È«·ÃÎÊ£¬µ«ÊÇÕâÖÖËø²»Çø·Ö¶Áд£¬³ÆÕâÖÖËøÎªÆÕÍ¨Ëø¡£ÎªÁËÌá¸ßÐÔÄÜ£¬JavaÌṩÁ˶ÁÐ´Ëø£¬ÔÚ¶ÁµÄµØ·½Ê¹ÓöÁËø£¬ÔÚдµÄµØ·½Ê¹ÓÃÐ´Ëø£¬Áé»î¿ØÖÆ£¬ÔÚÒ»¶¨³Ì¶ÈÉÏÌá¸ßÁ˳ÌÐòµÄÖ´ÐÐЧÂÊ¡£
 
JavaÖжÁÐ´ËøÓиö½Ó¿Újava ......

JavaỊ̈߳ºÐÂÌØÕ÷ ÐźÅÁ¿

JavaỊ̈߳ºÐÂÌØÕ÷-ÐźÅÁ¿
 
JavaµÄÐźÅÁ¿Êµ¼ÊÉÏÊÇÒ»¸ö¹¦ÄÜÍê±ÏµÄ¼ÆÊýÆ÷£¬¶Ô¿ØÖÆÒ»¶¨×ÊÔ´µÄÏû·ÑÓë»ØÊÕÓÐןÜÖØÒªµÄÒâÒ壬ÐźÅÁ¿³£³£ÓÃÓÚ¶àÏ̵߳ĴúÂëÖУ¬²¢ÄÜ¼à¿ØÓжàÉÙÊýÄ¿µÄÏ̵߳ȴý»ñÈ¡×ÊÔ´£¬²¢ÇÒͨ¹ýÐźÅÁ¿¿ÉÒÔµÃÖª¿ÉÓÃ×ÊÔ´µÄÊýÄ¿µÈµÈ£¬ÕâÀï×ÜÊÇÔÚÇ¿µ÷“ÊýÄ¿”¶þ×Ö£¬µ«²»ÄÜÖ¸³öÀ´ÓÐÄÄЩÔڵȴý£¬ÄÄЩ×ÊÔ ......

Java Éú³É EXCEL POIÎĵµËµÃ÷

Java Éú³É EXCEL POIÎĵµËµÃ÷
POI°æ±¾:3.0.2-FINAL
ÏÂÔØµØÖ·: http://poi.apache.org/index.html
 
Ò»°ãÔÚÏîÄ¿ÖÐÕæÕýҪʵÏÖÕâÑùÒ»¸ö±í¸ñµÄʱºò£¬ÀýÈçÏîÄ¿ÐèÒªÖÆ×÷±¨±íµÈµÈ£¬Í¨³£µÄ×ö·¨¶¼ÊÇÊÂÏȰѸñʽһÇеĶ«Î÷¶¼ÊÖ¶¯ÖÆ×÷ºÃ£¨Õâ¸ö×öºÃÁ˵ÄÎļþÔÚʵ¼ÊµÄÏîÄ¿ÀïÎÒÃdzÆÖ®Îª“Êý¾ÝÄ£°å”£¬¼ò³Æ“Ä£°å&rd ......

JAVAÀà·¾¶

Java Àà·¾¶
Java Àà·¾¶¸æËß java ½âÊÍÆ÷ºÍ javac ±àÒëÆ÷È¥ÄÄÀïÕÒËüÃÇÒªÖ´Ðлòµ¼ÈëµÄÀà¡£ÀࣨÄú¿ÉÄÜ×¢Òâµ½µÄÄÇЩ *.class Îļþ£©¿ÉÒÔ´æ´¢ÔÚĿ¼»ò jar ÎļþÖУ¬»òÕß´æ´¢ÔÚÁ½ÕßµÄ×éºÏÖУ¬µ«ÊÇÖ»ÓÐÔÚËüÃÇλÓÚÀà·¾¶ÖеÄij¸öµØ·½Ê±£¬Java ±àÒëÆ÷»ò½âÊÍÆ÷²Å¿ÉÒÔÕÒµ½ËüÃÇ¡£
ÔÚ Windows ÖУ¬Àà·¾¶ÖеĶà¸öÏîÊÇÓ÷ֺŷָô£¨ ;£ ......

java¿ìËÙÅÅÐò

/**
 *  Õâ¶Î³ÌÐò²¢²»ÄÑ£¬Ó¦¸ÃºÜºÃ¿´¶®£¬ÎҰѹý³Ì´óÖ½²Ò»Ï£¬Ê×ÏÈÄãµÄÄÔ×ÓÀïÏȸ¡ÏÖÒ»¸öÊý×éºÍÈý¸öÖ¸Õ룬
 *  µÚÒ»¸öÖ¸Õë³ÆÎªpÖ¸Õ룬ÔÚÕû¸ö¹ý³Ì½áÊøÖ®Ç°ËüÀÎÀεÄÖ¸ÏòµÚÒ»¸öÊý£¬µÚ¶þ¸öÖ¸ÕëºÍµÚÈý¸öÖ¸Õë·Ö±ðΪloÖ¸ÕëºÍhiÖ¸Õ룬
 *  ·Ö±ðÖ¸Ïò×î×ó±ßµÄÖµºÍ×îÓұߵÄÖµ¡£loÖ¸ÕëºÍhiÖ¸Õë´ÓÁ½±ßͬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ