¡¶Effective javaÖÐÎĵÚ2°æ¡·¶ÁÊé±Ê¼Ç1
µÚ2Ìõ£ºÓöµ½¶à¸ö¹¹ÔìÆ÷²ÎÊýʱҪ¿¼ÂÇÓù¹½¨Æ÷
ij¸öÀàµÄÊôÐԽ϶࣬³õʼ»¯µÄʱºòÓÖÓÐһЩÊDZØÐë³õʼ»¯µÄ£¬¶øÇÒÀàÐÍÓÐÐÎͬ£¬
±ÈÈçnew Contact("ÐÕÃû","ÏÔʾÃû","ÊÖ»úºÅ","·ÉÐźÅ","ËùÔÚµØ",ÄêÁä,ÐÔ±ð);
ǰ5¸öÊôÐÔÊÇString ÀàÐÍ£¬ºó2¸öÊÇintÀàÐÍ£¬ÔÚÌîд¹¹Ôì·½·¨µÄʱºòºÜÈÝÒ×Ìîд´í룬»òÕßÉÙÌîд£¬»òÕߵߵ¹ÁËÊôÐÔ£¬
ÈçÏ·½·¨¿ÉÒÔ¼õÉÙÕâÖÖ´íÎó·¢ÉúµÄ¼¸ÂÊ£¬
Contact contact = new Contact();
contact.setName("ÐÕÃû");
contact.setDisplayName("ÏÔʾÃû");
contact.setPhoneNumber("ÊÖ»úºÅ");
contact.setFetionNumber("·ÉÐźÅ");
contact.setHometown("ËùÔÚµØ");
contact.setAge(23);
contact.setGender(0);
ÕâôдÊÇͨ³£µÄ×ö·¨£¬¿´ÆðÀ´»¹²»¹»ÇåÎú£¬ÎÒÃÇÔÚÿ¸öset·½·¨ÀïretrunÒ»¸öContactÀàÐÍ£¬±ÈÈç
public Contact setName(String name)
{
this.name = name;
return this;
}
ÕâÑùÉÏÃæµÄ¹¹ÔìContactµÄ´úÂë¾Í¿ÉÒÔÕâôдÁË
Contact contact = new Contact() .setName("ÐÕÃû")
.setDisplayName("ÏÔʾÃû")
.setPhoneNumber("ÊÖ»úºÅ")
.setFetionNumber("·ÉÐźÅ")
.setHometown("ËùÔÚµØ")
.setAge(23)
.setGender(0);
ÕâÑùдÊDz»ÊǸüÇåˬÁË£¡ÊôÐÔ²»»áÔÙÌîд´íÎóÁË£¡¶øÇÒÔĶÁ´úÂëµÄʱºòҲһĿÁËÈ»£¬¶¼¸øContact³õʼ»¯ÁËÄÇЩÊôÐÔ£¬ºÍÊôÐÔµÄÖµÊÇʲô£¡
µÚ3Ìõ£ºÓÃ˽Óй¹ÔìÆ÷»òÕßö¾ÙÀàÐÍÇ¿»¯SingletonÊôÐÔ
½¨ÒéʹÓÃÈçÏ·½·¨´´½¨µ¥ÀýÀà
public final class Elvis
{
private static Elvis INSTANCE;
private Elvis(){};
synchronized public static Elvis getInstance()
{
if( INSTANCE == null )
{
INSTANCE = new Elvis();
}
return INSTANCE;
}
//Ö´ÐÐÆäËû²Ù×÷
private Object readResolve()
{
return INSTANCE;
}
}
ÕâÖÖ¹¹½¨·½·¨ºÃ´¦£¬×é³ÉÀàµÄ³ÉÔ±ÉùÃ÷ºÜÇå³þµØ±íÃ÷ÁËÕâ¸öÀàÊǸöSingleton£¬²¢ÇÒÒ²½â¾öÁËINSTANCEµÄͬ²½ÎÊÌ⣬
ûÓб©Â¶¹²ÓеÄINSTANCE±äÁ¿£¬ÕâÑù¸üÓÐÁ¦ÓÚÒþ²ØÀàµÄÄÚ²¿ÊµÏÖ£¬
ÁíÍ⣬¸Ä×ö·¨Ò²ºÜÈÝÒ׾ͿÉÒÔÐ޸ijɷǵ¥Àýģʽ£¬¼ÓÉϵÄreadResolve·½·¨¿ÉÒÔ±£Ö¤·´ÐòÁл¯Ê±Ò²ÊÇͬһ¸ö¶ÔÏó¡£
µÚ4Ìõ£ºÍ¨¹ý˽Óй¹ÔìÆ÷Ç¿»¯²»¿ÉʵÀý»¯µÄÄÜÁ¦
ÎÒÃÇÈí¼þÖг£Óõij£Á¿¼¯(Constants)£¬¹¤¾ß¼¯(Tool,Utility)¶¼Ó¦¸ÃÊDz»¿ÉʵÀý»¯µÄÀ࣬ÄÇôËûÃÇÓ¦¸ÃÈçϹ¹½¨
public final class
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
¡¡¡¡JavaÄÚ´æ·ÖÅä:
¡¡¡¡1. ¼Ä´æÆ÷£ºÎÒÃÇÔÚ³ÌÐòÖÐÎÞ·¨¿ØÖÆ£»
¡¡¡¡2. Õ»£º´æ·Å»ù±¾ÀàÐ͵ÄÊý¾ÝºÍ¶ÔÏóµÄÒýÓ㬵«¶ÔÏó±¾Éí²»´æ·ÅÔÚÕ»ÖУ¬¶ø
¡¡¡¡ÊÇ´æ·ÅÔÚ¶ÑÖУ»
¡¡¡¡3. ¶Ñ£º´æ·ÅÓÃnew²úÉúµÄÊý¾Ý£»
¡¡¡¡4. ¾²Ì¬Óò£º´æ·ÅÔÚ¶ÔÏóÖÐÓÃstatic¶¨ÒåµÄ¾²Ì¬³ÉÔ±£»
¡¡¡¡5. ³£Á¿³Ø£º´æ·Å³£Á¿£»
¡¡¡¡6. ·ÇRAM´æ´¢£ºÓ²Å̵ÈÓÀ¾Ã´æ´ ......
1. ÔÚCÓïÑÔÖУ¬ÎÒÃÇͨ³£Ï°¹ß°ÑÐèÒªµÄ¶ÔÏóÉêÃ÷·ÅÔÚº¯ÊýµÄ¿ªÍ·£¬µ«ÆäʵÕâÊǰװ×ÀË·ÑÁËÄڴ棬ÔÚJavaÖУ¬²»µ½ÐèÒªµÄʱºò£¬Çë²»Òª´´½¨¶ÔÏó¡£
2. À¬»ø»ØÊջ᲻¶¨ÆÚµÄËÑË÷ÒѾûÓÐÓõĶÔÏó£¬È»ºóÊͷŶÔÏóµÄÄڴ棬µ«ÕâÖÖËÑË÷ÊDZȽϺÄ×ÊÔ´µÄ¡£ÎªÌá¸ßЧÂÊ£ ......
18.×öÒ»¸öµ¥×ÓģʽµÄÀֻ࣬¼ÓÔØÒ»´ÎÊôÐÔÎļþ
package com.softeem.demo;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
*@authorleno
*µ¥×Óģʽ£¬±£Ö¤ÔÚÕû¸öÓ¦ÓÃÆÚ¼äÖ»¼ÓÔØÒ ......
23.±à³ÌʵÏÖÐòÁл¯µÄStudent£¨sno,sname£©¶ÔÏóÔÚÍøÂçÉϵĴ«Êä
package com.softeem.demo;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.ServerSocket;
import java.net.Socket;
class Student implem ......