99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

RPC和序列化

2018-05-03 22:24 更新

1.什么是RPC ?

java遠(yuǎn)程方法調(diào)用,跨虛擬機方法調(diào)用,RPC不是技術(shù),是一種解決方案,google protobuffer提供了該種整合方案。

2.RPC原理?

RPC并不是一項新的技術(shù),而是對原有的java技術(shù)的整合實現(xiàn) 跨進(jìn)程的java方法調(diào)用。

  • 網(wǎng)絡(luò)通信
  • 序列化反序列化
  • 回調(diào)函數(shù)
  • 動態(tài)代理

stub,在本地代表遠(yuǎn)程方法的存根,實際上是一個動態(tài)代理對象,代理著遠(yuǎn)程的方法。

需要調(diào)用遠(yuǎn)程方法,先創(chuàng)建stub對象,存根對象上代理著遠(yuǎn)程的方法;在存根對象的方法中實現(xiàn)rpc的調(diào)用過程:

機器a發(fā)起請求,通過stub遠(yuǎn)程代理對象,將數(shù)據(jù)序列化,通過網(wǎng)絡(luò)傳輸?shù)竭_(dá)機器b,機器b對請求進(jìn)行反序列化,找到需要的方法,將方法在經(jīng)過序列化-網(wǎng)絡(luò)傳輸-反序列化的過程返回給機器a。

3. Java中怎么實現(xiàn)序列化?

系列化:將內(nèi)存中不連續(xù)且容易丟失的對象信息轉(zhuǎn)換成二進(jìn)制的信息,用來存儲或傳遞,這個過程叫序列化。

持久化:將內(nèi)存中易失的對象序列化之后保存到持久化的設(shè)備中的過程。 Java中的序列化:

Sun公司在jdk1.0版本的時候就實現(xiàn)了序列化和反序列化技術(shù)。 只需要對需要序列化的類實現(xiàn)Serializable接口,添加序列化id即可。序列化ID的作用是保證在序列化和反序列化的時候解析出來的數(shù)據(jù)一致。

不需要序列化的屬性使用關(guān)鍵字transient

Java中序列化缺點 序列化產(chǎn)生的數(shù)據(jù)量大,速度慢,不能跨語言

開源的序列化和反序列化框架

  • 谷歌 --google protobuffer
  • *Apache -- AVRO
  • *facebook -- Thrift
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號