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ÖÐÓÐ23ÖÐÉè¼ÆÄ£Ê½£¬ÏÂÃæÖ»¶Ô²¿·Ö³£ÓõÄÉè¼ÆÄ£Ê½½éÉÜһϣº
1.µ¥Àýģʽ£¨ÓеÄÊéÉÏ˵½Ðµ¥Ì¬Ä£Ê½Æäʵ¶¼Ò»Ñù£©
¸ÃģʽÖ÷ҪĿµÄÊÇʹÄÚ´æÖб£³Ö1¸ö¶ÔÏ󡣿´ÏÂÃæµÄÀý×Ó£º
package org.sp.singleton;
//·½·¨Ò»
public class Singleton {
//½«×ÔÉíµÄʵÀý¶ÔÏóÉèÖÃΪһ¸öÊôÐÔ,²¢¼ÓÉÏStaticºÍfinalÐÞÊηû
private static ......
¡¡¶ÔÓÚÕâ¸öϵÁÐÀïµÄÎÊÌ⣬ÿ¸öѧJavaµÄÈ˶¼Ó¦¸Ã¸ã¶®¡£µ±È»£¬Èç¹ûÖ»ÊÇѧJavaÍæÍæ¾ÍÎÞËùνÁË¡£Èç¹ûÄãÈÏΪ×Ô¼ºÒѾ³¬Ô½³õѧÕßÁË£¬È´²»ºÜ¶®ÕâЩÎÊÌ⣬Ç뽫Äã×Ô¼ºÖعé³õѧÕßÐÐÁС£ÄÚÈݾùÀ´×ÔÓÚCSDNµÄ¾µäÀÏÌù¡£
¡¡¡¡ÎÊÌâÒ»£ºÎÒÉùÃ÷ÁËʲô£¡
¡¡¡¡String s = "Hello world!";
¡¡¡¡Ðí¶àÈ˶¼×ö¹ýÕâÑùµÄÊÂÇ飬µ«ÊÇ£¬ÎÒÃǵ½µ×Éùà ......
public class ImageSizer {
public static final MediaTracker tracker = new MediaTracker(new Component() {
private static final long serialVersionUID = 1234162663955668507L;
});
/**
* Í¼Æ¬Ñ¹Ë ......
×î½üÒòΪÐèÒª£¬ÓÖÓÃSSH2½¨Á˸öÏîÄ¿½ÅÊּܡ£
Java³ÌÐòÔ±µÄSSH2µÄ֪ʶ¼¼ÄÜ£¬Èçc³ÌÐòÔ±µÄÖ¸ÕëʹÓü¼ÄÜ£¬ÄË“¹æ¶¨¶¯×÷”£¬²»ÊìϤ˵²»¹ýÈ¥¡£
ºÍJava apiÒ»Ñù£¬SSH2±¾Éí¾ÍÊÇÒ»¸öºÜºÃµÄѧϰ²ÄÁÏ£¬ÓÃÐÄÌå»áºÍÓÃÊìÆäÖÐÒ»ÖÖ£¬¿É·ÅÐÄÐÐ×ßÓÚ½ºþ¡£
ÏÖ½«Ìå»á¼ÇÖ®ÈçÏ£º
Ò»¡¢JavaµÄ³ö´íÐÅÏ¢£¬Ö÷ÒªÔ´ÓÚÈýµã£º
ȱ·¦°ü»ò°ü°æ± ......
java¶ÁÈ¡mp3Îļþ ÊÕ²Ø
JMFʵ¼ÊÉÏÊÇJavaµÄÒ»¸öÀà°ü¡£JMF 2.1.1¼¼ÊõÌṩÁËÏȽøµÄýÌå´¦ÀíÄÜÁ¦£¬´Ó¶øÀ©Õ¹ÁËJavaƽ̨µÄ¹¦ÄÜ¡£ÕâЩ¹¦ÄܰüÀ¨£ºÃ½Ìå²¶»ñ¡¢Ñ¹Ëõ¡¢Á÷ת¡¢»Ø·Å£¬ÒÔ¼°¶Ô¸÷ÖÖÖ÷ҪýÌåÐÎʽºÍ±àÂëµÄÖ§³Ö£¬ÈçM-JPEG¡¢H.263¡¢MP3¡¢RTP/RTSP (ʵʱ´«ËÍÐÒéºÍʵʱÁ÷תÐÒé)¡¢Macromedias Flash¡¢IBMµÄHotMediaºÍBeatniksµÄRi ......