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ÔËÐÐÐÔÄܲî±ðºÜ´ó¡£