紫蝶∏飛揚↗
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
紫蝶∏飛揚↗
閱讀(286)
評論(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年7月
>
日
一
二
三
四
五
六
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
常用鏈接
我的隨筆
我的文章
我的評論
我的參與
最新評論
留言簿
(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 日期的使用方法(顯示,定義,接收,提交,轉換)(5354)
2.?JS 雙豎線運算符(3299)
3.?[轉]網頁設計流程(1956)
4.?[轉]網站制作流程(1852)
5.?js中指針與函數名(1198)
評論排行榜
1.?[轉]網頁設計流程(4)
2.?Extjs 日期的使用方法(顯示,定義,接收,提交,轉換)(1)
3.?[轉]網站制作流程(1)
4.?JS 雙豎線運算符(1)
5.?EOS讓失業的工人找到工作,讓專業的技術人員下崗.(1)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 紫蝶∏飛揚↗
主站蜘蛛池模板:
亚洲成aⅴ人片在线观
|
亚洲人成网站在线播放影院在线
|
四虎精品成人免费视频
|
亚洲AV永久无码精品成人
|
69影院毛片免费观看视频在线
|
18禁超污无遮挡无码免费网站国产
|
日韩成全视频观看免费观看高清
|
免费无码又爽又黄又刺激网站
|
亚洲成A人片在线观看无码不卡
|
日本阿v免费费视频完整版
|
朝桐光亚洲专区在线中文字幕
|
亚洲国产成人久久综合碰碰动漫3d
|
成年人在线免费观看
|
日韩电影免费在线观看中文字幕
|
亚洲色丰满少妇高潮18p
|
亚洲精品无码国产
|
APP在线免费观看视频
|
亚洲精品天堂在线观看
|
亚洲国产精品久久久久久
|
国产伦一区二区三区免费
|
美女内射毛片在线看免费人动物
|
色费女人18女人毛片免费视频
|
中文字幕免费在线看电影大全
|
成年人性生活免费视频
|
日韩免费在线视频
|
日韩在线一区二区三区免费视频
|
www.亚洲成在线
|
亚洲成a人片在线观看播放
|
亚洲第一AAAAA片
|
亚洲阿v天堂在线
|
亚洲精品无码久久久久
|
中文字幕精品亚洲无线码二区
|
久久久久久国产a免费观看不卡
|
自拍偷自拍亚洲精品播放
|
亚洲欧美精品午睡沙发
|
中文字幕亚洲综合小综合在线
|
亚洲乱人伦精品图片
|
亚洲av成人一区二区三区
|
亚洲国产精品一区二区三区在线观看
|
久青草视频在线观看免费
|
99re6在线精品免费观看
|