<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 262,  comments - 221,  trackbacks - 0
    在Informa的impl.basic包內(nèi),有一個(gè)特殊的類:IdGenerator。它負(fù)責(zé)為其他所有需要標(biāo)識(shí)的對(duì)象提供一個(gè)全局唯一ID。這個(gè)類本身的實(shí)現(xiàn)很簡(jiǎn)單,全部代碼如下
    import java.util.Random;

    /**
     * Identity generator implemented as singleton for generating positive
     * random integers to be used as identify uniquely news channels,
     * items.
     *
     * 
    @author Niko Schmuck (niko@nava.de)
     
    */

    import de.nava.informa.core.IdGeneratorIF;

    public class IdGenerator implements IdGeneratorIF {

        
    private static IdGenerator instance;
        
    /** used for creating unique item IDs. */
        
    private static transient Random rand;

        
    private IdGenerator() {
            rand 
    = new Random(System.currentTimeMillis());
        }


        
    public static IdGenerator getInstance() {
            
    if (instance == null{
                instance 
    = new IdGenerator();
            }

            
    return instance;
        }


        
    public long getId() {
            
    return 100000l + Math.abs(rand.nextInt());
        }


    }

    這個(gè)ID生成類采用了系統(tǒng)當(dāng)前時(shí)間作為隨即數(shù)產(chǎn)生的種子,這個(gè)并不難理解。但是有一個(gè)地方需要我們注意的就是關(guān)鍵字transient的使用。這個(gè)關(guān)鍵的作用是告訴編譯器假設(shè)該類的對(duì)象被序列化了,這個(gè)值不需要被保存。因?yàn)樗?#8220;瞬時(shí)”的。

    這一點(diǎn)和前面我們見到的其它類不同,在impl.basic包下,幾乎90%的類都會(huì)有這樣類似的一句話
    private static final long serialVersionUID = -8346101720187629760L;

    為什么要加這句話呢?這是因?yàn)楫?dāng)我們序列化對(duì)象后,對(duì)象所屬的類仍然可能被改變(例如增加,刪除了一個(gè)變量),如果我們先序列化后再反序列化會(huì)發(fā)現(xiàn)編譯器報(bào)錯(cuò)。此時(shí)我們需要加上這個(gè)“序列化版本UID”---就好比類的對(duì)象當(dāng)前狀態(tài)的快照一樣。當(dāng)以后恢復(fù)后編譯器會(huì)自動(dòng)反序列化對(duì)象,同時(shí)加上新的變化。


    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2009-12-23 00:03 Paul Lin 閱讀(1338) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
    <2009年12月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點(diǎn)博客

    好友博客

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 男女作爱免费网站| 亚洲精品午夜无码专区| 国产成人AV片无码免费| 羞羞的视频在线免费观看| 91午夜精品亚洲一区二区三区| 亚洲熟妇无码AV在线播放| 一区二区三区亚洲视频| 免费A级毛片无码免费视| 日本zzzzwww大片免费| 久久青草精品38国产免费| xxxxx做受大片视频免费| 春暖花开亚洲性无区一区二区| 亚洲香蕉久久一区二区| 中文字幕亚洲精品资源网| 国产亚洲成AV人片在线观黄桃| 亚洲国产小视频精品久久久三级| 成年在线网站免费观看无广告| 精品久久8x国产免费观看| 久久精品视频免费播放| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 国产免费观看视频| 日韩精品成人无码专区免费 | 亚洲一级二级三级不卡| 国产∨亚洲V天堂无码久久久| 中文字幕亚洲综合久久菠萝蜜| 亚洲成人一区二区| 亚洲国产精品碰碰| 亚洲国产高清在线一区二区三区| 日韩一区二区三区免费体验| 成年人网站在线免费观看| 毛片免费在线观看网站| 成人免费看黄20分钟| 麻豆国产人免费人成免费视频 | 亚洲精品色在线网站| 噜噜综合亚洲AV中文无码| 亚洲AV日韩AV一区二区三曲| 亚洲av无码专区在线电影| 国产亚洲Av综合人人澡精品| 人体大胆做受免费视频| 精品一区二区三区高清免费观看| 久久成人永久免费播放|