W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
1.什么是RPC ?
java遠(yuǎn)程方法調(diào)用,跨虛擬機(jī)方法調(diào)用,RPC不是技術(shù),是一種解決方案,google protobuffer提供了該種整合方案。
2.RPC原理?
RPC并不是一項(xiàng)新的技術(shù),而是對(duì)原有的java技術(shù)的整合實(shí)現(xiàn) 跨進(jìn)程的java方法調(diào)用。
stub,在本地代表遠(yuǎn)程方法的存根,實(shí)際上是一個(gè)動(dòng)態(tài)代理對(duì)象,代理著遠(yuǎn)程的方法。
需要調(diào)用遠(yuǎn)程方法,先創(chuàng)建stub對(duì)象,存根對(duì)象上代理著遠(yuǎn)程的方法;在存根對(duì)象的方法中實(shí)現(xiàn)rpc的調(diào)用過程:
機(jī)器a發(fā)起請(qǐng)求,通過stub遠(yuǎn)程代理對(duì)象,將數(shù)據(jù)序列化,通過網(wǎng)絡(luò)傳輸?shù)竭_(dá)機(jī)器b,機(jī)器b對(duì)請(qǐng)求進(jìn)行反序列化,找到需要的方法,將方法在經(jīng)過序列化-網(wǎng)絡(luò)傳輸-反序列化的過程返回給機(jī)器a。
3. Java中怎么實(shí)現(xiàn)序列化?
系列化:將內(nèi)存中不連續(xù)且容易丟失的對(duì)象信息轉(zhuǎn)換成二進(jìn)制的信息,用來(lái)存儲(chǔ)或傳遞,這個(gè)過程叫序列化。
持久化:將內(nèi)存中易失的對(duì)象序列化之后保存到持久化的設(shè)備中的過程。 Java中的序列化:
Sun公司在jdk1.0版本的時(shí)候就實(shí)現(xiàn)了序列化和反序列化技術(shù)。 只需要對(duì)需要序列化的類實(shí)現(xiàn)Serializable接口,添加序列化id即可。序列化ID的作用是保證在序列化和反序列化的時(shí)候解析出來(lái)的數(shù)據(jù)一致。
不需要序列化的屬性使用關(guān)鍵字transient
Java中序列化缺點(diǎn) 序列化產(chǎn)生的數(shù)據(jù)量大,速度慢,不能跨語(yǔ)言
開源的序列化和反序列化框架
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: