Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

javaÉè¼ÆÄ£Ê½Ö®Singleton(µ¥Ì¬)

¶¨Òå:
SingletonģʽÖ÷Òª×÷ÓÃÊDZ£Ö¤ÔÚJavaÓ¦ÓóÌÐòÖУ¬Ò»¸öÀàClassÖ»ÓÐÒ»¸öʵÀý´æÔÚ¡£
Ôںܶà²Ù×÷ÖУ¬±ÈÈ罨Á¢Ä¿Â¼ Êý¾Ý¿âÁ¬½Ó¶¼ÐèÒªÕâÑùµÄµ¥Ï̲߳Ù×÷¡£
»¹ÓÐ, singletonÄܹ»±»×´Ì¬»¯;
ÕâÑù£¬¶à¸öµ¥Ì¬ÀàÔÚÒ»Æð¾Í¿ÉÒÔ×÷Ϊһ¸ö״̬²Ö¿âÒ»ÑùÏòÍâÌṩ·þÎñ£¬±ÈÈ磬ÄãÒªÂÛ̳ÖеÄÌû×Ó¼ÆÊýÆ÷£¬Ã¿´Îä¯ÀÀÒ»´ÎÐèÒª¼ÆÊý£¬µ¥Ì¬ÀàÄÜ·ñ±£³ÖסÕâ¸ö¼ÆÊý£¬²¢ÇÒ
ÄÜsynchronizeµÄ°²È«×Ô¶¯¼Ó1£¬Èç¹ûÄãÒª°ÑÕâ¸öÊý×ÖÓÀ¾Ã±£´æµ½Êý¾Ý¿â£¬Äã¿ÉÒÔÔÚ²»Ð޸ĵ¥Ì¬½Ó¿ÚµÄÇé¿öÏ·½±ãµÄ×öµ½¡£
ÁíÍâ·½Ãæ£¬SingletonÒ²Äܹ»±»ÎÞ״̬»¯¡£Ìṩ¹¤¾ßÐÔÖʵŦÄÜ£¬
Singletonģʽ¾ÍΪÎÒÃÇÌṩÁËÕâÑùʵÏֵĿÉÄÜ¡£Ê¹ÓÃSingletonµÄºÃ´¦»¹ÔÚÓÚ¿ÉÒÔ½ÚÊ¡Äڴ棬ÒòΪËüÏÞÖÆÁËʵÀýµÄ¸öÊý£¬ÓÐÀûÓÚJavaÀ¬»ø»ØÊÕ£¨garbage collection£©¡£
ÎÒÃdz£³£¿´µ½¹¤³§Ä£Ê½ÖÐÀà×°ÈëÆ÷(class loader)ÖÐÒ²ÓÃSingletonģʽʵÏÖµÄ,ÒòΪ±»×°ÈëµÄÀàʵ¼ÊÒ²ÊôÓÚ×ÊÔ´¡£
ÈçºÎʹÓÃ?
Ò»°ãSingletonģʽͨ³£Óм¸ÖÖÐÎʽ:
public class Singleton {
¡¡¡¡private Singleton(){}
¡¡¡¡//ÔÚ×Ô¼ºÄÚ²¿¶¨Òå×Ô¼ºÒ»¸öʵÀý£¬ÊDz»ÊÇºÜÆæ¹Ö£¿
¡¡¡¡//×¢ÒâÕâÊÇprivate Ö»¹©ÄÚ²¿µ÷ÓÃ
¡¡¡¡private static Singleton instance = new Singleton();
¡¡¡¡//ÕâÀïÌṩÁËÒ»¸ö¹©Íⲿ·ÃÎʱ¾classµÄ¾²Ì¬·½·¨£¬¿ÉÒÔÖ±½Ó·ÃÎÊ
¡¡¡¡public static Singleton getInstance() {
¡¡¡¡¡¡¡¡return instance;
¡¡¡¡ }
}
µÚ¶þÖÖÐÎʽ:
public class Singleton {
¡¡¡¡private static Singleton instance = null;
¡¡¡¡public static synchronized Singleton getInstance() {
¡¡¡¡//Õâ¸ö·½·¨±ÈÉÏÃæÓÐËù¸Ä½ø£¬²»ÓÃÿ´Î¶¼½øÐÐÉú³É¶ÔÏó£¬Ö»ÊǵÚÒ»´Î
¡¡¡¡//ʹÓÃʱÉú³ÉʵÀý£¬Ìá¸ßÁËЧÂÊ£¡
¡¡¡¡if (instance==null)
¡¡¡¡¡¡¡¡instance£½new Singleton();
¡¡¡¡return instance; ¡¡¡¡}
}
ʹÓÃSingleton.getInstance()¿ÉÒÔ·ÃÎʵ¥Ì¬Àà¡£
ÉÏÃæµÚ¶þÖÐÐÎʽÊÇlazy initialization£¬Ò²¾ÍÊÇ˵µÚÒ»´Îµ÷ÓÃʱ³õʼSingleton£¬ÒÔºó¾Í²»ÓÃÔÙÉú³ÉÁË¡£
×¢Òâµ½lazy
initializationÐÎʽÖеÄsynchronized£¬Õâ¸ösynchronizedºÜÖØÒª£¬Èç¹ûûÓÐsynchronized£¬ÄÇôʹÓÃ
getInstance()ÊÇÓпÉÄܵõ½¶à¸öSingletonʵÀý¡£¹ØÓÚlazy
initializationµÄSingletonÓкܶàÉæ¼°double-checked locking (DCL)µÄÌÖÂÛ£¬ÓÐÐËȤÕß½øÒ»²½Ñо¿¡£
Ò»°ãÈÏΪµÚÒ»ÖÖÐÎʽҪ¸ü¼Ó°²È«Ð©¡£
ʹÓÃSingleton×¢ÒâÊÂÏ
ÓÐʱÔÚijЩÇé¿öÏ£¬Ê¹ÓÃSingleton²¢²»ÄÜ´ïµ½SingletonµÄÄ¿µÄ£¬ÈçÓжà¸öSingleton¶ÔÏóͬʱ±»


