ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

¶ÁÊé±Ê¼Ç£º¶àÏ̳߳ÌÐòÉè¼Æ23¸öÒªµã
2014-11-13 17:15:05 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:32´Î
Tags£º¶ÁÊé ±Ê¼Ç Ïß³Ì ³ÌÐòÉè¼Æ Òªµã

1.¶àÏß³ÌÖÐÓÐÖ÷ÄÚ´æºÍ¹¤×÷ÄÚ´æÖ®·Ö£¬ ÔÚJVMÖУ¬ÓÐÒ»¸öÖ÷Äڴ棬רߺÔðËùÓÐÏ̹߳²ÏíÊý¾Ý£»¶øÃ¿¸öÏ̶߳¼ÓÐËû×Ô¼ºË½ÓеŤ×÷Äڴ棬 Ö÷ÄÚ´æºÍ¹¤×÷ÄÚ´æ·Ö±´ÔÚJVMµÄstackÇøºÍheapÇø¡£


2.Ï̵߳Ä״̬ÓÐ'Ready', 'Running', 'Sleeping', 'Blocked', ºÍ 'Waiting'¼¸¸ö״̬£¬
'Ready' ±íʾÏß³ÌÕýÔڵȴýCPU·ÖÅäÔÊÐíÔËÐеÄʱ¼ä¡£


3.Ïß³ÌÔËÐдÎÐò²¢²»Êǰ´ÕÕÎÒÃÇ´´½¨ËûÃÇʱµÄ˳ÐòÀ´ÔËÐеģ¬CPU´¦ÀíÏ̵߳Ä˳ÐòÊDz»È·¶¨µÄ£¬Èç¹ûÐèҪȷ¶¨£¬ÄÇô±ØÐëÊÖ¹¤½éÈ룬ʹÓÃsetPriority()·½·¨ÉèÖÃÓÅÏȼ¶¡£


4.ÎÒÃÇÎÞ´ÓÖªµÀÒ»¸öÏß³ÌʲôʱºòÔËÐУ¬Á½¸ö»ò¶à¸öÏß³ÌÔÚ·ÃÎÊͬһ¸ö×ÊԴʱ£¬ÐèÒªsynchronized


5. ÿ¸öÏ̻߳á×¢²á×Ô¼º£¬Êµ¼Êij´¦´æÔÚ×ŶÔËüµÄÒýÓã¬Òò´Ë£¬À¬»ø»ØÊÕ»úÖÆ¶ÔËü¾Í¡°ÊøÊÖÎ޲ߡ±ÁË¡£


6. DaemonÏß³ÌÇø±ðÒ»°ãÏß³ÌÖ®´¦ÊÇ£ºÖ÷³ÌÐòÒ»µ©½áÊø£¬DaemonÏ߳̾ͻá½áÊø¡£


7. Ò»¸ö¶ÔÏóÖеÄËùÓÐsynchronized·½·¨¶¼¹²ÏíÒ»°ÑËø£¬Õâ°ÑËøÄܹ»·ÀÖ¹¶à¸ö·½·¨¶ÔͨÓÃÄÚ´æÍ¬Ê±½øÐеÄд²Ù×÷¡£synchronized static·½·¨¿ÉÔÚÒ»¸öÀ෶ΧÄÚ±»Ï໥¼äËø¶¨ÆðÀ´¡£


8. ¶ÔÓÚ·ÃÎÊij¸ö¹Ø¼ü¹²Ïí×ÊÔ´µÄËùÓз½·¨£¬¶¼±ØÐë°ÑËüÃÇÉèΪsynchronized£¬·ñÔò¾Í²»ÄÜÕý³£¹¤×÷¡£


9. ¼ÙÉèÒÑÖªÒ»¸ö·½·¨²»»áÔì³É³åÍ»£¬×îÃ÷Öǵķ½·¨ÊDz»ÒªÊ¹ÓÃsynchronized£¬ÄÜÌá¸ßЩÐÔÄÜ¡£


