從零手寫RPC

2021-08-20 21:35:13 字數 1014 閱讀 7678

clientstub/sereverstub 可以看作乙個**物件,遮蔽rpc呼叫過程中複雜的網路處理邏輯,使rpc透明化,使得呼叫遠端方法想呼叫本地方法一樣。

server 服務端提供遠端服務。

注:serverstub又叫skeleton。

public

inte***ce

ihello

public

class

helloservice

implements

ihello

}

public

class

rpcproxyserver

method m = helloservice.class.getmethod(method, types);

object obj = m.invoke(hello, objs);

try (objectoutputstream oos = new objectoutputstream(socket.getoutputstream()))

}} catch (exception e)

}} catch (exception e)

}}

接收請求的資料。(方法名和引數)

根據請求的資料(方法名和引數),使用反射呼叫相應的服務。

輸出服務的響應資料。

public

class

rpcproxyclient }

}}

}));

}}

向遠端服務傳送資料。(方法名和方法引數)

接收遠端服務響應的資料。

public

class

rpcserver

}

public

class

rpcclient

}

2020 09 15 手寫基本演算法

基本演算法 氣泡排序 兩兩相比,大小決定左右位置。public int bubblesort int arr arr list.toarray int tmp 0 for int outer 0 outer arr.length outer return arr 選擇排序 宣告最值下標,初始值為每次...

1手寫線性回歸 2

github import numpy as np from sklearn.linear model import linearregression from sklearn.datasets import load diabetes from sklearn.utils import shuff...

(一)手寫spring IOC容器

設計bean工廠介面 如何告訴他建立bean?建立什麼bean?bean工廠實現 畫完整uml類圖 編寫 測試總結 1.ioc是什麼?ioc inversion of control 控制反轉,也稱依賴倒置反轉。反 依賴物件的獲得權被反轉了,由自己建立,變為從ioc容器獲取,和自動注入。2.帶來什麼...