Ïà¹ØÎĵµ£º

javaµ÷Óô洢¹ý³Ì

 
A:²»´øÊä³ö²ÎÊýµÄ
  ---------------²»´øÊä³ö²ÎÊýµÄ----------------------------------
create procedure getsum
@n int =0<--´Ë´¦Îª²ÎÊý-->
as
declare @sum int<--¶¨Òå±äÁ¿-->
declare @i int
set @sum=0
set @i=0
while @i<=@n begin
set @sum=@sum+@i
set @i=@i+1
end
print ......

JAVAÖеÄÖ¸Õë,ÒýÓü°¶ÔÏóµÄclone

JavaÓïÑÔµÄÒ»¸öÓŵã¾ÍÊÇÈ¡ÏûÁËÖ¸ÕëµÄ¸ÅÄµ«Ò²µ¼ÖÂÁËÐí¶à³ÌÐòÔ±ÔÚ±à³ÌÖг£³£ºöÂÔÁ˶ÔÏóÓëÒý
ÓõÄÇø±ð£¬±¾ÎÄ»áÊÔͼ³ÎÇåÕâÒ»¸ÅÄî¡£²¢ÇÒÓÉÓÚJava²»ÄÜͨ¹ý¼òµ¥µÄ¸³ÖµÀ´½â¾ö¶ÔÏó¸´ÖƵÄÎÊÌ⣬ÔÚ¿ª·¢¹ý³ÌÖУ¬Ò²³£³£ÒªÒªÓ¦ÓÃclone£¨£©·½·¨À´¸´ÖƶÔ
Ïó¡£±¾ÎÄ»áÈÃÄãÁ˽âʲôÊÇÓ°×ÓcloneÓëÉî¶Èclone£¬ÈÏʶËüÃǵÄÇø±ð¡¢Óŵ㼰ȱµã¡£ ......

Îı¾¾ÛÀàËã·¨JavaʵÏÖ

ÍÜÍÜÍÆ¼ö£ºÍÜÍܽÌÄãÎı¾¾ÛÀà
ÕªÒª£ºÎı¾¾ÛÀàÊÇËÑË÷ÒýÇæºÍÓïÒåwebµÄ»ù±¾¼¼Êõ£¬Õâ´Î±¾Íܺʹó¼ÒÒ»Æðѧϰһϼòµ¥µÄÎı¾¾ÛÀàËã·¨£¬¿ÉÄܲ»ÄÜÖ±½ÓÓÃÓÚʵ¼ÊÓ¦ÓÃÖУ¬µ«¶ÔÓÚÏëѧËÑË÷¼¼ÊõµÄ³õѧÕß»¹ÊÇÓÐÒ»¶¨ÈëÃÅ×÷Óõġ£ÕâÀï»áÓõ½TF/IDFÈ¨ÖØ£¬ÓÃÓàÏҼнǼÆËãÎı¾ÏàËÆ¶È£¬Ó÷½²î¼ÆËãÁ½¸öÊý¾Ý¼äŷʽ¾àÀ룬ÓÃk-means½øÐÐÊý¾Ý¾ÛÀàµÈÊýѧ ......

Java Mail send email

package com.eastpro.batch.biz;
//import javax.activation.*;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.internet.*;
import javax.mail.*;
import java.io.UnsupportedEncodingException;
import java.util.*;
/**
 * Insert the type's descript ......

±ÜÃâÔÚJavaÖÐʹÓÃChecked Exception

JavaµÄException·ÖΪÁ½À࣬һÀàÊÇRuntimeException¼°Æä×ÓÀ࣬ÁíÍâÒ»Àà¾ÍÊÇchecked
Exception¡£JavaÒªÇóº¯Êý¶ÔûÓб»catch´¦ÀíµôµÄchecked
Exception£¬ÐèÒª½«ÆäдÔÚº¯ÊýµÄÉùÃ÷²¿·Ö¡£È»¶ø£¬ÕâÒ»ÒªÇó³£³£¸ø³ÌÐòÔ±´øÀ´Ò»Ð©²»±ØÒªµÄ¸ºµ£¡£
ΪÁ˱ÜÃâÔÚº¯ÊýÉùÃ÷ÖÐдthrows²¿·Ö£¬ÔÚJavaÏîÄ¿ÀïÃæ³£³£¿ÉÒÔ¿´µ½ÒÔÏ´úÂëÓÃÀ´‘Í ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