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


Ïà¹ØÎĵµ£º

javaÃæÊÔÌâ2

ÎÒÃÇ´ó¼Ò¶¼ÖªµÀ£¬¶ÔÓÚ¾²Ì¬±äÁ¿¡¢¾²Ì¬³õʼ»¯¿é¡¢±äÁ¿¡¢³õʼ»¯¿é¡¢¹¹ÔìÆ÷£¬ËüÃǵijõʼ»¯Ë³ÐòÒÔ´ËÊÇ£¨¾²Ì¬±äÁ¿¡¢¾²Ì¬³õʼ»¯¿é£©>£¨±äÁ¿¡¢³õʼ»¯¿é£©>¹¹ÔìÆ÷¡£ÎÒÃÇÒ²¿ÉÒÔͨ¹ýÏÂÃæµÄ²âÊÔ´úÂëÀ´ÑéÖ¤ÕâÒ»µã£º
public class InitialOrderTest {
// ¾²Ì¬±äÁ¿
public static String staticField = "¾²Ì¬±äÁ¿";
// ±äÁ¿
......

´«ÖDz¥¿ÍJavaÅàѵ Servlet

ÔçÉÏÆð´²ÓеãÍíÁË£¬µ½Ñ§Ð£µÃʱºò¶¼8£º50ÁË£¬Ò»½ø½ÌÊÒ¿´¼ûÕÅТÏéÀÏʦÔÚ½ÌÊÒÀï¸øÍ¬Ñ§Ãǽâ¾öÎÊÌ⣬²»¼ûÁËÀϱϵÄÉíÓ°£¬»¹ÒÔΪ×ß´í½ÌÊÒÁËÄØ£¬°´Àí˵Õâ¸öʱºòÀϱÏÓ¦¸ÃÔçÀ´Á˲ÅÊÇ£¬Ò»ÎʲÅÖªµÀÊDZÏÀÏʦ²¡ÁË,È¥Ò½Ôº¼ì²éÈ¥ÁË£¬Ï£Íû±ÏÀÏʦÄÜÔçµãºÃÆðÀ´£¡
½ñÌìÊÇÕÅÀÏʦ¸øÎÒÃÇÉϿΣ¬ÉîÈëÆÊÎöservlet£¬ÔÚûÀ´´«ÖDz¥¿Í֮ǰ¿´¹ý²»ÉÙÒÔǰÕÅÀ ......

JAVAÅäÖû·¾³±äÁ¿

ÔÚwindows×ÀÃæÉÏÓÒ»÷“ÎҵĵçÄÔ” —> “ÊôÐÔ” —> “¸ß¼¶” —> “»·¾³±äÁ¿”£¬Ôړϵͳ±äÁ¿”ÀïÎÒÃÇ¿ÉÒÔ¿´µ½ÏµÍ³µÄ¸÷¸ö»·¾³±äÁ¿µÄÖµ¡£Ë«»÷ij¸ö±äÁ¿Ãû¿ÉÒÔÐ޸ıäÁ¿Öµ£¬±äÁ¿ÖµÖ®¼äÓÓ;”¸ô¿ª¡£ÎÒÃÇ»¹¿ÉÒԓн¨”Ô­ÏÈÃ»Ó ......

Java ÔËËã·û×ܼÆ

1.ËãÊõÔËËã·û
    JavaµÄËãÊõÔËËã·û·ÖΪһԪÔËËã·ûºÍ¶þÔªÔËËã·û¡£Ò»ÔªÔËËã·ûÖ»ÓÐÒ»¸ö²Ù×÷Êý£»¶þÔªÔËËã·ûÓÐÁ½¸ö²Ù×÷Êý£¬ÔËËã·ûλÓÚÁ½¸ö²Ù×÷ÊýÖ®¼ä¡£ËãÊõÔËËã·ûµÄ²Ù×÷Êý±ØÐëÊÇÊýÖµÀàÐÍ¡£
    (1)Ò»ÔªÔËËã·û£º
    Ò»ÔªÔËËã·ûÓУºÕý£¨+£©¡¢¸º£¨£­£©¡¢¼Ó1£¨++£©ºÍ¼õ1£¨£­£­£ ......

JAVA×Ö·û´®Àà

import java.util.*;
import java.util.regex.Pattern;
public class StrTools {
/**
* ·Ö¸î×Ö·û´®
*
* @param str String ԭʼ×Ö·û´®
* @param splitsign String ·Ö¸ô·û
* @return String[] ·Ö¸îºóµÄ×Ö·û´®Êý×é
*/
@SuppressWarnings("unchecked")
public static String[] split(Stri ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