紫蝶∏飛揚↗
Purple Butterfly Flying QQ群:7101519 Flex,Ext,Spring,Hibernate,EOS,SpringSecurity,Struts http://algz.googlecode.com/svn/trunk/
首頁
新隨筆
聯系
聚合
管理
隨筆-9 評論-168 文章-266 trackbacks-0
[轉]Java Serializable(序列化)的理解和總結
1、序列化是干什么的?
簡單說就是為了保存在內存中的各種對象的狀態(也就是實例變量,不是方法),并且可以把保存的對象狀態再讀出來。雖然你可以用你自己的各種各樣的方法來保存object states,但是Java給你提供一種應該比你自己好的保存對象狀態的機制,那就是序列化。
2、什么情況下需要序列化
a)當你想把的內存中的對象狀態保存到一個文件中或者數據庫中時候;
b)當你想用套接字在網絡上傳送對象的時候;
c)當你想通過RMI傳輸對象的時候;
3、當對一個對象實現序列化時,究竟發生了什么?
在沒有序列化前,每個保存在堆(Heap)中的對象都有相應的狀態(state),即實例變量(instance ariable)比如:
1
Foo myFoo
=
new
Foo();
2
myFoo .setWidth(
37
);
3
myFoo.setHeight(
70
);
當 通過下面的代碼序列化之后,MyFoo對象中的width和Height實例變量的值(37,70)都被保存到foo.ser文件中,這樣以后又可以把它 從文件中讀出來,重新在堆中創建原來的對象。當然保存時候不僅僅是保存對象的實例變量的值,JVM還要保存一些小量信息,比如類的類型等以便恢復原來的對 象。
1
FileOutputStream fs
=
new
FileOutputStream(
"
foo.ser
"
);
2
ObjectOutputStream os
=
new
ObjectOutputStream(fs);
3
os.writeObject(myFoo);
4、實現序列化(保存到一個文件)的步驟
a)Make a FileOutputStream
1
FileOutputStream fs
=
new
FileOutputStream(
"
foo.ser
"
);
b)Make a ObjectOutputStream
1
ObjectOutputStream os
=
new
ObjectOutputStream(fs);
c)write the object
1
os.writeObject(myObject1);
2
os.writeObject(myObject2);
3
os.writeObject(myObject3);
d) close the ObjectOutputStream
1
os.close();
5、舉例說明
1
import
java.io.
*
;
2
3
4
public
class
Box
implements
Serializable
5
{
6
private
int
width;
7
private
int
height;
8
9
public
void
setWidth(
int
width)
{
10
this
.width
=
width;
11
}
12
public
void
setHeight(
int
height)
{
13
this
.height
=
height;
14
}
15
16
public
static
void
main(String[] args)
{
17
Box myBox
=
new
Box();
18
myBox.setWidth(
50
);
19
myBox.setHeight(
30
);
20
21
try
{
22
FileOutputStream fs
=
new
FileOutputStream(
"
foo.ser
"
);
23
ObjectOutputStream os
=
new
ObjectOutputStream(fs);
24
os.writeObject(myBox);
25
os.close();
26
}
catch
(Exception ex)
{
27
ex.printStackTrace();
28
}
29
}
30
31
}
32
33
6、相關注意事項
a)序列化時,只對對象的狀態進行保存,而不管對象的方法;
b)當一個父類實現序列化,子類自動實現序列化,不需要顯式實現Serializable接口;
c)當一個對象的實例變量引用其他對象,序列化該對象時也把引用對象進行序列化;
d)并非所有的對象都可以序列化,,至于為什么不可以,有很多原因了,比如:
1.安全方面的原因,比如一個對象擁有private,public等field,對于一個要傳輸的對象,比如寫到文件,或者進行rmi傳輸 等等,在序列化進行傳輸的過程中,這個對象的private等域是不受保護的。
2. 資源分配方面的原因,比如socket,thread類,如果可以序列化,進行傳輸或者保存,也無法對他們進行重新的資源分 配,而且,也是沒有必要這樣實現。
----------轉
http://xiebh.javaeye.com/blog/121311
posted on 2007-11-16 10:46
紫蝶∏飛揚↗
閱讀(282)
評論(0)
編輯
收藏
所屬分類:
隨想
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
相關文章:
myeclipse不能自動提示代碼的解決方法
Myeclipse8.6正確安裝svn插件的方法(其它采用更新URL的方式在集成后易出問題)
windows 2003 修改應用程序池默認連接數(5個)
使用JAVA發送mail時,總是報錯
[轉]在MyEclipse中調試部署到Websphere上的程序(測試正常,實際沒有這復雜,可看另一篇)
websphere 部署myeclipse開發打包的WAR文件報錯:
linux上安裝websphere6.1不彈出安裝界面
websphere控制臺中啟動/停止IBM HTTP SERVER服務報錯
RBAC基于角色的訪問控制(Role-Based Access Control)
SwfUpload(文件上傳組件) 使用過程中的小結(以下內容只作為個人筆記記載)
<
2025年5月
>
日
一
二
三
四
五
六
27
28
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
常用鏈接
我的隨筆
我的文章
我的評論
我的參與
最新評論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆檔案
(9)
2011年12月 (1)
2011年6月 (1)
2011年2月 (1)
2011年1月 (2)
2010年9月 (1)
2009年9月 (2)
2009年5月 (1)
文章分類
(339)
ActionScript3
C#(1)
CSS(21)
div+css+js代碼(29)
EOS(9)
EXTJS(61)
Extjs4(1)
FLEX 4(2)
Hibernate(22)
JAVA(18)
JAVA 串行通信(2)
JQuery(4)
JSF(32)
Json(3)
JSP(9)
Linux(1)
MyEclipse 使用方法(4)
Python(1)
Spring(23)
Spring Security(2)
Struts1/2(4)
WEBService(2)
Websphere(4)
個人簡歷(1)
數據庫(15)
數據轉換(7)
目錄(2)
計算機技術與軟件專業技術資格(水平)考試(5)
重點(20)
隨想(34)
文章檔案
(265)
2014年4月 (1)
2013年9月 (1)
2013年3月 (1)
2013年2月 (1)
2013年1月 (1)
2012年8月 (1)
2012年6月 (2)
2012年5月 (2)
2012年4月 (1)
2012年3月 (5)
2012年2月 (2)
2011年12月 (6)
2011年11月 (3)
2011年8月 (1)
2011年6月 (8)
2011年5月 (1)
2011年4月 (2)
2011年3月 (9)
2011年2月 (1)
2011年1月 (9)
2010年12月 (1)
2010年11月 (2)
2010年10月 (1)
2010年9月 (11)
2010年7月 (1)
2010年6月 (7)
2010年5月 (7)
2010年4月 (9)
2010年3月 (1)
2010年1月 (2)
2009年12月 (3)
2009年11月 (7)
2009年10月 (11)
2009年9月 (7)
2009年8月 (7)
2009年5月 (9)
2009年4月 (10)
2009年3月 (11)
2009年2月 (9)
2008年10月 (3)
2008年9月 (18)
2008年8月 (4)
2008年7月 (3)
2008年6月 (3)
2008年5月 (7)
2008年4月 (13)
2008年3月 (16)
2008年2月 (3)
2007年11月 (12)
2007年10月 (9)
最新隨筆
1.?Java發送http請求 (get 與 post方法請求)
2.?反射生成筆記
3.?JAVA語言___文件下載功能模板.
4.?[轉]hibernate之生成的和默認的屬性值(使用generated刷新實體)
5.?CENTOS 簡介和鏡像下載
6.?JS 創建類---混合的構造函數/原型方式
7.?MyEclipse 布署相同分支的項目時,報錯 Exploded location overlaps an existing deployment解決辦法.
8.?Django1.4 報錯:Error: No module named mysite 解決方法
9.?[轉]UML類圖符號 各種關系說明以及舉例
10.?主機為202.130.82.97子網屏蔽碼為255.255.192.0,它所處的網絡為什么
11.?Extjs.tree.treePanel 自動查找node
12.?Myeclipse7.0和Myeclipse8.5 安裝插件(采用link方式)
13.?javascript中的空串,false,和0 比較運算關系
14.?軟件設計師重點難點---原碼,反碼,補碼,移碼計算方式
15.?軟件設計師重點難點---磁盤格式化容量,非格式化容量,數據傳輸率計算
16.?軟件設計師重點難點——系統可靠性計算
17.?EditorGridPanel 控制單元格的編輯功能
18.?[轉] JSON-lib框架,轉換JSON、XML不再困難
19.?JS 數組對象的John方法
20.?JS 雙豎線運算符
21.?連接字符串代碼(寫的不錯)
22.?[轉]Hibernate Annotation幾種關聯映射 雖然是轉載,但仔細看還是很有幫助的.
23.?[轉] 關于oracle with table as 創建臨時表的用法示例
24.?Hibernate 注解映射 設置默認值的異常及解決方法
25.?[轉] Oracle 語法之 OVER (PARTITION BY ..) 及開窗函數
26.?[轉] 頁面中調用系統常用的對話框需要用到的classid
27.?[轉] WebBrowser.ExecWB的完整說明
28.?hibernate 級聯(聯表)刪除的問題
29.?sql plus操作oracel(windows平臺)基礎之簡易新手篇
30.?EOS讓失業的工人找到工作,讓專業的技術人員下崗.
最新評論
1.?re: JSF ->JavaScript 用 A4J 完成前臺后臺數據交互
RETYUGIHOJ
--GVFZ
2.?re: [轉]JSF中文輸入亂碼問題解決方法
個體gay特權 讓我去聽聽 天慶 4安琪兒 我去而他卻讓他 企鵝問題探討去 去問問情人 如圖切爾奇請問天然氣熱天氣額
--啊速度發
3.?re: Java 日期時間 Date類型,long類型,String類型表現形式的轉換
評論內容較長,點擊標題查看
--Fzh
4.?re: struts2 修改配置文件的默認位置報異常的解決方法[未登錄]
確實能解決問題,感謝樓主
--淹死的魚
5.?re: Extjs 日期的使用方法(顯示,定義,接收,提交,轉換)
jh,m v,j
--ojjj
閱讀排行榜
1.?Extjs 日期的使用方法(顯示,定義,接收,提交,轉換)(5345)
2.?JS 雙豎線運算符(3292)
3.?[轉]網頁設計流程(1950)
4.?[轉]網站制作流程(1847)
5.?js中指針與函數名(1188)
評論排行榜
1.?[轉]網頁設計流程(4)
2.?Extjs 日期的使用方法(顯示,定義,接收,提交,轉換)(1)
3.?[轉]網站制作流程(1)
4.?JS 雙豎線運算符(1)
5.?EOS讓失業的工人找到工作,讓專業的技術人員下崗.(1)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 紫蝶∏飛揚↗
主站蜘蛛池模板:
亚洲色无码专区在线观看
|
国产偷国产偷亚洲高清日韩
|
久久青青成人亚洲精品
|
亚洲av无码成人精品国产
|
成年黄网站色大免费全看
|
亚洲国产成人精品无码区在线秒播
|
亚洲国产精品乱码在线观看97
|
免费精品一区二区三区第35
|
亚洲av无码一区二区三区乱子伦
|
亚洲熟女精品中文字幕
|
天天摸夜夜摸成人免费视频
|
亚洲无人区码一二三码区别图片
|
亚洲国产日韩成人综合天堂
|
sihu国产精品永久免费
|
人人狠狠综合久久亚洲婷婷
|
无码人妻一区二区三区免费n鬼沢
|
亚洲三级电影网址
|
日韩亚洲国产高清免费视频
|
亚洲日本一线产区和二线
|
免费a在线观看播放
|
男女作爱在线播放免费网站
|
亚洲国产成人超福利久久精品
|
免费观看的a级毛片的网站
|
五月天婷婷精品免费视频
|
亚洲免费人成在线视频观看
|
在线看片免费人成视久网
|
亚洲国产精品无码久久
|
亚洲永久精品ww47
|
2021免费日韩视频网
|
极品美女一级毛片免费
|
久久精品视频亚洲
|
免费无遮挡无码视频网站
|
在线观看片免费人成视频播放
|
亚洲欧洲日韩综合
|
国产一级淫片视频免费看
|
免费在线看污视频
|
亚洲精华国产精华精华液网站
|
区久久AAA片69亚洲
|
国产一卡2卡3卡4卡无卡免费视频
|
日本精品久久久久久久久免费
|
久久久久亚洲精品天堂
|