JavaÖг£ÓÃÉè¼ÆÄ£Ê½×ܽá
ÔÚJavaÖÐÓÐ23ÖÐÉè¼ÆÄ£Ê½£¬ÏÂÃæÖ»¶Ô²¿·Ö³£ÓõÄÉè¼ÆÄ£Ê½½éÉÜһϣº
1.µ¥Àýģʽ£¨ÓеÄÊéÉÏ˵½Ðµ¥Ì¬Ä£Ê½Æäʵ¶¼Ò»Ñù£©
¸ÃģʽÖ÷ҪĿµÄÊÇʹÄÚ´æÖб£³Ö1¸ö¶ÔÏ󡣿´ÏÂÃæµÄÀý×Ó£º
package org.sp.singleton;
//·½·¨Ò»
public class Singleton {
//½«×ÔÉíµÄʵÀý¶ÔÏóÉèÖÃΪһ¸öÊôÐÔ,²¢¼ÓÉÏStaticºÍfinalÐÞÊηû
private static final Singleton instance = new Singleton();
//½«¹¹Ôì·½·¨ÉèÖóÉ˽ÓÐÐÎʽ
private Singleton() {
}
//ͨ¹ýÒ»¸ö¾²Ì¬·½·¨ÏòÍâ½çÌṩÕâ¸öÀàµÄʵÀý
public static Singleton getInstance() {
return instance;
}
}
//·½·¨¶þ
class Singleton2 {
private static Singleton2 instance2 = null;
public static synchronized Singleton2 getInstance() {
if (instance2 == null)
instance2 = new Singleton2();
return instance2;
}
}
×¢£ºÕâ¶þ¸ö·½·¨ÊµÏÖÁËÒ»ÑùµÄ¹¦ÄÜ£¬µ«¸öÈËÍÆ¼ö²ÉÓõÚÒ»ÖÖ·½·¨¡£
2.¹¤³§Ä£Ê½
¸ÃģʽÖ÷Òª¹¦ÄÜÊÇͳһÌṩʵÀý¶ÔÏóµÄÒýÓ᣿´ÏÂÃæµÄÀý×Ó£º
public class Factory{
public ClassesDao getClassesDao(){
ClassesDao cd = new ClassesDaoImpl();
return cd;
}
}
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements ClassesDao {
public String getClassesName(){
System.out.println("A°à");
}
}
class test
{
public static void main(String[] args){
Factory f = new Factory();
f.getClassesDao().getClassesName();
}
}
Õâ¸öÊÇ×î¼òµ¥µÄÀý×ÓÁË£¬¾ÍÊÇͨ¹ý¹¤³§·½·¨Í¨¹ý½Ó¿Ú»ñÈ¡¶ÔÏóµÄÒýÓÃ
3.½¨Ôìģʽ
¸ÃģʽÆäʵ¾ÍÊÇ˵£¬Ò»¸ö¶ÔÏóµÄ×é³É¿ÉÄÜÓкܶàÆäËûµÄ¶ÔÏóÒ»Æð×é³ÉµÄ£¬±ÈÈç˵£¬Ò»¸ö¶ÔÏóµÄʵÏַdz£¸´ÔÓ£¬ÓкܶàµÄÊôÐÔ£¬¶øÕâЩÊôÐÔÓÖÊÇÆäËû¶ÔÏóµÄÒýÓ㬿ÉÄÜÕâЩ¶ÔÏóµÄÒýÓÃÓÖ°üÀ¨ºÜ¶àµÄ¶ÔÏóÒýÓ᣷â×°ÕâЩ¸´ÔÓÐÔ£¬¾Í¿ÉÒÔʹÓý¨Ôìģʽ¡£
¾ßÌå¿´¿´ÏÂÃæµÄÀý×Ó£º
4.ÃÅÃæÄ£Ê½
Õâ¸öģʽ¸öÈ˸оõÏñÊÇService²ãµÄÒ»¸ö·°æ¡£±ÈÈçDaoÎÒÃǶ¨ÒåÁ˺ܶà³Ö¾Ã»¯·½·¨£¬ÎÒÃÇͨ¹ýService²ã½«DaoµÄÔ×Ó·½·¨×é³ÉÒµÎñÂß¼£¬ÔÙͨ¹ý·½·¨ÏòÉϲãÌṩ·þÎñ¡£ÃÅÃæÄ£Ê½µÀÀíÆäʵÊÇÒ»ÑùµÄ¡£
¾ßÌå¿´¿´Õâ¸öÀý×Ó£º
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements ClassesD
Ïà¹ØÎĵµ£º
¹Ø¼ü×Ö: java³éÏóÀàºÍ½Ó¿ÚµÄÇø±ð---Ïêϸ½â˵
abstract classºÍinterfaceÊÇJavaÓïÑÔÖжÔÓÚ³éÏóÀඨÒå½øÐÐÖ§³ÖµÄÁ½ÖÖ»úÖÆ£¬ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖÆµÄ´æÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄÃæÏò¶ÔÏóÄÜÁ¦¡£abstract classºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏà»¥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½øÐгéÏóÀඨÒåʱ¶ÔÓÚ ......
javaÖÐsynchronizedÓ÷¨(zz)
´ò¸ö±È·½£ºÒ»¸öobject¾ÍÏñÒ»¸ö´ó·¿×Ó£¬´óÃÅÓÀÔ¶´ò¿ª¡£·¿×ÓÀïÓÐ ºÜ¶à·¿¼ä£¨Ò²¾ÍÊÇ·½·¨£©¡£ÕâЩ·¿¼äÓÐÉÏËøµÄ£¨synchronized·½·¨£©£¬ ºÍ²»ÉÏËøÖ®·Ö£¨ÆÕͨ·½·¨£©¡£·¿ÃſڷÅ×ÅÒ»°ÑÔ¿³×£¨key£©£¬Õâ°ÑÔ¿³×¿ÉÒÔ´ò¿ªËùÓÐÉÏËøµÄ·¿¼ä¡£ÁíÍâÎÒ°ÑËùÓÐÏëµ÷ÓøöÔÏó·½·¨µÄÏ̱߳ÈÓ÷³ÉÏë½øÈëÕâ·¿×Óij¸ö ......
JavaÐÔÄÜÓÅ»¯¼¼Çɼ¯½õ
Ò»¡¢Í¨ÓÃÆª
¡¡¡¡1.1 ²»ÓÃnew¹Ø¼ü´Ê´´½¨ÀàµÄʵÀý
¡¡¡¡1.2 ʹÓ÷Ç×èÈûI/O
¡¡¡¡1.3 É÷ÓÃÒì³£
¡¡
¡¡1.4 ²»ÒªÖظ´³õʼ»¯±äÁ¿
¡¡¡¡1.5 ¾¡Á¿Ö¸¶¨ÀàµÄfinalÐÞÊηû
¡¡¡¡1.6 ¾¡Á¿Ê¹Óþֲ¿±äÁ¿
¡¡¡¡1.7
³Ë·¨ºÍ³ý·¨
¶þ¡¢J2EEƪ
¡¡¡¡2.1 ʹÓûº³å±ê¼Ç
¡¡¡¡2.2 ʼÖÕͨ¹ý»á»°Bean·ÃÎÊʵÌåBea ......
ÖÚËùÖÜÖª£¬ÔÚ³ÌÐò¿ª·¢ÖУ¬ÄÑÃâ»áÓöµ½ÐèҪƥÅä¡¢²éÕÒ¡¢Ìæ»»¡¢ÅжÏ×Ö·û´®µÄÇé¿ö·¢Éú£¬¶øÕâЩÇé¿öÓÐʱÓֱȽϸ´ÔÓ£¬Èç¹ûÓô¿±àÂ뷽ʽ½â¾ö£¬ÍùÍù»áÀ˷ѳÌÐòÔ±µÄʱ¼ä¼°¾«Á¦¡£Òò´Ë£¬Ñ§Ï°¼°Ê¹ÓÃÕýÔò±í´ïʽ£¬±ã³ÉÁ˽â¾öÕâһì¶ÜµÄÖ÷ÒªÊֶΡ£
´ó ¼Ò¶¼ÖªµÀ£¬ÕýÔò±í´ïʽÊÇÒ»ÖÖ¿ÉÒÔÓÃÓÚģʽƥÅäºÍÌæ»»µÄ¹æ·¶£¬Ò»¸öÕýÔò±í´ïʽ¾ÍÊÇÓ ......
public class ImageSizer {
public static final MediaTracker tracker = new MediaTracker(new Component() {
private static final long serialVersionUID = 1234162663955668507L;
});
/**
* Í¼Æ¬Ñ¹Ë ......