java序列化是干什么的隐轩?

只會(huì)敲代碼。渤早。职车。。一直都用java的序列化鹊杖,卻沒考慮過java的序列化究竟是干什么的悴灵。

我們知道,java是跨平臺(tái)語言骂蓖,為什么跨平臺(tái)积瞒?是因?yàn)閖ava程序編譯后是class文件,class文件最終被java虛擬機(jī)解析成字節(jié)碼文件登下,可以運(yùn)行在任何平臺(tái)上茫孔。

對(duì)應(yīng)的,如果我們想要在網(wǎng)絡(luò)上進(jìn)行文字傳輸被芳,或者想要將程序內(nèi)存中的對(duì)象寫入到硬盤缰贝,可以用任何的虛擬機(jī)進(jìn)行解析讀取。也需要一個(gè)共同識(shí)別的方式畔濒,字節(jié)碼JG纭!篓冲!而我們的java序列化就是將java內(nèi)存中對(duì)象屬性的值進(jìn)行字節(jié)碼轉(zhuǎn)換李破。

Java平臺(tái)允許我們?cè)趦?nèi)存中創(chuàng)建可復(fù)用的Java對(duì)象,但一般情況下壹将,只有當(dāng)JVM處于運(yùn)行時(shí)嗤攻,這些對(duì)象才可能存在。即诽俯,這些對(duì)象的生命周期不會(huì)比JVM的生命周期更長(zhǎng)妇菱。但在現(xiàn)實(shí)應(yīng)用中承粤,就可能要求在JVM停止運(yùn)行之后能夠保存(持久化)指定的對(duì)象,并在 將來重新讀取 被保存的對(duì)象闯团。Java對(duì)象序列化就能夠幫助我們實(shí)現(xiàn)該功能辛臊。必須注意地是,對(duì)象序列化保存的是對(duì)象的"狀態(tài)"房交,即它的成員變量彻舰。

由此可知,對(duì)象序列化不會(huì)關(guān)注類中的 靜態(tài)變量候味。

除了在持久化對(duì)象時(shí)會(huì)用到對(duì)象序列化之外刃唤,當(dāng)使用RMI(遠(yuǎn)程方法調(diào)用),或在網(wǎng)絡(luò)中傳遞對(duì)象時(shí)白群,都會(huì)用到對(duì)象序列化尚胞。Java序列化API為處理對(duì)象序列化提供了一個(gè)標(biāo)準(zhǔn)機(jī)制。

那么序列化的字節(jié)碼和.class文件字節(jié)碼是否是一樣的呢帜慢?答案否笼裳。

序列化保存的是對(duì)象屬性的值。由程序解析使用粱玲。

class字節(jié)碼是類的屬性信息(類型躬柬、作用域、static或非static)和方法的信息(方法的簽名信息密幔、方法體的內(nèi)容)及其他信息楔脯,由虛擬機(jī)解析使用。

簡(jiǎn)而言之:序列化的作用就是為了 不同jvm之間 共享實(shí)例對(duì)象 的一種解決方案.由java提供此機(jī)制,效率之高,是其他解決方案無法比擬的.

如何實(shí)現(xiàn)java序列化胯甩?

1. 基于Serializable接口的序列化昧廷。
 Java中,只要一個(gè)類實(shí)現(xiàn)了java.io.Serializable接口偎箫,那么它就可以被序列化木柬。

如果僅僅只是讓某個(gè)類實(shí)現(xiàn)Serializable接口,而沒有其它任何處理的話淹办,則就是使用 默認(rèn)序列化機(jī)制眉枕。使用默認(rèn)機(jī)制,在序列化對(duì)象時(shí)怜森,不僅會(huì)序列化當(dāng)前對(duì)象本身速挑,還會(huì)對(duì)該對(duì)象引用的其它對(duì)象也進(jìn)行序列化,同樣地副硅,這些其它對(duì)象引用的另外對(duì)象也將被序列化姥宝,以此類推。所以恐疲,如果一個(gè)對(duì)象包含的成員變量是容器類對(duì)象腊满,而這些容器所含有的元素也是容器類對(duì)象套么,那么這個(gè)序列化的過程就會(huì)較復(fù)雜,開銷也較大碳蛋。

@Transient 關(guān)鍵字:當(dāng)某個(gè)字段被聲明為@Transient后胚泌,默認(rèn)序列化機(jī)制就會(huì)忽略該字段。

2.基于Externalizable接口的序列化

Externalizable繼承于Serializable肃弟,當(dāng)使用該接口時(shí)玷室,序列化的細(xì)節(jié)需要由程序員去完成。
要對(duì)writeExternal()與readExternal()方法進(jìn)行手動(dòng)處理愕乎。



參考:
https://www.cnblogs.com/qq3111901846/p/7894532.html
http://www.reibang.com/p/94d8a599bbeb
http://www.reibang.com/p/3556e7806d8c

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末阵苇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子感论,更是在濱河造成了極大的恐慌,老刑警劉巖紊册,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件比肄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡囊陡,警方通過查閱死者的電腦和手機(jī)芳绩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撞反,“玉大人妥色,你說我怎么就攤上這事《羝” “怎么了嘹害?”我有些...
    開封第一講書人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吮便。 經(jīng)常有香客問我笔呀,道長(zhǎng),這世上最難降的妖魔是什么髓需? 我笑而不...
    開封第一講書人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任许师,我火速辦了婚禮,結(jié)果婚禮上僚匆,老公的妹妹穿的比我還像新娘微渠。我一直安慰自己,他們只是感情好咧擂,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開白布逞盆。 她就那樣靜靜地躺著,像睡著了一般屋确。 火紅的嫁衣襯著肌膚如雪纳击。 梳的紋絲不亂的頭發(fā)上续扔,一...
    開封第一講書人閱讀 52,821評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音焕数,去河邊找鬼纱昧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛堡赔,可吹牛的內(nèi)容都是我干的识脆。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼善已,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼灼捂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起换团,我...
    開封第一講書人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤悉稠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后艘包,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體的猛,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年想虎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卦尊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舌厨,死狀恐怖岂却,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情裙椭,我是刑警寧澤躏哩,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站骇陈,受9級(jí)特大地震影響震庭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜你雌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一器联、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧婿崭,春花似錦拨拓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至授瘦,卻和暖如春醋界,著一層夾襖步出監(jiān)牢的瞬間竟宋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來泰國打工形纺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丘侠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓逐样,卻偏偏與公主長(zhǎng)得像蜗字,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子脂新,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361