JavaÏß³Ìͬ²½ £¨synchronized wait notify£©
×¢£ºwait notify ¶¼ÊÇObjectµÄ·½·¨
ͬ²½£¨×èÈû£© £ºÊÇÒ»ÖÖ·ÀÖ¹¶Ô¹²Ïí×ÊÔ´·ÃÎʵ¼ÖµÄÊý¾Ý²»Ò»ÖµÄÒ»ÖÖģʽ¡£
ÏêϸÇë²Î¿´²Ù×÷ϵͳ¡£
ÔÚJavaÖУ¬ÓÉÓÚ¶Ô¶àÏ̵߳ÄÖ§³Ö£¬¶Ôͬ²½µÄ¿ØÖÆÖ÷Ҫͨ¹ýÒÔϼ¸¸ö·½·¨£¬synchronized£¬ºÍwait(),notify()ºÍnotifyAll(),ÏÂÃæ½øÐÐÒ»Ò»µÄ½²½â£º
A¹Ø¼ü×Ösynchronized
ÿ¸öjava¶ÔÏó¶¼ÓÐÒ»°ÑËø£¬ µ±Óжà¸öÏß³Ìͬʱ·ÃÎʹ²Ïí×ÊÔ´µÄʱºò£¬ ÐèÒªSynchronize À´¿ØÖư²È«ÐÔ£¬ synchronize ·Ö synchronize ·½·¨ ºÍsynchronize¿é£¬Ê¹ÓÃsynchronize¿éʱ£¬ Ò»¶¨ÒªÏÔʾµÄ»ñµÃ¸Ã¶ÔÏóµÄËø£¨Èçsynchronize£¨object))¶ø·½·¨Ôò²»ÐèÒª¡£
javaµÄÄÚ´æÄ£ÐÍÊǶÔÿһ¸ö½ø³ÌÓÐÒ»¸öÖ÷Äڴ棬 ÿ¸öÏß³ÌÓÐ×Ô¼ºµÄÄڴ棬 ËûÃÇ´ÓÖ÷ÄÚ´æÖÐÈ¡Êý¾Ý£¬ È»ºó¼ÆË㣬 ÔÙ´æÈëÖ÷ÄÚ´æÖС£
²¢·¢ÎÊÌâÈçÏ£ºÈç¹û¶à¸öÏß³ÌͬʲÙ×÷ͬһÊý¾Ý£¬ AÏ̴߳ÓÖ÷ÄÚ´æÖÐÈ¡µÄIµÄֵΪ1£¬ È»ºó½øÐмÓ1²Ù×÷£¬ ÕâʱBÏß³ÌҲȡIµÄÖµ£¬ ½øÐмÓ2²Ù×÷£¬ È»ºóA´æÈë2µ½Ö÷ÄÚ´æÖУ¬ BÒ²´æÈ룬 ÕâÑù¾Í¸²¸ÇÁËAµÄÖµ£¨Í¬Êý¾Ý¿âÖеIJ¢·¢ÎÊÌâÒ»Ñù£©¡£
½â¾ö°ì·¨ÊÇÓÃsynchronize£¬ ÈçÓÃsynchronized£¨I£©¡£±»synchronize ÐÞÊεķ½·¨£¨¿é£©°ÑÒÔÏÂÈý²½²Ù×÷µ±³ÉÒ»¸öÔ×Ó²Ù×÷£ºÈ¡Êý¾Ý£¬ ²Ù×÷Êý¾Ý£¬ ´æÊý¾Ý¡£ ÎÒÃÇÖªµÀÔ×Ó²Ù×÷ÊDz»¿ÉÒÔ±»´ò¶ÏµÄ£¬ ËùÒÔÆä±£Ö¤ÁËÊý¾ÝÒ»ÖÂÐÔ£¬ ÕâÑùͬһʱ¼äÖ»ÓÐÒ»¸öÏß³ÌÔÙÖ´ÐУ¬ ¶ÔÐÔÄÜÓÐÒ»¶¨µÄÓ°Ïì¡£ÕâÒ²ÊÇsynchronizeµÄµÚ¶þ¸ö×÷Ó㺱£Ö¤Í³Ò»Ê±¼äÖ»ÓÐÒ»¸öÏß³ÌÔÙÔËÐС£ µ±ÊµÏÖSOCKETÁ¬½ÓµÄʱºò¾³£Óõ½.
JAVAÖй涨¶Ô·ÇFLOAT, LONGµÄÔʼÀàÐ͵ÄÈ¡ºÍ´æ²Ù×÷ΪÔ×Ó²Ù×÷¡£ Æäʵ¾ÍÊǶÔÒ»¸ö×Ö£¨32룩µÄÈ¡£¬´æÎ»Ôʼ²Ù×÷£¬ ÒòΪFLOAT, LONGΪÁ½¸ö×ֽڵij¤¶È£¬ ËùÒÔÆäÈ¡£¬ ´æÎª·ÇÔ×Ó²Ù×÷¡£ Èç¹ûÏë°ÑËûÃÇÒ²±äΪÔ×Ó²Ù×÷£¬ ¿ÉÒÔÓÃVOLATILE¹Ø¼ü×ÖÀ´ÐÞÊÎ
ʹÓ÷½·¨£º
×÷ÓÃÇøÓòÖ÷ÒªÓÐÁ½ÖÖ£º
1.·½·¨
2.´úÂë¿é
±»synchronizedÉùÃ÷µÄ·½·¨±»³ÆÎªÍ¬²½·½·¨£¬±»ÆäÐÞÊεĴúÂë¿é³ÆÎªÍ¬²½Óï¾ä¡£ÎÞÂÛÊÇͬ²½·½·¨»¹ÊÇͬ²½Óï¾ä£¬Ö»ÒªÉùÃ÷Ϊͬ²½ÁË£¬ÔÚͬһʱ¿Ì£¬Í¬Ò»¸ö¶ÔÏóµÄͬ²½XXÊDz»¿ÉÒÔ±»Í¬Ê±·ÃÎʵ쬶ø²»Í¬¶ÔÏóÖ®¼äµÄͬ²½·½·¨ÊÇ»¥²»¸ÉÈŵġ£
¾ßÌåʵÏÖ£¨ÈçÏ´úÂë¶¼ÔÚij¸öÀඨÒåÖУ©£º
ͬ²½·½·¨£º
Public synchronized void change() {
//
}
ͬ²½Óï¾ä
Ïà¹ØÎĵµ£º
ÔÚJavaÖУ¬µ±Ò»¸ö¶ÔÏó±»´´½¨Ê±£¬³ÉÔ±±äÁ¿µÄ³õʼ»¯¼°¹¹Ôì·½·¨µÄµ÷ÓÃ×ñÑÒÔÏÂ˳Ðò£º
1. ½«·ÖÅ䏸¶ÔÏóµÄ´æ´¢¿Õ¼ä³õʼ»¯³É¶þ½øÖƵÄÁã¡£
2. µ÷ÓÃËùÓлùÀàµÄ¹¹Ôì·½·¨¡£Õâ¸ö²½Öè»á²»¶ÏµØ·´¸´µÝ¹éÏÂÈ¥£¬Ê×ÏÈÊǹ¹ÔìÕâÖÖ²ã´Î½á¹¹µÄ¸ù£¬È»ºóÊÇÏÂÒ»²ã×ÓÀ࣬µÈµÈ£¬Ö±µ½×îµ×²ãµÄ×ÓÀà¡£
3. °´ÕÕÉùÃ÷µÄ˳Ðòµ÷ÓóÉÔ±µÄ³õʼ»¯·½·¨¡£
4. µ÷ ......
package cn.vicky.reg;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class MyEclipseReg {
// ///////////////////////////////////////////////////////////
// ÔËÐиÃÎļþ ÊäÈëÓû§Ãû µã»÷»Ø³µ¼´¿ÉÉú³É MyEclipse 6.0 ºÍ 7.0 ͨÓû§×¢²áÂë
// ///// ......
Java2ºËÐļ¼ÊõµÚÆß°æÖÐÎİæµÚ¶þ¾í
µÚ600Ò³£¬¾¯¸æ´¦ÕâÑù˵£º
Èç¹û½«jar·ÅÈëjre/lib/extĿ¼ÖУ¬²¢ÇÒÔÚËüµÄÀàÖÐÓÐÒ»¸öÀàÐèÒªµ÷ÓÃϵͳÀà»òÕßÀ©Õ¹À࣬ÄÇô¾Í»áÓöµ½Âé·³¡£À©Õ¹Àà¼ÓÔØÆ÷²¢²»Ê¹ÓÃÀà·¾¶¡£
¸Õ¶Áµ½ÕâÀïÊ®·Ö²»½â£¬ÎªÊ²Ã´Óõ½ÏµÍ³Àà»òÀ©Õ¹Àà»á·¢Éú´íÎ󣿲¢ÇÒÒ»¸öÀàÔõô¿ÉÄܲ»»áÓõ½ÏµÍ³ÀࣿÓÚÊÇ£¬ÕÒµ½Ó¢ÎİæÔÎÄÈ ......
JavaΪÊý¾Ý½á¹¹µÄÓ³É䶨ÒåÁËÒ»¸ö½Ó¿Újava.util.Map.ËüÓÐËĸöʵÏÖÀ࣬·Ö±ðÊÇHashMap, Hashtable,LinkedHashMapºÍTreeMapÖ÷ÒªÓÃÓÚ´æ´¢¼üÖµ¶Ô£¬¸ù¾Ý¼üµÃµ½Öµ£¬Òò´Ë²»ÔÊÐí¼üÖØ¸´£¬µ«ÔÊÐíÖµÖØ¸´¡£
HashMapÊÇÒ»¸ö×î³£ÓõÄMap£¬Ëü¸ù¾Ý¼üµÄHashCodeÖµ´æ´¢Êý¾Ý£¬¸ù¾Ý¼ü¿ÉÒÔÖ±½Ó»ñÈ¡ËüµÄÖµ£¬¾ßÓкܿìµÄ·ÃÎÊËÙ¶È£¬± ......
A:
Éè¼ÆÄ£Ê½Ö®Factory(¼òµ¥¹¤³§Ä£Ê½¡¢¹¤³§·½·¨ºÍ³éÏ󹤳§)
Á˽ⷴÉ䣺
Class.forName().newInstance();
1.¼òµ¥¹¤³§·½·¨
½ÇÉ«£º
¾ßÌ幤³§
³éÏó²úÆ·
¾ßÌå²úÆ·
±ÈÓ÷£º
Ò»¸ö²úÒµ½á¹¹µ¥Ò»£¬Ö»×¨ÃÅÒ»¸ö²úÆ·ÁìÓòµÄС¹¤³§£¬ÈçÈí¼þ¡£
2¹¤³§·½·¨
½ÇÉ«£º
³éÏ󹤳§£º²»×ö¾ßÌåµÄ¹¤×÷£¬Íê³ÉÉú²ú²úÆ·Ëù±ØÐë ......