多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > Lua序列化

Lua序列化

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-10-10 08:00:01 閱讀次數(shù):2773次
概念普及

持久化

持久化(Persistence),即把內(nèi)存中的對(duì)象保存到可永久保存的存儲(chǔ)設(shè)備中。持久化的主要應(yīng)用是將內(nèi)存中的對(duì)象存儲(chǔ)在關(guān)系型的數(shù)據(jù)庫(kù)中,當(dāng)然也可以存儲(chǔ)在磁盤(pán)文件中、XML數(shù)據(jù)文件中等等。 
持久化是將程序數(shù)據(jù)在持久狀態(tài)和瞬時(shí)狀態(tài)間轉(zhuǎn)換的機(jī)制。(應(yīng)用與游戲,) 
JDBC就是一種持久化機(jī)制。文件IO也是一種持久化機(jī)制。
為什么需要持久化服務(wù)呢?那是由于內(nèi)存本身的缺陷引起的:內(nèi)存掉電后數(shù)據(jù)會(huì)丟失,但有一些對(duì)象是無(wú)論如何都不能丟失的,比如銀行賬號(hào),遺憾的是,人們還無(wú)法保證內(nèi)存永不掉電。
持久化方案可以分為關(guān)系數(shù)據(jù)庫(kù)方案、文件方案、對(duì)象數(shù)據(jù)庫(kù)方案、 xml數(shù)據(jù)庫(kù)方案,目前主流的持久化方案是關(guān)系數(shù)據(jù)庫(kù)方案,關(guān)系數(shù)據(jù)庫(kù)方案不僅解決了并發(fā)的問(wèn)題,更重要的是,關(guān)系數(shù)據(jù)庫(kù)還提供了持久化服務(wù)之外的價(jià)值:統(tǒng)計(jì)分析功能。

序列化

將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^(guò)程。
在序列化期間,對(duì)象將其當(dāng)前狀態(tài)寫(xiě)入到臨時(shí)或持久性存儲(chǔ)區(qū)。以后,可以通過(guò)從存儲(chǔ)區(qū)中讀取或反序列化對(duì)象的狀態(tài),重新創(chuàng)建該對(duì)象。
目的 
  • 1、以某種存儲(chǔ)形式使自定義對(duì)象持久化;
  • 2、將對(duì)象從一個(gè)地方傳遞到另一個(gè)地方。
  • 3、使程序更具維護(hù)性。
當(dāng)兩個(gè)進(jìn)程在進(jìn)行遠(yuǎn)程通信時(shí),彼此可以發(fā)送各種類型的數(shù)據(jù)。無(wú)論是何種類型的數(shù)據(jù),都會(huì)以二進(jìn)制序列的形式在網(wǎng)絡(luò)上傳送。發(fā)送方需要把這個(gè)Java對(duì)象轉(zhuǎn)換為字節(jié)序列,才能在網(wǎng)絡(luò)上傳送;接收方則需要把字節(jié)序列再恢復(fù)為Java對(duì)象。
把Java對(duì)象轉(zhuǎn)換為字節(jié)序列的過(guò)程稱為對(duì)象的序列化,又叫串行化
把字節(jié)序列恢復(fù)為Java對(duì)象的過(guò)程稱為對(duì)象的反序列化,又叫并行化

對(duì)象的序列化主要有兩種用途:
  • 1) 把對(duì)象的字節(jié)序列永久地保存到硬盤(pán)上,通常存放在一個(gè)文件中;
  • 2) 在網(wǎng)絡(luò)上傳送對(duì)象的字節(jié)序列。

關(guān)系

