Javaでのパフォーマンスの改善についての助けが必要です。同じコールスタック内に重複したメソッド呼び出し(同じパラメーター値を持つ同じメソッド)があるかどうかを調べる方法はありますか? 同じ呼び出しスタック内で重複呼び出しを識別する - Java
はより明確にそれを維持するには、次のMethodA(int A)
- リターンは、この方法は、他のクラスの数からして、他のモジュールから呼び出されますだとします
B.
int型。このメソッドが同じ入力パラメータMethodA(1)
で複数回呼び出された場合、1つの長いチェーントランザクションでは、パフォーマンスが低下します。代わりに、より良いアプローチは毎回
MethodA(1)
を呼び出すのではなく、最初の呼び出しの結果を毎回使用することでなければならないと私は信じています。
手動ですべてを分析する以外に、重複呼び出しを識別することは可能ですか?現時点では、同じクエリパラメータを持つ同じメソッドへの呼び出しを避けるため、結果をローカルにキャッシュしようとしています。しかし、依然として重複した呼び出しを特定して根本的な原因を絞り込むことができます。
ご協力いただければ幸いです。
あなたは、コードを最適化しようとしていますか?その場合は、最初に[プロファイラ](https://www.ej-technologies.com/products/jprofiler/overview.html)を使用して、最適化が最も理にかなったホットスポットを示すことを強くお勧めします。 –
ありがとうございました。 dynatraceを使用しますが、これは各メソッドに対して何回呼び出しを行うかを指定しますが、1回のトランザクション内で重複呼び出しが行われるかどうかを正確に識別するものではありません。行方不明で、プロファイラを使用して実現できるものがありますか? – user1785961
私は、メソッドをキャッシュ可能にするのに比べて、分析に多くの時間を費やすと思います。分析のために、私は呼び出しをログしてから、ログ文をグループ化して、いくつかのグループに多くのエントリがあるかどうかを調べます。 – lexicore