2

Sample以下のようなコードで使用される名前のクラスが 1 つあります。

class Sample{
 .
 .
 Object someMethod(){
  return someObject;


 }
 .
 .
}

私はそれを次のように呼びます:

Object ob = new Sample().someMethod();

of any class (匿名の ``Object new Sample() ) and call anyrequire method if I don't have any further use of thisObject`を作成すると利点があるかどうかを知りたいです。

4

1 に答える 1

5

以下とは対照的に、投稿したコードについて質問していると思います。

Sample s = new Sample();
s.someMethod();

(明示的にnew Sample()ローカル変数に割り当てる場所)。

いずれにせよ、パフォーマンスやメモリに大きなメリットはありません。参照をローカル変数に格納してからメソッドを呼び出すと、参照を格納するために (非常に) わずかなパフォーマンスの低下が生じる可能性があると思います。ただし、多くのコンパイラは、メソッドが呼び出されると変数が死んでいることに気付き、割り当てを最適化してしまうのではないかと思います。JIT コンパイラーがジョブを終了する場合があります。しかし、せいぜい数 CPU サイクルしか話していません。

于 2015-01-07T04:48:47.163 に答える