需要一些關於Java性能改進的幫助。有什麼方法可以理解在同一個調用棧中是否有任何重複的方法調用(具有相同參數值的相同方法)。在同一個調用堆棧中識別重複呼叫 - java
爲了保持更加清晰:
MethodA(int A)
- 返回int B.
比方說,這種方法從其他類的數量,並從其他模塊調用。如果使用相同輸入參數MethodA(1)
多次調用此方法,那麼在單個長鏈交易中,它會降低性能。相反,我認爲更好的方法必須是每次都使用第一次調用的結果,而不是每次調用MethodA(1)
。
是否可以識別重複呼叫,而不是手動分析所有內容。現在我試圖在本地緩存結果,以避免使用相同的查詢參數調用相同的方法。但仍嘗試識別重複呼叫,以便將其縮小到根本原因。
任何幫助將不勝感激。
你是不是想優化代碼?在那種情況下,我強烈建議首先使用[profiler](https://www.ej-technologies.com/products/jprofiler/overview.html),它將指出優化最有意義的熱點。 –
謝謝你的時間Rutte。我們使用dynatrace,但它確定了每種方法調用的次數,但不是確定是否在單個事務中進行了重複調用。是否有某些東西丟失,可以通過探查器來實現。 – user1785961
我認爲與僅僅使方法緩存相比,你會浪費更多時間在分析上。對於分析,我會記錄調用,然後將日誌語句分組,以查看某些組是否有多個條目。 – lexicore