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ÖеÄÄÚ´æÐ¹Â¶
µ¼ÖÂÄÚ´æÐ¹Â©Ö÷ÒªµÄÔÒòÊÇ£¬ÏÈǰÉêÇëÁËÄÚ´æ¿Õ¼ä¶øÍü¼ÇÁËÊÍ·Å¡£Èç¹û³ÌÐòÖдæÔÚ¶ÔÎÞÓöÔÏóµÄÒýÓã¬ÄÇôÕâЩ¶ÔÏó¾Í»áפÁôÄڴ棬ÏûºÄÄڴ棬ÒòΪÎÞ·¨ÈÃÀ¬»ø»ØÊÕÆ÷
Ïà¹ØÎĵµ£º
µÚÒ»£¬Ì¸Ì¸final£¬ finally£¬ finalizeµÄÇø±ð¡£
¡¡¡¡final ÓÃÓÚÉùÃ÷ÊôÐÔ£¬·½·¨ºÍÀ࣬·Ö±ð±íʾÊôÐÔ²»¿É±ä£¬·½·¨²»¿É¸²¸Ç£¬À಻¿É¼Ì³Ð¡£finallyÊÇÒì³£´¦ÀíÓï¾ä½á¹¹µÄÒ»²¿·Ö£¬±íʾ×ÜÊÇÖ´ÐС£finalizeÊÇObjectÀàµÄÒ»¸ö·½·¨£¬ÔÚÀ¬»øÊÕ¼¯Æ÷Ö´ÐеÄʱºò»áµ÷Óñ»»ØÊÕ¶ÔÏóµÄ´Ë·½·¨£¬¿ÉÒÔ¸²¸Ç ......
1.ÉùÃ÷Êý×éÒýÓñäÁ¿Ê±²»ÄÜÖ¸¶¨Êý×éµÄ³¤¶È¡£È磺int x[1];Õâ¾ä»°·Ç·¨¡£
2.Êý×é¶ÔÏóµÄ´´½¨£¬ÀýÈ磺
int [] scores = new int[100];
Ê×ÏÈÔÚ¶ÑÖзÖÅäÄÚ´æ¿Õ¼ä£¬ÉÏÊöµÄ¾ÍÊÇ400¸ö×Ö½Ú£¬È»ºó¾Í¸øÆä¸³Ä¬ÈÏÖµ£¬¸÷¸öÊý¾ÝÀàÐ͵ÄĬÈÏÖµ²»Í¬£¬intΪ0.
3.·µ»ØÊý×é¶ÔÏóµÄÒýÓãº
int [] x =new int [10]; <=> int size = 10; i ......
1.Éú³ÉgifͼƬ¸ñʽµÄ
package com.cssweb.common.util;
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
/*
* ¹¦ÄÜ£ºµ÷ÓÃAuthServlet¿ÉÒÔÉú³ÉÒ»¸öÑéÖ¤ÂëͼƬ,ͼƬµÄ¿í¶ÈºÍ¸ß¶È¿ÉÒ ......
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(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ ......