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

javaÖеÄËø³ØºÍµÈ´ý³Ø

ÔÚjavaÖУ¬Ã¿¸ö¶ÔÏó¶¼ÓÐÁ½¸ö³Ø£¬Ëø(monitor)³ØºÍµÈ´ý³Ø
wait() ,notifyAll(),notify() Èý¸ö·½·¨¶¼ÊÇObjectÀàÖеķ½·¨.
Ëø³Ø:¼ÙÉèÏß³ÌAÒѾ­ÓµÓÐÁËij¸ö¶ÔÏó(×¢Òâ:²»ÊÇÀà)µÄËø£¬¶øÆäËüµÄÏß³ÌÏëÒªµ÷ÓÃÕâ¸ö¶ÔÏóµÄij¸ösynchronized·½·¨(»òÕßsynchronized¿é)£¬ÓÉÓÚÕâЩÏß³ÌÔÚ½øÈë¶ÔÏóµÄsynchronized·½·¨Ö®Ç°±ØÐëÏÈ»ñµÃ¸Ã¶ÔÏóµÄËøµÄÓµÓÐȨ£¬µ«ÊǸöÔÏóµÄËøÄ¿Ç°Õý±»Ïß³ÌAÓµÓУ¬ËùÒÔÕâЩÏ߳̾ͽøÈëÁ˸öÔÏóµÄËø³ØÖС£
µÈ´ý³Ø:¼ÙÉèÒ»¸öÏß³ÌAµ÷ÓÃÁËij¸ö¶ÔÏóµÄwait()·½·¨£¬Ïß³ÌA¾Í»áÊͷŸöÔÏóµÄËø(ÒòΪwait()·½·¨±ØÐë³öÏÖÔÚsynchronizedÖУ¬ÕâÑù×ÔÈ»ÔÚÖ´ÐÐwait()·½·¨Ö®Ç°Ïß³ÌA¾ÍÒѾ­ÓµÓÐÁ˸öÔÏóµÄËø)£¬Í¬Ê±Ïß³ÌA¾Í½øÈëµ½Á˸öÔÏóµÄµÈ´ý³ØÖС£Èç¹ûÁíÍâµÄÒ»¸öÏ̵߳÷ÓÃÁËÏàͬ¶ÔÏóµÄnotifyAll()·½·¨£¬ÄÇô´¦ÓڸöÔÏóµÄµÈ´ý³ØÖеÄÏ߳̾ͻáÈ«²¿½øÈë¸Ã¶ÔÏóµÄËø³ØÖУ¬×¼±¸Õù¶áËøµÄÓµÓÐȨ¡£Èç¹ûÁíÍâµÄÒ»¸öÏ̵߳÷ÓÃÁËÏàͬ¶ÔÏóµÄnotify()·½·¨£¬ÄÇô½ö½öÓÐÒ»¸ö´¦ÓڸöÔÏóµÄµÈ´ý³ØÖеÄÏß³Ì(Ëæ»ú)»á½øÈë¸Ã¶ÔÏóµÄËø³Ø.
ÏÂÃæÍ¨¹ýÒ»¸öÀý×ÓÀ´ËµÃ÷:
ÒªÇóдÁ½¸öỊ̈߳¬Ò»¸öÏ߳̽«Ä³¸ö¶ÔÏóµÄij¸ö³ÉÔ±±äÁ¿µÄÖµ¼Ó1£¬¶øÁíÍâÒ»¸öÏ߳̽«Õâ¸ö³ÉÔ±±äÁ¿µÄÖµ¼õ1.ʹµÃ¸Ã±äÁ¿µÄֵʼÖÕ´¦ÓÚ[0,2].³õʼֵΪ0.
package com.tju;
class Target
{
private int count;

public synchronized void increase()
{
if(count == 2)
{
try
{
wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
count++;
System.out.println(Thread.currentThread().getName() + ":" + count);
notify();
}

public synchronized void decrease()
{
if(count == 0)
{
try
{
//µÈ´ý£¬ÓÉÓÚDecreaseÏ̵߳÷Óõĸ÷½·¨,
//ËùÒÔDecreaseÏ߳̽øÈë¶ÔÏót(mainº¯ÊýÖÐʵÀý»¯µÄ)µÄµÈ´ý³Ø£¬²¢ÇÒÊͷŶÔÏótµÄËø
wait();//ObjectÀàµÄ·½·¨
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
count--;
System.out.println(Thread.currentThread().getName() + ":" + count);

//»½ÐÑÏß³ÌIncrease£¬IncreaseÏ̴߳ӵȴý³Øµ½Ëø³Ø
notify();
}
}
class Increase extends Thread
{
private Target t;

public Increase(Target t)
{
this.t = t;
}
@Override
public void run()
{
for(int i = 0 ;i < 30; i++)
{
try
{


Ïà¹ØÎĵµ£º

javaÉè¼ÆÄ£Ê½

1¡¢FACTORY£¨¹¤³§Ä£Ê½£©
2¡¢BUILDER£¨½¨Ôìģʽ£©
3¡¢FACTORY METHOD£¨¹¤³§·½·¨Ä£Ê½£©
4¡¢PROTOTYPE£¨Ô­Ê¼Ä£ÐÍģʽ£©
5¡¢SINGLETON£¨µ¥Àýģʽ£©
6¡¢ADAPTER£¨ÊÊÅäÆ÷ģʽ£©
7¡¢BRIDGE£¨ÇÅÁºÄ£Ê½£©
8¡¢COMPOSITE£¨ºÏ³Éģʽ£©
9¡¢DECORATOR£¨×°ÊÎģʽ£©
10¡¢FACADE£¨ÃÅÃæÄ£Ê½£©
11¡¢FLYWEIGHT£¨ÏíԪģʽ£© ......

JavaÐéÄâ»ú ºÍ javaÐéÄâ»úϵĽø³Ì

Ò»¡¢Ê²Ã´ÊÇJavaÐéÄâ»ú
     µ±Äã̸µ½JavaÐéÄâ»úʱ£¬Äã¿ÉÄÜÊÇÖ¸£º
     1¡¢³éÏóµÄJavaÐéÄâ»ú¹æ·¶
     2¡¢Ò»¸ö¾ßÌåµÄJavaÐéÄâ»úʵÏÖ
     3¡¢Ò»¸öÔËÐеÄJavaÐéÄâ»úʵÀý
¶þ¡¢JavaÐéÄâ»úµÄÉúÃüÖÜÆÚ
     Ò»¸öÔËÐÐ ......

Serializable javaÐòÁл¯

Bean Serializable Interface µÄ½Ó¿ÚÈÃBEAN¿ÉÒÔ´®Ðл¯£¬½«Æä±ä³ÉÒ»¸ö¿É±£´æÎªÒÔºóʹÓõĶþ½øÖÆÁ÷¡£µ±Ò»¸öBEAN±»ÏµÁл¯µ½´ÅÅÌÉÏ»òÕ߯äËûÈκεط½£¬Æä״̬±»±£´æÆðÀ´£¬ÆäÖеÄÊôÐÔÖµÒ²²»»á¸Ä±ä¡£ÔÚBEANµÄ¹æ·¶ÖУ¬JSP²¢Ã»ÓÐÒªÇóBEANʵÏÖSerializable½Ó¿Ú¡£µ«ÊÇ£¬Èç¹ûÄúÏ£Íû×Ô¼º¿ØÖÆÄúËù´´½¨µÄ×é¼þµÄserialization½ø³Ì£¬»òÕßÄúÏë ......

Oracle ÓëÔÚJavaÖеÄÁ´½Ó

תÌû´¦£ºhttp://dong-java.javaeye.com/blog/375150 
1¡£ÍƼöʹÓÃOralce±È½ÏеÄ10.2.0.3 JDBC Drivers¡£Õâ¸ö°æ±¾¶Ô±È9.2µÄ×î´óµÄºÃ´¦ÊÇDriverManager.setLoginTimeoutº¯ÊýÊÇÆð×÷Óõġ£ÉèÖÃÁËÕâ¸ö²ÎÊý£¬ÔÚ¶ñÁÓµÄÍøÂç»·¾³ÖоͲ»»áÓÐÁ¬½ÓÊý¾Ý¿âµÄº¯Êý³¤Ê±¼ä²»·µ»ØµÄÇé¿ö¡£
2¡£JDBC Developer!ˉs Guide and Refer ......

Javaģʽ֮µ¥Àýģʽ

¼òµ¥µÄ˵µ¥Àý¾ÍÊÇ Ö»ÄÜÓÐÒ»¸öʵÀý£¬ËùÒԵط½Óõ½µÄʵÀý¶¼ÊÇͬһ¸ö¡£
¾ÍºÃÏñ¼ÒÈ˳Է¹£¬×À×ÓÊǵ¥ÀýµÄ£¬´ó¼ÒÓõÄÊÇͬһ¸ö¡£¶øÍëÊǶàÀýµÄ£¬Ã¿È˶¼ÓÐ×Ô¼¸µÄ¡£ ÏÂÃæÊǾßÌåµÄÀý×Ó£º
Javaģʽ֮µ¥Àýģʽ£º
          µ¥Àýģʽȷ±£Ò»¸öÀàÖ»ÓÐÒ»¸öʵÀý£¬×ÔÐÐÌṩÕâ¸öʵÀý²¢ÏòÕû¸öÏµÍ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