Có hai khái niệm riêng biệt tại đây.
- Fast-đường dẫn và Slow-đường dẫn mã
- Uncontended và đồng bộ hóa tranh luận
Slow-path vs đang Fast-đường
Đây là một cách khác để xác định nhà sản xuất mã nhị phân của máy cụ thể.
Với HotSpot VM, chậm đường dẫn mã là mã nhị phân được tạo ra bởi một C++ thực hiện, nơi mã nhanh đường có nghĩa là mã được tạo ra bởi trình biên dịch JIT.
Nói chung, mã đường dẫn nhanh được tối ưu hóa nhiều hơn. Để hiểu đầy đủ về các trình biên dịch JIT wikipedia is a good place to start.
Uncontended và tranh đồng bộ
Java của đồng bộ hóa cấu trúc (Monitors) có khái niệm về quyền sở hữu. Khi một chủ đề cố gắng khóa (chiếm quyền sở hữu) màn hình, nó có thể bị khóa (thuộc sở hữu của một chủ đề khác) hoặc được mở khóa.
đồng bộ Uncontended xảy ra trong hai kịch bản khác nhau:
- Unlocked Monitor (sở hữu đạt được eo biển xa)
- Monitor đã thuộc sở hữu của cùng một sợi
tranh đồng bộ, mặt khác, có nghĩa là chuỗi sẽ bị chặn cho đến khi chuỗi chủ sở hữu giải phóng khóa màn hình.
Trả lời câu hỏi
By nhanh đường uncontended đồng bộ các phương tiện tác giả, bản dịch bytecode nhanh nhất (nhanh-path) trong kịch bản giá rẻ nhất (đồng bộ hóa uncontended).
Nguồn
2014-07-19 16:32:11
Bạn đã thực hiện bất kỳ tìm kiếm nào trên google chưa. Điều này như đã đưa ra cho tôi: https://blogs.oracle.com/dagastine/entry/java_synchronization_optimizations_in_mustang – Gray