pengpenglin
人,必須選擇一種生活方式并有勇氣堅(jiān)持下去
BlogJava
首頁
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 262, comments - 221, trackbacks - 0
【原】RSS工具開發(fā)手記(07)---Informa的impl.basic包
在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
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
相關(guān)文章:
【Java基礎(chǔ)專題】IO與文件讀寫---優(yōu)化搜索程序(01)
【Java基礎(chǔ)專題】IO與文件讀寫---DirectoryWalker和FileFilter的復(fù)雜條件使用
【Java基礎(chǔ)專題】IO與文件讀寫---使用DirectoryWalker和FileFilterUtils進(jìn)行搜索
【Java基礎(chǔ)專題】IO與文件讀寫---慎用FileUtils.writeLines(File, Collection)方法
TSS上關(guān)于JDBC操作優(yōu)化的Tips總結(jié)
【Java基礎(chǔ)專題】IO與文件讀寫---對(duì)同步/異步和阻塞/非阻塞的理解
【Java基礎(chǔ)專題】IO與文件讀寫---同步/異步與阻塞/非阻塞的區(qū)別(轉(zhuǎn))
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO包進(jìn)行資源遍歷
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO過濾文件和目錄
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO操縱底層讀寫
Copyright ©2025 Paul Lin Powered by:
博客園
模板提供:
滬江博客
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
J2EE 框架(9)
J2EE基礎(chǔ)(4)
J2SE(43)
Java 工具(5)
Oracle Concept(4)
Oracle SQL/PLSQL(9)
Oracle 開發(fā)(13)
Oracle 管理(4)
Oracle 調(diào)優(yōu)
Oracle 錯(cuò)誤診斷
RoR(19)
UML(3)
Unix / Linux(13)
Web基礎(chǔ)(19)
其它技術(shù)(7)
感悟(3)
雜項(xiàng)(7)
架構(gòu)與性能(8)
模式與重構(gòu)(19)
灌水(8)
電影與音樂(16)
走過的路(1)
軟件過程與軟件方法(3)
陽光戶外(2)
項(xiàng)目管理(36)
隨筆檔案
2012年2月 (3)
2011年11月 (4)
2011年10月 (1)
2011年9月 (2)
2011年8月 (2)
2011年7月 (5)
2011年6月 (3)
2011年5月 (1)
2011年4月 (1)
2011年3月 (3)
2011年1月 (1)
2010年12月 (1)
2010年11月 (5)
2010年10月 (3)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (4)
2010年4月 (9)
2010年3月 (19)
2010年2月 (8)
2010年1月 (3)
2009年12月 (34)
2009年11月 (1)
2009年10月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (3)
2009年4月 (2)
2009年3月 (1)
2009年2月 (5)
2009年1月 (5)
2008年12月 (13)
2008年11月 (4)
2008年10月 (1)
2008年9月 (6)
2008年8月 (5)
2008年7月 (3)
2008年6月 (31)
2008年5月 (10)
2008年4月 (9)
2008年3月 (7)
2008年2月 (4)
2008年1月 (19)
BlogJava熱點(diǎn)博客
BeanSoft
Jack.Wang
如坐春風(fēng)
詩特林
鄭暉
銀河使者
阿密果
隔葉黃鶯
好友博客
無羽蒼鷹
搜索
最新評(píng)論
1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
666666666666666666666這幾天正在做個(gè)類似工程編碼出現(xiàn)錯(cuò)誤
--李
2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡(jiǎn)化文件讀寫
不錯(cuò)
--阿斯蘭
3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
多謝分享
--thx
4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--karl
5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
謝謝,幫了我大忙!
--小龍
閱讀排行榜
1.?Oracle中如何插入特殊字符:& 和 ' (多種解決方案)(48445)
2.?getOutputStream() has already been called for this response的解決方法(43350)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(37031)
4.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(21267)
5.?Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法(17318)
評(píng)論排行榜
1.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(33)
2.?【原】Oracle開發(fā)專題之:時(shí)間運(yùn)算(11)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(11)
4.?getOutputStream() has already been called for this response的解決方法(10)
5.?【原】Oracle開發(fā)專題之:分析函數(shù)(OVER)(8)
主站蜘蛛池模板:
男女作爱免费网站
|
亚洲精品午夜无码专区
|
国产成人AV片无码免费
|
羞羞的视频在线免费观看
|
91午夜精品亚洲一区二区三区
|
亚洲熟妇无码AV在线播放
|
一区二区三区亚洲视频
|
免费A级毛片无码免费视
|
日本zzzzwww大片免费
|
久久青草精品38国产免费
|
xxxxx做受大片视频免费
|
春暖花开亚洲性无区一区二区
|
亚洲香蕉久久一区二区
|
中文字幕亚洲精品资源网
|
国产亚洲成AV人片在线观黄桃
|
亚洲国产小视频精品久久久三级
|
成年在线网站免费观看无广告
|
精品久久8x国产免费观看
|
久久精品视频免费播放
|
三根一起会坏掉的好痛免费三级全黄的视频在线观看
|
国产免费观看视频
|
日韩精品成人无码专区免费
|
亚洲一级二级三级不卡
|
国产∨亚洲V天堂无码久久久
|
中文字幕亚洲综合久久菠萝蜜
|
亚洲成人一区二区
|
亚洲国产精品碰碰
|
亚洲国产高清在线一区二区三区
|
日韩一区二区三区免费体验
|
成年人网站在线免费观看
|
毛片免费在线观看网站
|
成人免费看黄20分钟
|
麻豆国产人免费人成免费视频
|
亚洲精品色在线网站
|
噜噜综合亚洲AV中文无码
|
亚洲AV日韩AV一区二区三曲
|
亚洲av无码专区在线电影
|
国产亚洲Av综合人人澡精品
|
人体大胆做受免费视频
|
精品一区二区三区高清免费观看
|
久久成人永久免费播放
|