JavaÄÚ´æÒç³öµÄÏêϸ½â¾ö·½°¸(ת)
¹Ø¼ü×Ö: java.e800.com.cn/articles/2007/413/1176400876794405339_1.htm
http://java.e800.com.cn/articles/2007/413/1176400876794405339_1.html
±àÕß°´£ºJavaÄÚ´æй©ÊÇÿ¸öJava³ÌÐòÔ±¶¼»áÓöµ½µÄÎÊÌ⣬³ÌÐòÔÚ±¾µØÔËÐÐÒ»ÇÐÕý³££¬¿ÉÊDz¼Êðµ½Ô¶¶Ë¾Í»á³öÏÖÄÚ´æÎÞÏÞÖƵÄÔö³¤£¬×îºóϵͳ̱»¾£¬ÄÇôÈçºÎ×î¿ì×îºÃµÄ¼ì²â³ÌÐòµÄÎȶ¨ÐÔ£¬·Àֹϵͳ±ÀÅÌ£¬×÷ÕßÓÃ×ÔÒѵÄÇ×Éí¾ÀúÓë¸÷λÍøÓÑ·ÖÏí½â¾öÕâЩÎÊÌâµÄ°ì·¨¡£
×÷ΪInternet×îÁ÷Ðеıà³ÌÓïÑÔÖ®Ò»,JavaÏÖÕý·Ç³£Á÷ÐС£ÎÒÃǵÄÍøÂçÓ¦ÓóÌÐò¾ÍÖ÷Òª²ÉÓÃJavaÓïÑÔ¿ª·¢£¬´óÌåÉÏ·ÖΪ¿Í»§¶Ë¡¢·þÎñÆ÷ºÍÊý¾Ý¿âÈý¸ö²ã´Î¡£ÔÚ½øÈë²âÊÔ¹ý³ÌÖУ¬ÎÒÃÇ·¢ÏÖÓÐÒ»¸ö³ÌÐòÄ£¿éϵͳÄÚ´æºÍCPU×ÊÔ´ÏûºÄ¼±¾çÔö¼Ó£¬³ÖÐøÔö³¤µ½³öÏÖjava.lang.OutOfMemoryErrorΪֹ¡£¾¹ý·ÖÎöJavaÄÚ´æй©ÊÇÆÆ»µÏµÍ³µÄÖ÷ÒªÒòËØ¡£ÕâÀïÓë´ó¼Ò·ÖÏíÎÒÃÇÔÚ¿ª·¢¹ý³ÌÖÐÓöµ½µÄJavaÄÚ´æй©µÄ¼ì²âºÍ´¦Àí½â¾ö¹ý³Ì.
Ò». JavaÊÇÈçºÎ¹ÜÀíÄÚ´æ
ΪÁËÅжÏJavaÖÐÊÇ·ñÓÐÄÚ´æй¶£¬ÎÒÃÇÊ×ÏȱØÐëÁ˽âJavaÊÇÈçºÎ¹ÜÀíÄÚ´æµÄ¡£JavaµÄÄÚ´æ¹ÜÀí¾ÍÊǶÔÏóµÄ·ÖÅäºÍÊÍ·ÅÎÊÌâ¡£ÔÚJavaÖУ¬ÄÚ´æµÄ·ÖÅäÊÇÓɳÌÐòÍê³ÉµÄ£¬¶øÄÚ´æµÄÊÍ·ÅÊÇÓÉÀ¬»øÊÕ¼¯Æ÷(Garbage Collection£¬GC)Íê³ÉµÄ£¬³ÌÐòÔ±²»ÐèҪͨ¹ýµ÷Óú¯ÊýÀ´ÊÍ·ÅÄڴ棬µ«ËüÖ»ÄÜ»ØÊÕÎÞÓò¢ÇÒ²»ÔÙ±»ÆäËü¶ÔÏóÒýÓõÄÄÇЩ¶ÔÏóËùÕ¼ÓõĿռ䡣
JavaµÄÄÚ´æÀ¬»ø»ØÊÕ»úÖÆÊÇ´Ó³ÌÐòµÄÖ÷ÒªÔËÐжÔÏó¿ªÊ¼¼ì²éÒýÓÃÁ´£¬µ±±éÀúÒ»±éºó·¢ÏÖûÓб»ÒýÓõĹÂÁ¢¶ÔÏó¾Í×÷ΪÀ¬»ø»ØÊÕ¡£GCΪÁËÄܹ»ÕýÈ·ÊͷŶÔÏ󣬱ØÐë¼à¿Øÿһ¸ö¶ÔÏóµÄÔËÐÐ״̬£¬°üÀ¨¶ÔÏóµÄÉêÇë¡¢ÒýÓᢱ»ÒýÓᢸ³ÖµµÈ£¬GC¶¼ÐèÒª½øÐмà¿Ø¡£¼àÊÓ¶ÔÏó״̬ÊÇΪÁ˸ü¼Ó׼ȷµØ¡¢¼°Ê±µØÊͷŶÔÏ󣬶øÊͷŶÔÏóµÄ¸ù±¾ÔÔò¾ÍÊǸöÔÏó²»ÔÙ±»ÒýÓá£
ÔÚJavaÖУ¬ÕâЩÎÞÓõĶÔÏó¶¼ÓÉGC¸ºÔð»ØÊÕ£¬Òò´Ë³ÌÐòÔ±²»ÐèÒª¿¼ÂÇÕⲿ·ÖµÄÄÚ´æй¶¡£ËäÈ»£¬ÎÒÃÇÓм¸¸öº¯Êý¿ÉÒÔ·ÃÎÊGC£¬ÀýÈçÔËÐÐGCµÄº¯ÊýSystem.gc()£¬µ«ÊǸù¾ÝJavaÓïÑԹ淶¶¨Ò壬¸Ãº¯Êý²»±£Ö¤JVMµÄÀ¬»øÊÕ¼¯Æ÷Ò»¶¨»áÖ´ÐС£ÒòΪ²»Í¬µÄJVMʵÏÖÕß¿ÉÄÜʹÓò»Í¬µÄËã·¨¹ÜÀíGC¡£Í¨³£GCµÄÏ̵߳ÄÓÅÏȼ¶±ð½ÏµÍ¡£JVMµ÷ÓÃGCµÄ²ßÂÔÒ²ÓкܶàÖÖ£¬ÓеÄÊÇÄÚ´æʹÓõ½´ïÒ»¶¨³Ì¶Èʱ£¬GC²Å¿ªÊ¼¹¤×÷£¬Ò²Óж¨Ê±Ö´Ðеģ¬ÓеÄÊÇƽ»ºÖ´ÐÐGC£¬ÓеÄÊÇÖжÏʽִÐÐGC¡£µ«Í¨³£À´Ëµ£¬ÎÒÃDz»ÐèÒª¹ØÐÄÕâЩ¡£
1
Ò». ʲôÊÇJavaÖеÄÄÚ´æй¶
µ¼ÖÂÄÚ´æй©Ö÷ÒªµÄÔÒòÊÇ£¬ÏÈÇ°ÉêÇëÁËÄÚ´æ¿Õ¼ä¶øÍü¼ÇÁËÊÍ·Å¡£Èç¹û³ÌÐòÖдæÔÚ¶ÔÎÞÓöÔÏóµÄÒýÓã¬ÄÇôÕâЩ¶ÔÏó¾Í»áפÁôÄڴ棬ÏûºÄÄڴ棬ÒòΪÎÞ·¨ÈÃÀ¬»ø»ØÊÕÆ÷
Ïà¹ØÎĵµ£º
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖƵÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......
Ðí¶à³ÌÐòÉè¼ÆÓïÑÔ¶¼ÓÐ×Ô¼ºµÄ°ì·¨¸æËß±àÒëÆ÷ij¸öÊý¾ÝÊÇ“³£Êý”¡£³£ÊýÖ÷ÒªÓ¦ÓÃÓÚÏÂÊöÁ½¸ö·½Ã棺
(1) ±àÒëÆÚ³£Êý£¬ËüÓÀÔ¶²»»á¸Ä±ä
(2) ÔÚÔËÐÐÆÚ³õʼ»¯µÄÒ»¸öÖµ£¬ÎÒÃDz»Ï£ÍûËü·¢Éú±ä»¯
¶Ô
ÓÚ±àÒëÆڵij£Êý£¬±àÒëÆ÷£¨³ÌÐò£©¿É½«³£ÊýÖµ“·â×°”µ½ÐèÒªµÄ¼ÆËã¹ý³ÌÀï¡£Ò²¾ÍÊÇ˵£¬¼ÆËã¿ÉÔÚ±àÒëÆÚ¼äÌáÇ°Ö´ÐУ¬ ......
javaµÄ·¾¶ÈÃÐí¶àÈË£¬ÌرðÊdzõѧÕ߸е½ÃÔ»ó£¬ÎÒÕâÀïÔÙ½âÊÍһϡ£ÎÒÃÇ·Ö2¸ö½×¶Î£¬1ÊDZàÒë½×¶Î£¬2ÊÇÔËÐн׶Ρ£
Ò»¡¢±àÒë½×¶Î
Õâ¸öʱºò£¬ÎÒÃÇÒªÌṩ¸ø±àÒëÆ÷µÄÓÐ2¸ö·¾¶²ÎÊý£¬µÚÒ»¸öÊÇÔ´´úÂëÔÚÄÄÀҲ¾ÍÊÇ sourcepath,µÚ¶þ¸ö¾ÍÊÇÒÀÀµµÄÀàÔÚÄÄÀҲ¾ÍÊÇ classpath
ÎÒÃÇ¿´Ò»¸öÀý×Ó
d:\temp\TestCP\d1\p1\Clas ......
1.¼¯ºÏµÄÌص㣺
¶¼Î»ÓÚ java.util°üÖУ¬²»ÄÜ´æ·Å»ù±¾ÀàÐ͵ÄÊý¾Ý£¬¶øÖ»ÄÜ´æ·Å¶ÔÏóµÄÒýÓ㬲Ù×÷µÄÊýÄ¿¿ÉÒÔ²»¹Ì¶¨£¨ÀàËÆÓÚ¶¯Ì¬Êý×飩¡£
2.·ÖÀࣺ
ÓÐÈý¸öÀࣺ
a.Set(¼¯)£º¶ÔÏó²»°´Ìض¨·½Ê½ÅÅÐò£¬Ã»ÓÐÖظ´ÔªËØ¡£Õâ¸öÓëÊýѧÖеļ¯ºÏ¸ÅÄî×îÏàËÆ¡£
b.List(Áбí)£º°´ÕÕË÷ÒýλÖÃÅÅÐò£¬¿ÉÒÔÓÐÖظ´ÔªËØ£¬ÔÊÐí°´ÕÕ¶ÔÏóÔÚ¼¯ºÏÖеÄË ......
ÔÚJavaÖУ¬synchronized¹Ø¼ü×ÖΪ·ÀÖ¹×ÊÔ´³åÍ»ÌṩÁËÖ§³Ö£¬Æä×÷ÓÃÓòÓжþÖÖ£º
ʵÀý·¶Î§¡£
¶ÔÏóʵÀý·¶Î§ÄÚsynchronizedʹÓõÄÁ½ÖÖÐÎʽ£º
ʵÀý·¶Î§Í¬²½·½·¨
publicd class syncTest {
…
synchronized void aMethod() {
//ÐèҪͬ²½Ê¹ÓõĴúÂë
}
}
synchronized aMethod(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ ......