2013-05-08 39 views

Trả lời

2

Xem Profiling With VisualVM, Part 1Profiling With VisualVM, Part 2 để có thêm thông tin về hồ sơ và làm thế nào để thiết lập rễ profiling và lọc thiết bị đo đạc.

+6

Một lời giải thích chi tiết hơn sẽ được biết ơn, cảm ơn bạn, @Tomas Hurka – Wilbeibi

+0

Tôi xin lỗi, nhưng chính xác những gì bạn muốn tôi giải thích? –

+0

Xin lỗi, tôi nhận được rằng – Wilbeibi

2

Để phân tích toàn diện, cần sử dụng công cụ thay thế, ví dụ: JProfiler.

Theo những gì @TomasHurka nói rằng bạn có thể cấu hình cũng với VisualVM (https://blogs.oracle.com/nbprofiler/entry/profiling_with_visualvm_part_1)

+0

Điều này không chính xác. VisualVM có thể thực hiện rất nhiều thứ khác ngoài phân tích bộ nhớ. –

+0

Cảm ơn @TomasHurka Tôi chưa biết tính năng đó, đã thêm lời khuyên của bạn để chấp nhận câu trả lời cho sự rõ ràng. –

0

Đây có thể là một chút hữu ích cho bạn ..

Sử dụng Time Difference để tính toán thực hiện bằng cách làm một cái gì đó phương thức hoàn trả .

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

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

Bạn có thể giữ giá trị bộ đếm cho số lần hàm được gọi.

Đối với VisualVM, bạn có thể sử dụng MAT Eclipse để phân tích heapdump. Nó sẽ giải thích chương trình của bạn cần cải thiện ở đâu.

Cảm ơn,

17

Nó thực sự đơn giản. Chạy chương trình của bạn và nó sẽ tự động xuất hiện như một tiến trình đang chạy trong Bảng điều khiển VisualVM. Click vào nó, và đi thẳng đến tab Sampler. Finnaly, bấm vào CPU và bingo! Ở đó bạn có thể nhìn thấy thời gian mỗi chức năng có! (tuyệt vời!)

+1

Đây phải là câu trả lời được chấp nhận. Giải pháp đơn giản nhất cho những gì OP muốn biết. –