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ÖеÄÄÚ´æÐ¹Â¶
µ¼ÖÂÄÚ´æÐ¹Â©Ö÷ÒªµÄÔÒòÊÇ£¬ÏÈǰÉêÇëÁËÄÚ´æ¿Õ¼ä¶øÍü¼ÇÁËÊÍ·Å¡£Èç¹û³ÌÐòÖдæÔÚ¶ÔÎÞÓöÔÏóµÄÒýÓã¬ÄÇôÕâЩ¶ÔÏó¾Í»áפÁôÄڴ棬ÏûºÄÄڴ棬ÒòΪÎÞ·¨ÈÃÀ¬»ø»ØÊÕÆ÷
Ïà¹ØÎĵµ£º
ǰÑÔ£º
±¾ÎÄÊǶÔJava¼¯ºÏ¿ò¼Ü×öÁËÒ»¸ö¸ÅÀ¨ÐԵĽâ˵£¬Ä¿µÄÊǶÔJava¼¯ºÏ¿ò¼ÜÌåϵÓиö×ÜÌåÈÏʶ£¬Èç¹ûÄãÏëѧϰ¾ßÌåµÄ½Ó¿ÚºÍÀàµÄʹÓ÷½·¨£¬Çë²Î¿´Java APIÎĵµ¡£
Ò»¡¢¸ÅÊö
Êý¾Ý½á¹¹¶Ô³ÌÐòÉè¼ÆÓÐ×ÅÉîÔ¶µÄÓ°Ï죬ÔÚÃæÏò¹ý³ÌµÄCÓïÑÔÖУ¬Êý¾Ý¿â½á¹¹ÓÃstructÀ´ÃèÊö£¬¶øÔÚÃæÏò¶ÔÏóµÄ±à³ÌÖУ¬Êý¾Ý½á¹¹ÊÇÓÃÀàÀ´ÃèÊöµÄ£¬²¢ÇÒ°üº¬ÓжԸÃÊ ......
public boolean writeXML(String content, String filename)
{
String savepath;
FileOutputStream fout;
// log.info("content:"+content+ ......
ÔÚJavaÖУ¬synchronized¹Ø¼ü×ÖΪ·ÀÖ¹×ÊÔ´³åÍ»ÌṩÁËÖ§³Ö£¬Æä×÷ÓÃÓòÓжþÖÖ£º
ʵÀý·¶Î§¡£
¶ÔÏóʵÀý·¶Î§ÄÚsynchronizedʹÓõÄÁ½ÖÖÐÎʽ£º
ʵÀý·¶Î§Í¬²½·½·¨
publicd class syncTest {
…
synchronized void aMethod() {
//ÐèҪͬ²½Ê¹ÓõĴúÂë
}
}
synchronized aMethod(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ ......
½ñÌìºÍ´ó¼ÒÒ»ÆðѧϰJavaµÄÉè¼ÆÄ£Ê½¡£±¾È˵Äˮƽ²»ÊǺܸߣ¬ÕâϵÁÐÎÄÕÂÖ»ÊÇ×Ô¼ºÑ§Ï°µÄ¹ý³Ì£¬²¢Ï£ÍûÄÜͬ´ó¼Ò·ÖÏí¾Ñé¡£
ÏÈ˵ÏÂÎÒ¶Ô¹¤³§Ä£Ê½µÄÀí½â£ºµ±ÎÒÃÇÐèҪij¸ö¶ÔÏóʱ£¬×îÖ±½ÓµÄ°ì·¨ÊÇ¿´µ½Õâ¸ö¶ÔÏó¾ÍÄùýÀ´¡£µ«Êǵ±¶ÔÏó·Ç³£¶àµÄʱºò£¬ÕÒÆðÀ´¾ÍºÜ²»·½±ã¡£Õâʱ¾ÍÐèÒªÒ»¸öÖнéÀ´°ïÖúÎÒÃÇÈ¡µÃÏëÒªµÄ¶«Î÷£¬Õâ¸öÖнé¾ÍÊǹ¤³§£¨fa ......