2013-05-08 62 views

Odpowiedz

2

Aby przeprowadzić wyczerpującą analizę, należy użyć innego narzędzia, np. JProfiler.

Zgodnie z tym co mówi @TomasHurka można również profil z VisualVM (https://blogs.oracle.com/nbprofiler/entry/profiling_with_visualvm_part_1)

+0

To nie jest poprawne. VisualVM może robić wiele innych rzeczy poza analizą pamięci. –

+0

Dzięki @TomasHurka Nie znam tej funkcji, dodałem twoją radę do zaakceptowanej odpowiedzi dla jasności. –

0

To może być trochę pomocne dla Ciebie ..

użycie różnicy obliczyć wykonanie dokonując czegoś Sposób powrotu .

long before = System.currentTimeMillis(); 
    String responseFromMethod=methodCall(); // String value returned from method 

    long totalResponseTime=((System.currentTimeMillis() - before)/1000); 

Można zachować wartość licznika dla liczby wywołań funkcji.

Dla VisualVM można użyć Eclipse MAT do analizy sterty. Wyjaśnia, gdzie twój program wymaga poprawy.

Dzięki,

17

To jest naprawdę proste. Uruchom swój program i automatycznie pojawi się jako działający proces w panelu VisualVM. Kliknij na niego i przejdź bezpośrednio do karty Sampler. Finnaly, kliknij CPU i bingo! Tam możesz zobaczyć czas każdej funkcji! (niesamowite!)

+1

To powinna być zaakceptowana odpowiedź - najprostsze rozwiązanie tego, co OP chce wiedzieć. –

Powiązane problemy