10. Èç¹ûÒ»¸ö\"ͬ²½"·½·¨ÐÞ¸ÄÁËÒ»¸ö±äÁ¿£¬¶øÎÒÃǵķ½·¨ÒªÓõ½Õâ¸ö±äÁ¿(¿ÉÄÜÊÇÖ»¶Á),×îºÃ½«×Ô¼ºµÄÕâ¸ö·½·¨Ò²ÉèΪ synchronized¡£


11. synchronized²»Äܼ̳У¬ ¸¸ÀàµÄ·½·¨ÊÇsynchronized£¬ÄÇôÆä×ÓÀàÖØÔØ·½·¨ÖоͲ»»á¼Ì³Ð¡°Í¬²½¡±¡£


12. Ï̶߳ÂÈûBlockedÓм¸¸öÔ­ÒòÔì³É£º


(1)Ïß³ÌÔڵȺòһЩIO²Ù×÷
(2)Ïß³ÌÊÔͼµ÷ÓÃÁíÍâÒ»¸ö¶ÔÏóµÄ¡°Í¬²½¡±·½·¨£¬µ«ÄǸö¶ÔÏó´¦ÓÚËø¶¨×´Ì¬£¬ÔÝʱÎÞ·¨Ê¹Óá£


13.Ô­×ÓÐͲÙ×÷(atomic), ¶ÔԭʼÐͱäÁ¿(primitive)µÄ²Ù×÷ÊÇÔ­×ÓÐ͵Äatomic. Òâζ×ÅÕâЩ²Ù×÷ÊÇḬ̈߳²È«µÄ£¬ µ«ÊǴ󲿷ÖÇé¿öÏ£¬ÎÒÃDz¢²»ÄÜÕýȷʹÓã¬À´¿´¿´ i = i + 1 , iÊÇintÐÍ£¬ÊôÓÚԭʼÐͱäÁ¿£º


(1)´ÓÖ÷ÄÚ´æÖжÁÈ¡iÖµµ½±¾µØÄÚ´æ.
(2)½«Öµ´Ó±¾µØÄÚ´æ×°Ôص½Ï̹߳¤×÷¿½±´ÖÐ.
(3)×°ÔØ±äÁ¿1.
(4)½«i ¼Ó 1.
(5)½«½á¹û¸ø±äÁ¿i.
(6)½«i±£´æµ½Ï̱߳¾µØ¹¤×÷¿½±´ÖÐ.
(7)д»ØÖ÷ÄÚ´æ.


×¢ÒâÔ­×ÓÐͲÙ×÷Ö»ÏÞÓÚµÚ1²½µ½µÚ2²½µÄ¶ÁÈ¡ÒÔ¼°µÚ6µ½µÚ7²½µÄд, iµÄÖµ»¹ÊÇ¿ÉÄܱ»Í¬Ê±Ö´ÐÐi=i+1µÄ¶àÏß³ÌÖжϴòÈÅ(ÔÚµÚ4²½)¡£


double ºÍlong ±äÁ¿ÊÇ·ÇÔ­×ÓÐ͵Ä(non-atomic)¡£Êý×éÊÇobject ·ÇÔ­×ÓÐÍ¡£


14. ÓÉÓÚ13ÌõµÄÔ­Òò£¬ÎÒÃǽâ¾ö°ì·¨ÊÇ£º





15. Volatile±äÁ¿£¬ volatile±äÁ¿±íʾ±£Ö¤Ëü±ØÐëÊÇÓëÖ÷ÄÚ´æ±£³ÖÒ»Ö£¬Ëüʵ¼ÊÊÇ"±äÁ¿µÄͬ²½", Ò²¾ÍÊÇ˵¶ÔÓÚvolatile±äÁ¿µÄ²Ù×÷ÊÇÔ­×ÓÐ͵ģ¬ÈçÓÃÔÚlong »ò double±äÁ¿Ç°¡£


16. ʹÓÃyield()»á×Ô¶¯·ÅÆúCPU£¬ÓÐʱ±Èsleep¸üÄÜÌáÉýÐÔÄÜ¡£


17. sleep()ºÍwait()µÄÇø±ðÊÇ£ºwait()·½·¨±»µ÷ÓÃʱ»á½â³ýËø¶¨£¬µ«ÊÇÎÒÃÇÄÜʹÓÃËüµÄµØ·½Ö»ÊÇÔÚÒ»¸öͬ²½µÄ·½·¨»ò´úÂë¿éÄÚ¡£


