目次
|
前
|
次
Java Remote Method Invocation
2.3
分散モデルと非分散モデルの比較
Java SEプラットフォームの分散オブジェクト・モデルは、Java SEプラットフォームのオブジェクト・モデルと次の点でよく似ています。
リモート・オブジェクトへの参照を引数として渡すことができ、メソッド(ローカルであれ、リモートであれ)呼出しの結果は戻り値として返される。
リモート・オブジェクトはリモート・インタフェースの実装がサポートする任意の型にキャストすることができる。このときJava言語に組み込まれた型変換構文に従う。
組込み演算子
instanceof
により、リモート・オブジェクトがサポートするリモート・インタフェースをテストすることができる。
Java SEプラットフォームの分散オブジェクトはJava SEプラットフォームのオブジェクト・モデルと次の点で異なります。
リモート・オブジェクトのクライアントは、リモート・インタフェースに働きかけるのであって、これらのインタフェースの実装クラスに働きかけることはない。
リモート・メソッド呼出しに対するリモートでない引数と、リモートでない戻り値は参照渡しではなくコピー渡しになる。この理由は、オブジェクトへの参照は単一の仮想マシン上でのみ有効なため。
リモート・オブジェクトは参照で渡され、実際のリモート実装がコピーされて渡されるのではない。
java.lang.Object
クラスで定義されるメソッドのいくつかのセマンティックスはリモート・オブジェクト用に特殊化されている。
リモート・オブジェクト呼出しの失敗モードは、その性質として、ローカル・オブジェクト呼出しの失敗モードよりも複雑になる。クライアントはリモート・メソッド実行時には、起こり得る追加的な例外処理を取り扱わなければならない。
目次
|
前
|
次
Copyright 1997, 2010, Oracle and/or its affiliates. All rights reserved.