Java¶àÏ̱߳à³Ì»·¾³Öе¥ÀýģʽµÄʵÏÖ
Abstract
ÔÚ¿ª·¢ÖУ¬Èç¹ûij¸öʵÀýµÄ´´½¨ÐèÒªÏûºÄºÜ¶àϵͳ×ÊÔ´£¬ÄÇôÎÒÃÇͨ³£»áʹÓöèÐÔ¼ÓÔØ»úÖÆ£¬Ò²¾ÍÊÇ˵ֻÓе±Ê¹Óõ½Õâ¸öʵÀýµÄʱºò²Å»á´´½¨Õâ¸öʵÀý£¬Õâ¸öºÃ´¦ÔÚ
µ¥ÀýģʽÖеõ½Á˹㷺ӦÓá£Õâ¸ö»úÖÆÔÚsingle-threaded»·¾³ÏµÄʵÏַdz£¼òµ¥£¬È»¶øÔÚmulti-threaded»·¾³ÏÂÈ´´æÔÚÒþ»¼¡£±¾ÎÄ
ÖØµã½éÉܶèÐÔ¼ÓÔØ»úÖÆÒÔ¼°ÆäÔÚ¶àÏ̻߳·¾³ÏµÄʹÓ÷½·¨¡££¨×÷Õßnumberzero£¬²Î¿¼IBMÎÄÕ¡¶Double-checked locking
and the Singleton pattern¡·£¬»¶Ó×ªÔØÓëÌÖÂÛ£©
1 µ¥ÀýģʽµÄ¶èÐÔ¼ÓÔØ
ͨ³£µ±ÎÒÃÇÉè¼ÆÒ»¸öµ¥ÀýÀàµÄʱºò£¬»áÔÚÀàµÄÄÚ²¿¹¹ÔìÕâ¸öÀࣨͨ¹ý¹¹Ô캯Êý£¬»òÕßÔÚ¶¨Òå´¦Ö±½Ó´´½¨£©£¬²¢¶ÔÍâÌṩһ¸östatic getInstance·½·¨Ìṩ»ñÈ¡¸Ãµ¥Àý¶ÔÏóµÄ;¾¶¡£ÀýÈ磺
Java´úÂë < type="application/x-shockwave-flash" width="14" height="15" src="http://xupo.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://xupo.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=public%20class%20Singleton%20%20%20%20%20%20%0A%7B%20%20%20%20%20%20%0A%20%20%20%20private%20static%20Singleton%20instance%20%3D%20new%20Singleton()%3B%20%20%20%20%20%20%0A%20%20%20%20private%20Singleton()%7B%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%E2%80%A6%20%20%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%20%20%0A%20%20%20%20public%20static%20Singleton%20getInstance()%7B%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20return%20instance%3B%20%20%20%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%20%20%0A%7D%20%20%20%20%20%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" height="15" width="14">
public
class
Singleton
{
private
static
Singleton instance =
new
Singleton();
private
Single
Ïà¹ØÎĵµ£º
java IOÏê½â
Java Á÷ÔÚ´¦ÀíÉÏ·ÖΪ×Ö·ûÁ÷ºÍ×Ö½ÚÁ÷¡£×Ö·ûÁ÷´¦ÀíµÄµ¥ÔªÎª 2 ¸ö×Ö½ÚµÄ Unicode ×Ö·û£¬·Ö±ð²Ù×÷×Ö·û¡¢×Ö·ûÊý×é»ò×Ö·û´®£¬¶ø×Ö½ÚÁ÷´¦Àíµ¥ÔªÎª 1 ¸ö×Ö½Ú£¬²Ù×÷×Ö½ÚºÍ×Ö½ÚÊý×é¡£
Java ÄÚÓà Unicode ±àÂë´æ´¢×Ö·û£¬×Ö·ûÁ÷´¦ÀíÀฺÔð½«ÍⲿµÄÆäËû±àÂëµÄ×Ö·ûÁ÷ºÍ java ÄÚ Unicode ×Ö·ûÁ÷Ö®¼äµÄת»»¡£¶øÀà InputStrea ......
ÔÚJavaÖÐÓÐ23ÖÐÉè¼ÆÄ£Ê½£¬ÏÂÃæÖ»¶Ô²¿·Ö³£ÓõÄÉè¼ÆÄ£Ê½½éÉÜһϣº
1.µ¥Àýģʽ£¨ÓеÄÊéÉÏ˵½Ðµ¥Ì¬Ä£Ê½Æäʵ¶¼Ò»Ñù£©
¸ÃģʽÖ÷ҪĿµÄÊÇʹÄÚ´æÖб£³Ö1¸ö¶ÔÏ󡣿´ÏÂÃæµÄÀý×Ó£º
package org.sp.singleton;
//·½·¨Ò»
public class Singleton {
//½«×ÔÉíµÄʵÀý¶ÔÏóÉèÖÃΪһ¸öÊôÐÔ,²¢¼ÓÉÏStaticºÍfinalÐÞÊηû
private static ......
×î½üÒòΪÐèÒª£¬ÓÖÓÃSSH2½¨Á˸öÏîÄ¿½ÅÊּܡ£
Java³ÌÐòÔ±µÄSSH2µÄ֪ʶ¼¼ÄÜ£¬Èçc³ÌÐòÔ±µÄÖ¸ÕëʹÓü¼ÄÜ£¬ÄË“¹æ¶¨¶¯×÷”£¬²»ÊìϤ˵²»¹ýÈ¥¡£
ºÍJava apiÒ»Ñù£¬SSH2±¾Éí¾ÍÊÇÒ»¸öºÜºÃµÄѧϰ²ÄÁÏ£¬ÓÃÐÄÌå»áºÍÓÃÊìÆäÖÐÒ»ÖÖ£¬¿É·ÅÐÄÐÐ×ßÓÚ½ºþ¡£
ÏÖ½«Ìå»á¼ÇÖ®ÈçÏ£º
Ò»¡¢JavaµÄ³ö´íÐÅÏ¢£¬Ö÷ÒªÔ´ÓÚÈýµã£º
ȱ·¦°ü»ò°ü°æ± ......
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/myelse/archive/2009/04/14/4073654.aspx
¿ìËÙÅÅÐòÊǶÔðÅÝÅÅÐòµÄÒ»ÖָĽø¡£ËüµÄ»ù±¾Ë¼ÏëÊÇ£ºÍ¨¹ýÒ»ÌÉÅÅÐò½«ÒªÅÅÐòµÄÊý¾Ý·Ö¸î³É¶ÀÁ¢µÄÁ½²¿·Ö£¬ÆäÖÐÒ»²¿·ÖµÄËùÓÐÊý¾Ý¶¼±ÈÁíÍâÒ»²»²¿·ÖµÄËùÓÐÊý¾Ý¶¼ÒªÐ¡£¬È»ºóÔÙ°´´Î·½·¨¶ÔÕâÁ½²¿·ÖÊý¾Ý·Ö±ð½øÐпìËÙÅÅÐò£¬Õû¸öÅÅÐò¹ý³ ......
ÔÚJavaÖÐÓÐ23ÖÐÉè¼ÆÄ£Ê½£¬ÏÂÃæÖ»¶Ô²¿·Ö³£ÓõÄÉè¼ÆÄ£Ê½½éÉÜһϣº
1.µ¥Àýģʽ£¨ÓеÄÊéÉÏ˵½Ðµ¥Ì¬Ä£Ê½Æäʵ¶¼Ò»Ñù£©
¸ÃģʽÖ÷ҪĿµÄÊÇʹÄÚ´æÖб£³Ö1¸ö¶ÔÏ󡣿´ÏÂÃæµÄÀý×Ó£º
package org.sp.singleton;
//·½·¨Ò»
public class Singleton {
//½«×ÔÉíµÄʵÀý¶ÔÏóÉèÖÃΪһ¸öÊôÐÔ,²¢¼ÓÉÏStaticºÍfinalÐÞÊηû
private static f ......