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

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³ÌÐòÔ±À´Ëµ·ÀÖ¹ËÀËøÊÇÒ»ÖֽϺõÄÑ¡Ôñ¡£×î¼òµ¥µÄ·ÀÖ¹ËÀËøµÄ·½·¨ÊǶԾºÕùµÄ×ÊÔ´ÒýÈëÐòºÅ,Èç¹ûÒ»¸öÏß³ÌÐèÒª¼¸¸ö×ÊÔ´,ÄÇôËü±ØÐëÏȵõ½Ð¡ÐòºÅµÄ×ÊÔ´,ÔÙÉêÇë´óÐ


Ïà¹ØÎĵµ£º

UbuntuÏÂjava»·¾³ÅäÖÃ

Ò»¡¢¸øUbuntuÅäÖÃJAVA»·¾³ 
¡¡ 
¡¡¡¡²Ù×÷ϵͳ°æ±¾£ºUbuntu 7.10 Gutsy 
¡¡ 
¡¡¡¡JAVA°æ±¾£ºJAVA 6 
¡¡ 
¡¡¡¡ÔÚUbuntuϰ²×°JAVAÐéÄâ»úºÍSDK£¨¿ª·¢°ü£©ÊǷdz£ÇáËÉÈÝÒ׵ģº 
¡¡ 
¡¡¡¡ÁªÍøµÄÇé¿öÏÂÔÚÖÕ¶ËÏÂÊäÈëÃüÁî 
¡¡ 
¡¡¡¡$sudo apt-get& ......

javaÉú³ÉÊý×ÖÖ¤Êé·½·¨

Java ÖÐÉú³ÉÊý×ÖÖ¤ÊéÒ²ºÜ¼òµ¥µÄ¡£
1¡¢´´½¨Ö¤Êé
Java ÖÐµÄ keytool.exe £¨Î»ÓÚ JDKBin Ŀ¼Ï£©¿ÉÒÔÓÃÀ´´´½¨Êý×ÖÖ¤Ê飬ËùÓеÄÊý×ÖÖ¤ÊéÊÇÒÔÒ»ÌõÒ»Ìõ(²ÉÓñðÃûÇø±ð)µÄÐÎʽ´æÈëÖ¤Êé¿âµÄÖУ¬Ö¤Êé¿âÖеÄÒ»ÌõÖ¤Êé°üº¬¸ÃÌõÖ¤ÊéµÄ˽Կ£¬¹«Ô¿ºÍ¶ÔÓ¦µÄÊý×ÖÖ¤ÊéµÄÐÅÏ¢¡£Ö¤Êé¿âÖеÄÒ»ÌõÖ¤Êé¿ÉÒÔµ¼³öÊý×ÖÖ¤ÊéÎļþ£¬Êý×ÖÖ¤ÊéÎļþÖ»°üÀ¨ ......

javaÐÔÄÜ·ÖÎö

    Ô­ÎĵØÖ·£ºhttp://www.javaeye.com/topic/626801 Ò»Ö±ÔÞ̾Sun¶Ô´ý¼¼ÊõµÄÑϽ÷ºÍÓÅÑÅ£¨¿ÉÁ¯µÄSun£©¡£Sun JDKÖÐJava¿âµÄÔ´´úÂ룬Á¬×¢ÊͶ¼ÇåÇå³þ³þ¡¢¹æ¹æ·¶·¶£¬javadoc×¢½âµÄʹÓÃҲһ˿²»¹¶£¬¶ÁÆðÀ´ºÜÊìÊæ·þ¡£Òò´Ë£¬ÔÚÈÕ³£¹¤×÷ºÍѧϰÖУ¬¾­³£¶Á¶Á Java¿âµÄÔ´´úÂ룬²»ÒàÀÖºõ£¿Èç¹ûÓöµ½¹îÒìÎÊÌ⣬Դ´úÂë ......

java classLoader Ìåϵ½á¹¹

jvm classLoader architecture£º
1. Bootstrap ClassLoader/Æô¶¯Àà¼ÓÔØÆ÷
Ö÷Òª¸ºÔðjdk_home/libĿ¼ÏµĺËÐÄ api »ò -Xbootclasspath Ñ¡ÏîÖ¸¶¨µÄjar°ü×°È빤×÷¡£
2. Extension ClassLoader/À©Õ¹Àà¼ÓÔØÆ÷
Ö÷Òª¸ºÔðjdk_home/lib/extĿ¼ÏµÄjar°ü»ò -Djava.ext.dirs Ö¸¶¨Ä¿Â¼ÏµÄjar°ü×°È빤×÷¡£
3 ......

JavaÖеÄ×Ö·û´®Êó±êºÍ¼üÅÌʼþ

×Ö·û´®
1¡¢»ñÈ¡×Ö·û´®µÄ³¤¶È 
length() 
2 ¡¢ÅжÏ×Ö·û´®µÄǰ׺»òºó׺ÓëÒÑÖª×Ö·û´®ÊÇ·ñÏàͬ 
ǰ׺ startsWith(String s) 
ºó׺ endsWith(String s) 
3¡¢±È½ÏÁ½¸ö×Ö·û´® 
equals(String s) 
4¡¢°Ñ×Ö·û´®×ª»¯ÎªÏàÓ¦µÄÊýÖµ 
intÐÍ Integer.parseInt(×Ö·û´®) 
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