Tôi cần phải xác định ổ khóa nào được sử dụng nhiều nhất trong mã ứng dụng của tôi. Tôi có thể sử dụng những công cụ miễn phí nào để xác định điều này?Công cụ miễn phí nào có sẵn để phân tích sự tranh chấp khóa trong java?
Trả lời
bạn có thể sử dụng jconsole hoặc jstack cả trong thư mục bin của JDK của bạn. Đặc biệt, jconsole cho phép bạn kết nối với quá trình của bạn và theo dõi các chủ đề bao gồm các tài nguyên mà họ đã khóa, và nó có thể giúp bạn xác định trạng thái bế tắc.
JDK có một số hỗ trợ tích hợp - theo unix, giết -3 quá trình, dưới cửa sổ, ctrl-break. Điều này sẽ hiển thị một bãi chứa thread hoàn chỉnh, theo sau là bất kỳ deadlocks phát hiện. Thêm vào đó, trong chuỗi dusmp bạn có thể thấy những gì chủ sở hữu những gì khóa, và so sánh chúng với nhau.
Bạn không cần phải giết quá trình để có được một bãi chứa thread - chỉ cần chạy jstack
Lệnh kill -3 không giết quá trình. Nó chỉ báo hiệu nó, nhưng quá trình sẽ tiếp tục chạy. –
Bạn cũng có thể xem điều này trong trình gỡ lỗi của nhật thực. Trong chế độ xem Gỡ lỗi, hãy sử dụng trình đơn hình tam giác nhỏ xuống trên thanh công cụ chế độ xem để bật "Java-> Hiển thị màn hình".
Khi bạn nghi ngờ bế tắc, hãy tạm dừng ứng dụng (chọn ứng dụng trong giao diện gỡ lỗi và nhấn nút tạm dừng trên thanh công cụ gỡ lỗi) và nếu có bế tắc, chủ đề chặn sẽ chuyển sang màu đỏ. Nếu bạn mở rộng các chủ đề đó, bạn có thể thấy sự tranh chấp khóa.
Nếu bạn sở hữu mã, bạn có thể tạo/tìm kiếm triển khai Khóa tập hợp thống kê tranh chấp. Nếu không, hãy thử các công cụ được đề xuất trong các bài đăng khác.
bạn có bất kỳ ví dụ nào về loại triển khai này không (ví dụ: mã java) – Rhubarb
- 1. Các công cụ phân tích tĩnh Java thương mại so sánh với các công cụ miễn phí như thế nào?
- 2. Làm thế nào để đo lường sự tranh chấp khóa?
- 3. Công cụ phân tích tĩnh nào có sẵn cho C#?
- 4. Làm thế nào để đo lường sự tranh chấp mutex?
- 5. Công cụ trợ giúp NHibernate miễn phí?
- 6. Có công cụ miễn phí nào để tạo hoạt ảnh SWF/Flash không?
- 7. Công cụ so sánh SQL miễn phí
- 8. Công cụ định dạng SQL miễn phí
- 9. Có thư viện phân tích cú pháp PDF miễn phí nào hoạt động trong Android không?
- 10. Có cách nào miễn phí để phân phối các ứng dụng Windows 8 miễn phí không?
- 11. Công cụ miễn phí tốt nhất để xây dựng một exe từ mã Java?
- 12. Java Mã Công cụ Phân tích
- 13. Bất kỳ công cụ miễn phí nào để chuyển đổi java sang javascript
- 14. Nguồn mở hoặc công cụ khung dây miễn phí
- 15. Công cụ trò chơi tốt và miễn phí là gì?
- 16. Chọn công cụ phân tích mã tĩnh
- 17. Động cơ java 3d miễn phí
- 18. Phát triển nhanh; các công cụ miễn phí trực tuyến!
- 19. Nguồn mở & Công cụ báo cáo Adhoc/End miễn phí
- 20. Trình phân tích cú pháp Java và HTML Java miễn phí
- 21. web miễn phí báo cáo công cụ dựa
- 22. Có công cụ miễn phí nào giống như thuật sĩ regexp không?
- 23. Máy phân tích truy vấn MySql - giải pháp miễn phí
- 24. Công cụ đồng bộ hóa miễn phí MySQL
- 25. Bất kỳ thư viện java VFS miễn phí nào?
- 26. Công cụ định dạng SQL miễn phí tồn tại?
- 27. Có thư viện miễn phí để phân tích hình thái học tiếng Đức không?
- 28. visual studio express: miễn phí lớp sơ đồ công cụ
- 29. Bất kỳ công cụ miễn phí nào để sản xuất ứng dụng flash?
- 30. Java EE 6 có miễn phí không?
Tôi nghĩ câu hỏi liên quan đến một số thống kê về sự tranh chấp khóa trong khi chạy ứng dụng - đó là các khóa nóng trong hệ thống. – akarnokd