javaµ¥Ì¬Ä£Ê½½²½â
µ¥Ì¬¶¨Òå:
SingletonģʽÖ÷Òª×÷ÓÃÊDZ£Ö¤ÔÚJavaÓ¦ÓóÌÐòÖУ¬Ò»¸öÀàClassÖ»ÓÐÒ»¸öʵÀý´æÔÚ¡£
Singletonģʽ¾ÍΪÎÒÃÇÌṩÁËÕâÑùʵÏֵĿÉÄÜ¡£Ê¹ÓÃSingletonµÄºÃ´¦»¹ÔÚÓÚ¿ÉÒÔ½ÚÊ¡Äڴ棬ÒòΪËüÏÞÖÆÁËʵÀýµÄ¸öÊý£¬ÓÐÀûÓÚJavaÀ¬»ø»ØÊÕ£¨garbage collection£©¡£
ʹÓÃSingleton×¢ÒâÊÂÏ
ÓÐʱÔÚijЩÇé¿öÏ£¬Ê¹ÓÃSingleton²¢²»ÄÜ´ïµ½SingletonµÄÄ¿µÄ£¬ÈçÓжà¸öSingleton¶ÔÏóͬʱ±»²»Í¬µÄÀà×°ÈëÆ÷×°ÔØ£»ÔÚEJBÕâÑùµÄ·Ö²¼Ê½ÏµÍ³ÖÐʹÓÃҲҪעÒâÕâÖÖÇé¿ö£¬ÒòΪEJBÊÇ¿ç·þÎñÆ÷£¬¿çJVMµÄ
µ¥Ì¬Ä£Ê½µÄÑÝ»¯£º
µ¥Ì¬Ä£Ê½ÊǸö¼òµ¥µÄģʽ£¬µ«ÊÇÕâ¸ö¼òµ¥µÄģʽҲÓкܶิÔӵĶ«Î÷¡£
£¨×¢Ò⣺ÔÚÕâÀï²¹³äһϣ¬ÏÖÔÚµ¥Ì¬Ä£Ê½ÆäʵÓÐÒ»¸öд·¨ÊDz»´íµÄ¼ûÕâÀhttp://www.blogjava.net/dreamstone/archive/2007/02/27/101000.html£¬µ«»¹Êǽ¨Òé¿´ÍêÕâÆªÎÄÕ£¬ÒòΪ½âÊ͵ÄÊÂÇéÊDz»Ò»ÑùµÄ£¬ÕâÀï˵µÄÊÇΪʲôdouble-checked²»ÄÜʹÓÃ.£©
Ò»£¬Ê×ÏÈ×î¼òµ¥µÄµ¥Ì¬Ä£Ê½£¬µ¥Ì¬Ä£Ê½1
java ´úÂë
import java.util.*;
class Singleton
{
private static Singleton instance;
private Vector v;
private boolean inUse;
private Singleton()
{
v = new Vector();
v.addElement(new Object());
inUse = true;
}
public static Singleton getInstance()
{
if (instance == null) //1
instance = new Singleton(); //2
return instance; //3
}
}
java
Ïà¹ØÎĵµ£º
¡¡1¡¢»ù±¾¸ÅÄî¼°ÔÀí
¡¡¡¡ÎÒÃÇÖªµÀ£¬¶ÔÓÚ¹²Ïí×ÊÔ´£¬ÓÐÒ»¸öºÜÖøÃûµÄÉè¼ÆÄ£Ê½£º×ÊÔ´³Ø(Resource Pool)¡£¸ÃģʽÕýÊÇΪÁ˽â¾ö×ÊÔ´µÄƵ·±·ÖÅä?ÊÍ·ÅËùÔì³ÉµÄÎÊÌ⡣Ϊ½â¾öÉÏÊöÎÊÌ⣬¿ÉÒÔ²ÉÓÃÊý¾Ý¿âÁ¬½Ó³Ø¼¼Êõ¡£Êý¾Ý¿âÁ¬½Ó³ØµÄ»ù±¾Ë¼Ïë¾ÍÊÇΪÊý¾Ý¿âÁ¬½Ó½¨Á¢Ò»¸ö“»º³å³Ø”¡£Ô¤ÏÈÔÚ»º³å³ØÖзÅÈëÒ»¶¨ÊýÁ¿µÄÁ¬½Ó£¬µ±Ð ......
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.RandomAccessFile;
/**
* ÃèÊö£º×·¼ÓÄÚÈݵ½Îļþĩβ
* @author Administrator
*
*/
public class ......
ÔÚJavaÓïÑÔÖУ¬Äܹ»¶ÀÁ¢ÔËÐеijÌÐò³ÆÎªJavaÓ¦ÓóÌÐò£¨Application£©¡£JavaÓïÑÔ»¹ÓÐÁíÍâÒ»ÖÖ³ÌÐò——Applet³ÌÐò¡£Applet³ÌÐò£¨Ò²³ÆJavaС³ÌÐò£©ÊÇÔËÐÐÓÚ¸÷ÖÖÍøÒ³ÎļþÖУ¬ÓÃÓÚÔöÇ¿ÍøÒ³µÄÈË»ú½»»¥¡¢¶¯»ÏÔʾ¡¢ÉùÒô²¥·ÅµÈ¹¦ÄܵijÌÐò¡£
Java AppletºÍJava ApplicationÔڽṹ·½ÃæµÄÖ÷ ......