18. ͨ¹ýÖÆÔìËõСͬ²½·¶Î§£¬¾¡¿ÉÄܵÄʵÏÖ´úÂë¿éͬ²½£¬wait(ºÁÃëÊý)¿ÉÔÚÖ¸¶¨µÄºÁÃëÊý¿ÉÍ˳öwait£»¶ÔÓÚwait()ÐèÒª±»notisfy()»ònotifyAll()ÌßÐÑ¡£


19. ¹¹ÔìÁ½¸öÏß³ÌÖ®¼äʵʱͨÐŵķ½·¨·Ö¼¸²½£º
(1). ´´½¨Ò»¸öPipedWriterºÍÒ»¸öPipedReaderºÍËüÃÇÖ®¼äµÄ¹ÜµÀ;
PipedReader in = new PipedReader(new PipedWriter())
(2). ÔÚÐèÒª·¢ËÍÐÅÏ¢µÄÏ߳̿ªÊ¼Ö®Ç°£¬½«ÍⲿµÄPipedWriterµ¼Ïò¸øÆäÄÚ²¿µÄWriterʵÀýout
(3). ÔÚÐèÒª½ÓÊÜÐÅÏ¢µÄÏ߳̿ªÊ¼Ö®Ç°£¬½«ÍⲿµÄPipedReaderµ¼Ïò¸øÆäÄÚ²¿µÄReaderʵÀýin
(4). ÕâÑù·ÅÈëoutµÄËùÓж«Î÷¶È¿É´ÓinÖÐÌáÈ¡³öÀ´¡£


20. synchronized´øÀ´µÄÎÊÌâ³ýÐÔÄÜÓÐËùϽµÍ⣬×î´óµÄȱµãÊÇ»á´øÀ´ËÀËøDeadLock£¬Ö»ÓÐͨ¹ý½÷É÷Éè¼ÆÀ´·ÀÖ¹ËÀËø£¬ÆäËûºÁÎÞ°ì·¨£¬ÕâÒ²ÊÇÏß³ÌÄÑÒÔѱ·þµÄÒ»¸öÔ­Òò¡£²»ÒªÔÙʹÓÃstop() suspend() resume()ºÍdestory()·½·¨


21. ÔÚ´óÁ¿Ï̱߳»¶ÂÈûʱ£¬×î¸ßÓÅÏȼ¶µÄÏß³ÌÏÈÔËÐС£µ«ÊDz»±íʾµÍ¼¶±ðÏ̲߳»»áÔËÐУ¬ÔËÐиÅÂÊС¶øÒÑ¡£


22. Ïß³Ì×éµÄÖ÷ÒªÓŵãÊÇ£ºÊ¹Óõ¥¸öÃüÁî¿ÉÍê³É¶ÔÕû¸öÏß³Ì×éµÄ²Ù×÷¡£ºÜÉÙÐèÒªÓõ½Ïß³Ì×é¡£


23. ´ÓÒÔϼ¸¸ö·½ÃæÌáÉý¶àÏ̵߳ÄÐÔÄÜ£º


¼ì²éËùÓпÉÄÜBlockµÄµØ·½£¬¾¡¿ÉÄܵĶàµÄʹÓÃsleep»òyield()ÒÔ¼°wait();


¾¡¿ÉÄÜÑÓ³¤sleep(ºÁÃëÊý)µÄʱ¼ä;


ÔËÐеÄÏ̲߳»Óó¬¹ý100¸ö£¬²»ÄÜÌ«¶à£»


²»Í¬Æ½Ì¨linux»òwindowsÒÔ¼°²»Í¬JVMÔËÐÐÐÔÄܲî±ðºÜ´ó¡£


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºÐ¡ÒéѧϰJavaµÄ¸¡ÔêÐÄ̬£¨2£©¨D·.. ÏÂһƪ£ºJavaWebÏîÄ¿¿ª·¢µ½µ×ÐèÒªÕÆÎÕÄÄЩ..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ: