2017-11-14 26 views
0

私の質問はこれです:静的メソッドの多重呼び出し

3つの異なるクラスでは、同じプロシージャを持つがパラメータの値が異なるメソッドを実行する必要があります。

  • それは静的関数を含む新しいクラスを使用して 各呼び出しの必要に応じて値を変更しても大丈夫ですか?

  • 静的メソッドのいくつかのインスタンスを持つことによってJVMがどのように進行するのですか? オーダーの「末尾」が生成されますか?

質問は、JVMがメモリをどのように処理するかという点で、私が探しているのは行の保存だけでなくメモリです。私は、これを行うことでより多くの消費を生み出すか、各クラスでより多くのコードを生成することが悪いことを言いたいと思います。

もっと良い方法があれば、あなたが私に言ってくれれば幸いです。

既にありがとうございます。

+1

私はそれが問題ではないかと疑います。最もクリーンなコードを書いて、それを簡単に保つ。 – jontro

+1

私は、JVMが完全に別のメソッドを「結合」するとは思わない。ある人が別の人を呼び出すと、それはインライン化されるかもしれませんが、他の最適化を心に留めていません。あなたが本当に同じ3つのメソッドを持っているなら、異なるパラメータを取る1つのメソッドを作るように努めるべきです。あなたがしようとしていることの一例が助けになるでしょう、あなたの質問は非常に一般的です。 – markspace

+0

ありがとう、jontro。 こんにちはマークスペース、私は異なる値を受け取ることができる単一のメソッドを作成します。私の質問は、JVMがこれをどのように処理するかを指向しています。 たとえば、2つの異なるクラスが別のクラスの同じ静的メソッドを呼び出す場合、これは、優先順位を確立して、別のクラスを呼び出す人を待っている種類を生成します。 コードが分かれていれば、それは同じか悪いかどうかを判断できます。 –

答えて

0

あなたの質問はいくつかの例示的なコードなしで理解するのはかなり困難ですが、二つの明確なポイントに対処するために:

すると、それは静的関数を含む新しいクラスを使用している値を変更しても大丈夫です各呼び出しに必要ですか?

確かに、なぜですか?

静的メソッドのいくつかのインスタンスを持つことでJVMはどのように進められますか?「末尾」の注文が生成されますか?

「静的メソッドのインスタンス」というものはありません。おそらく、あなたは「呼び出し」を意味します。そうであれば、「順序」の「尾」と「一種の待機を生成する」は何らかの種類の逐次化を意味することを意図していますが、同期またはロックを使用しない限り、同時呼び出しは並行して処理されます。

+0

ありがとう、私が探していた答えは、 "同時呼び出しが並行して進行する"というものでした。同期またはロックが使用されていない限りです。 これについては、「どうしてどうして?」私はシーケンシングがあったかもしれないし、関数を呼び出すためのより良い方法があったかもしれないので尋ねました。 –

関連する問題