Java RMI の経験がないので、素朴な質問がありますが、インターネットを検索しても答えがわかりません。
質問:
私には、2 つのシナリオがあります。
シナリオ 1 : ローカルから Java プログラムを開始し、実行中にリモート マシンに保存されているクラスからメソッドを呼び出し、そのメソッドのクラスがローカル マシンにダウンロードされ、実行を再開します。
シナリオ 2 : ローカルから Java プログラムを開始し、実行中にリモート マシンに格納されているクラスからメソッドを呼び出し、そのメソッドがリモート マシンで実行され、結果がローカル マシンに返されます。 . (これにはクラス/オブジェクトの転送が必要ですか? )
Java RMI はどれを使用しますか? それともどちらでもない?
RPC のウィキペディアから: 「RPC により、コンピューター プログラムはサブルーチンまたはプロシージャを別のアドレス空間 (通常は共有ネットワーク上の別のコンピューター) で実行できます」、それは 2 番目のシナリオのようです。
しかし、この論文Reducing Data Transfer during Remote Classloading in Java RMIによると、それは最初のシナリオのようです。