對(duì)象序列化機(jī)制對(duì)于需要將對(duì)象的狀態(tài)保存到文件中,而后能夠通過(guò)讀入對(duì)象狀態(tài)來(lái)重新構(gòu)造對(duì)象,恢復(fù)程序狀態(tài),對(duì)象序列化的過(guò)程是對(duì)象持久化的方法之一,把對(duì)象保存到文件中.
序列化是為了解決對(duì)象的傳輸問(wèn)題
,傳輸可以在線程之間、進(jìn)程之間、內(nèi)存外存之間、 主機(jī)之間進(jìn)行。 
持久化往往依賴于數(shù)據(jù)庫(kù),是為了長(zhǎng)期存儲(chǔ)的。序列化是為了散集和列集做短期存儲(chǔ)和數(shù)據(jù)傳遞的。
如果按照存儲(chǔ)介質(zhì)和生命周期的長(zhǎng)短劃分,所有的數(shù)據(jù)都以兩種形式存在,其中一種是保存于內(nèi)存中的運(yùn)行時(shí)對(duì)象,另一種則是存儲(chǔ)于持久化物理介質(zhì)中的文件,比如數(shù)據(jù)庫(kù)文件等。數(shù)據(jù)的持久化關(guān)注于相同的數(shù)據(jù)在不同形態(tài)數(shù)據(jù)之間的轉(zhuǎn)化,解決的是如何將內(nèi)存對(duì)象持久化存儲(chǔ),以及從物理介質(zhì)中加載數(shù)據(jù)并創(chuàng)建內(nèi)存對(duì)象。

數(shù)據(jù)的持久化是序列化的又一個(gè)典型的應(yīng)用,對(duì)象只有在序列化之后才能進(jìn)行持久化存儲(chǔ)從持久化存儲(chǔ)介質(zhì)加載的數(shù)據(jù)通過(guò)反序列化轉(zhuǎn)變成運(yùn)行時(shí)對(duì)象。

Lua序列化實(shí)例

local str_serialize = "" local function serialize (o) str_serialize = str_serialize or "" if o == nil then io.write("nil") str_serialize = str_serialize.."nil" return end if type(o) == "number" then io.write(o) str_serialize = str_serialize..o elseif type(o) == "string" then io.write(string.format("%q", o)) str_serialize = str_serialize..string.format("%q", o) elseif type(o) == "table" then io.write("{ ") str_serialize = str_serialize.."{ " for k,v in pairs(o) do io.write(" ["); str_serialize = str_serialize.." [" serialize(k); io.write("] = ") str_serialize = str_serialize.."] = " serialize(v) io.write(", ") str_serialize = str_serialize..", " end io.write("}") str_serialize = str_serialize.."}" elseif type(o) == "boolean" then io.write( o and "true" or "false" ) str_serialize = str_serialize..(o and "true" or "false") elseif type(o) == "function" then io.write( "function" ) str_serialize = str_serialize.."function" else error("cannot serialize a " .. type(o)) end return end local ddd = {a = 12,b = "Lua",key = "another "one"",d = false} serialize(ddd) print("") print(str_serialize)
結(jié)果
{ ["a"] = 12, ["d"] = false, ["key"] = "another "one"", ["b"] = "Lua", } { ["a"] = 12, ["d"] = false, ["key"] = "another "one"", ["b"] = "Lua", }

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美日韩无线在码不卡一区二区三区 | 另类亚洲小说 | 精品三级视频 | 91亚洲精品一区二区三区 | 亚洲春色在线播放 | 韩国三级做爰中文字幕 | 亚洲伊人成综合人影院小说 | 成人在线网 | 欧美一级视频在线高清观看 | 精品久久久久久中文字幕无碍 | 亚洲欧美日韩另类精品一区二区三区 | 宇都宫紫苑乳在线观看 | 国产经典自拍 | 亚洲最大福利 | 欧美亚洲另类在线 | 自拍偷拍 亚洲 | 欧美久久xxxxxx影院 | 久久精品区 | 亚洲欧美精品一区天堂久久 | 性一交一乱一伦一色一情 | 国产精品第二页在线播放 | 最近中文字幕无吗免费高清 | 亚洲欧美韩日 | 欧美v亚洲 | 中文字幕日韩精品中文区 | 嫩草亚洲国产精品 | 精品国产免费一区二区三区五区 | 五月婷婷视频在线 | 自拍偷自拍亚洲精品10p | 在线观看成年人视频网站 | 中文字幕日本在线 | 伊人久久大香网 | 大美香蕉伊在看欧美 | 亚洲一区二区三区四区五区六区 | 无限国产资源 | 最新国产福利 | 亚洲天天看 | 国产成人亚洲精品 | 午夜国产精品久久影院 | 欧美黑人乱大交ⅹxxxxx | 国产一级做人爱c黑人版 |