JavaÏß³Ì֪ʶÉîÈë½âÎö(2)
¶àÏ̳߳ÌÐò
¶ÔÓÚ¶àÏ̵߳ĺô¦Õâ¾Í²»¶à˵ÁË¡£µ«ÊÇ,ËüͬÑùÒ²´øÀ´ÁËijЩеÄÂé·³¡£Ö»ÒªÔÚÉè¼Æ³ÌÐòÊ±ÌØ±ðСÐÄÁôÒâ,¿Ë·þÕâЩÂé·³²¢²»ËãÌ«À§ÄÑ¡£
(1)ͬ²½Ïß³Ì
Ðí¶àÏß³ÌÔÚÖ´ÐÐÖбØÐ뿼ÂÇÓëÆäËûÏß³ÌÖ®¼ä¹²ÏíÊý¾Ý»òе÷Ö´ÐÐ״̬¡£Õâ¾Í ÐèҪͬ²½»úÖÆ¡£ÔÚJavaÖÐÿ¸ö¶ÔÏó¶¼ÓÐÒ»°ÑËøÓëÖ®¶ÔÓ¦¡£µ«Java²»Ìṩµ¥¶ÀµÄlockºÍunlock²Ù×÷¡£ËüÓɸ߲ãµÄ½á¹¹ÒþʽʵÏÖ, À´±£Ö¤²Ù×÷µÄ¶ÔÓ¦¡£(È»¶ø,ÎÒÃÇ×¢Òâµ½JavaÐéÄâ»úÌṩµ¥¶ÀµÄmonito renterºÍmonitorexitÖ¸ÁîÀ´ÊµÏÖlockºÍunlock²Ù×÷¡£)
synchronizedÓï¾ä¼ÆËãÒ»¸ö¶ÔÏóÒýÓÃ,ÊÔͼ¶Ô¸Ã¶ÔÏóÍê³ÉËø²Ù×÷, ²¢ÇÒÔÚÍê³ÉËø²Ù×÷ǰֹͣ´¦Àí¡£µ±Ëø²Ù×÷Íê³ÉsynchronizedÓï¾äÌåµÃµ½Ö´ÐС£µ±Óï¾äÌåÖ´ÐÐÍê±Ï(ÎÞÂÛÕý³£»òÒì³£),½âËø²Ù×÷×Ô¶¯Íê³É¡£×÷ÎªÃæÏò¶ÔÏóµÄÓïÑÔ,synchronized¾³£Óë·½·¨Á¬Óá£Ò»ÖֱȽϺõİ취ÊÇ,Èç¹ûij¸ö±äÁ¿ÓÉÒ»¸öÏ̸߳³Öµ²¢ÓɱðµÄÏß³ÌÒýÓûò¸³Öµ,ÄÇôËùÓжԸñäÁ¿µÄ·ÃÎʶ¼±ØÐëÔÚij¸ösynchromizedÓï¾ä»òsynchronized·½·¨ÄÚ¡£
ÏÖÔÚ¼ÙÉèÒ»ÖÖÇé¿ö£ºÏß³Ì1ÓëÏß³Ì2¶¼Òª·ÃÎÊij¸öÊý¾ÝÇø,²¢ÇÒÒªÇóÏß³Ì1µÄ·ÃÎÊÏÈÓÚÏß³Ì2, ÔòÕâʱ½öÓÃsynchronizedÊDz»Äܽâ¾öÎÊÌâµÄ¡£ÕâÔÚUnix»òWindows NTÖпÉÓÃSimaphoreÀ´ÊµÏÖ¡£¶øJava²¢²»Ìṩ¡£ÔÚJavaÖÐÌṩµÄÊÇwait()ºÍnotify()»úÖÆ¡£Ê¹ÓÃÈçÏÂ:
synchronized method-1(…){ call by thread 1.
¡Îaccess data area;
available=true;
notify()
}
synchronized method-2(…){¡Îcall by thread 2.
while(!available)
try{
wait();¡Îwait for notify().
}catch (Interrupted Exception e){
} ¡Îaccess data area
}
ÆäÖÐavailableÊÇÀà³ÉÔ±±äÁ¿,ÖóõֵΪfalse¡£Èç¹ûÔÚmethod-2Öмì²éavailableΪ¼Ù,Ôòµ÷ÓÃwait()¡£wait()µÄ×÷ÓÃÊÇʹÏß
³Ì2½øÈë·ÇÔËÐÐ̬,²¢ÇÒ½âËø¡£ÔÚÕâÖÖÇé¿öÏÂ,method-1¿ÉÒÔ±»Ïß³Ì1µ÷Óᣵ±Ö´ÐÐ notify()ºó¡£Ïß³Ì2ÓÉ·ÇÔËÐÐ̬ת±äΪ¿ÉÔËÐÐ̬¡£µ±method-1µ÷Ó÷µ»Øºó¡£Ïß³Ì2 ¿ÉÖØÐ¶ԸöÔÏó¼ÓËø,¼ÓËø³É¹¦ºóÖ´ÐÐwait()·µ»ØºóµÄÖ¸Áî¡£ÕâÖÖ»úÖÆÒ²ÄÜÊÊÓÃÓÚ ÆäËû¸ü¸´ÔÓµÄÇé¿ö¡£
(2)ËÀËø
Èç¹û³ÌÐòÖÐÓм¸¸ö¾ºÕù×ÊÔ´µÄ²¢·¢Ïß³Ì,ÄÇô±£Ö¤¾ùºâÊǺÜÖØÒªµÄ¡£ÏµÍ³¾ùºâÊÇָÿ¸öÏß³ÌÔÚÖ´Ðйý³ÌÖж¼Äܳä·Ö·ÃÎÊÓÐÏÞµÄ×ÊÔ´¡£ÏµÍ³ÖÐûÓжöËÀºÍËÀËøµÄÏ̡߳£Java²¢²»Ìṩ¶ÔËÀËøµÄ¼ì²â»úÖÆ¡£¶Ô´ó¶àÊýµÄJava³ÌÐòÔ±À´Ëµ·ÀÖ¹ËÀËøÊÇÒ»ÖֽϺõÄÑ¡Ôñ¡£×î¼òµ¥µÄ·ÀÖ¹ËÀËøµÄ·½·¨ÊǶԾºÕùµÄ×ÊÔ´ÒýÈëÐòºÅ,Èç¹ûÒ»¸öÏß³ÌÐèÒª¼¸¸ö×ÊÔ´,ÄÇôËü±ØÐëÏȵõ½Ð¡ÐòºÅµÄ×ÊÔ´,ÔÙÉêÇë´óÐ
Ïà¹ØÎĵµ£º
ÔÎĵØÖ·£ºhttp://www.javaeye.com/topic/626801 Ò»Ö±ÔÞ̾Sun¶Ô´ý¼¼ÊõµÄÑϽ÷ºÍÓÅÑÅ£¨¿ÉÁ¯µÄSun£©¡£Sun JDKÖÐJava¿âµÄÔ´´úÂ룬Á¬×¢ÊͶ¼ÇåÇå³þ³þ¡¢¹æ¹æ·¶·¶£¬javadoc×¢½âµÄʹÓÃҲһ˿²»¹¶£¬¶ÁÆðÀ´ºÜÊìÊæ·þ¡£Òò´Ë£¬ÔÚÈÕ³£¹¤×÷ºÍѧϰÖУ¬¾³£¶Á¶Á Java¿âµÄÔ´´úÂ룬²»ÒàÀÖºõ£¿Èç¹ûÓöµ½¹îÒìÎÊÌ⣬Դ´úÂë ......
ÔÚwindows×ÀÃæÉÏÓÒ»÷“ÎҵĵçÄÔ” —> “ÊôÐÔ” —> “¸ß¼¶” —> “»·¾³±äÁ¿”£¬Ôړϵͳ±äÁ¿”ÀïÎÒÃÇ¿ÉÒÔ¿´µ½ÏµÍ³µÄ¸÷¸ö»·¾³±äÁ¿µÄÖµ¡£Ë«»÷ij¸ö±äÁ¿Ãû¿ÉÒÔÐ޸ıäÁ¿Öµ£¬±äÁ¿ÖµÖ®¼äÓÓ;”¸ô¿ª¡£ÎÒÃÇ»¹¿ÉÒԓн¨”ÔÏÈÃ»Ó ......
ÏÈÌùÒ»¶Î
Java
»ù±¾½á¹¹
Java
½á¹¹°üÀ¨Ëĸö²»Í¬¶øÓÖÏà¹ØµÄ²¿·Ö£º
Java
ÓïÑÔ¡¢
class
Îļþ¸ñʽ¡¢Ó¦ÓóÌÐò½Ó
¿Ú¡¢ÐéÄâ»ú
ÆäÖУ¬ÐéÄâ»úµÄÖ÷ÒªÈÎÎñÊÇÔÚ³ÌÐòÔËÐÐÖÐÐèÒªµÄʱºòµ÷ÓÃ
class
Îļþ²¢Ö´ÐÐÆäÖеÄ×Ö½ÚÂë¡£Ò»¸ö
Java
Ó¦
ÓÃÓÐÁ½ÖÖ
class loader
£º
the system class loader
ºÍ
class loader objects
......
1¡¢Oracle8/8i/9iÊý¾Ý¿â£¨thinģʽ£©
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orclΪÊý¾Ý¿âµÄSID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2¡¢DB ......
×Ö·û´®
1¡¢»ñÈ¡×Ö·û´®µÄ³¤¶È
length()
2 ¡¢ÅжÏ×Ö·û´®µÄǰ׺»òºó׺ÓëÒÑÖª×Ö·û´®ÊÇ·ñÏàͬ
ǰ׺ startsWith(String s)
ºó׺ endsWith(String s)
3¡¢±È½ÏÁ½¸ö×Ö·û´®
equals(String s)
4¡¢°Ñ×Ö·û´®×ª»¯ÎªÏàÓ¦µÄÊýÖµ
intÐÍ Integer.parseInt(×Ö·û´®)
......