2011-02-03 26 views
21

Tại sao Java, chạy ở chế độ máy chủ, nói rằng phiên bản là "chế độ hỗn hợp"? Khi tôi thấy điều đó, có nghĩa là JVM không thực sự tải ở chế độ máy chủ thuần túy?Tại sao Java, chạy ở chế độ máy chủ, nói rằng phiên bản là "chế độ hỗn hợp"?

+2

Bạn cũng có thể muốn đọc: http://stackoverflow.com/questions/198577/real-differences-between-java-server-and-java-client – biziclop

Trả lời

27

chế độ máy chủ không có nghĩa là "không bị lẫn lộn". Đó là những thiết lập khác nhau.

Hỗn hợp không có nghĩa là JVM sẽ trộn mã được biên dịch và giải thích. Bạn có thể tùy chọn chuyển sang chế độ thông dịch đầy đủ với công tắc -Xint (thường bạn không muốn làm điều này).

Chế độ máy chủ có nghĩa là trình biên dịch điểm nóng sẽ chạy với cài đặt máy chủ. Giả thiết chung là các máy ảo trong chế độ máy chủ là dài hạn, do đó, tối ưu hóa sẽ được thực hiện với điều này trong tâm trí.

Vì vậy, nếu bạn thấy chế độ hỗn hợp, đó không phải là dấu hiệu cho thấy máy ảo của bạn không chạy ở chế độ máy chủ.

EDIT: Nếu bạn muốn kiểm tra những gì đang thực sự chạy, hãy thử các sản phẩm của

System.out.println(System.getProperty("java.vm.name")); 
System.out.println(System.getProperty("java.vm.info")); 

Ít nhất cho Sun VM hoặc OpenJDK này sẽ cung cấp cho bạn một gợi ý. Bạn có thể nhận thấy rằng bạn sẽ luôn chạy Server VM nếu bạn đang sử dụng hệ thống 64 bit.

+1

'-Xcomp' chỉ để đối chiếu. Và bạn không muốn làm điều đó./Ngẫu nhiên, Server HotSpot có trình thông dịch riêng của nó (nó lấy thông tin lược tả, làm cho nó chậm hơn một chút so với thông dịch chuẩn bog). –

4

Hotspot Virtual Machine

Cả client và server biên dịch Hotspot có trong Java Runtime Environment.

Theo mặc định trình biên dịch máy khách được bật, nhưng đối với các ứng dụng phía máy chủ cường độ cao, bạn có thể chạy trình biên dịch máy chủ với tùy chọn thời gian chạy máy chủ. Máy ảo Hotspot thường chạy ở chế độ hỗn hợp, như được thấy trong đầu ra -version. Chế độ hỗn hợp có nghĩa là Hotspot tự động biên dịch mã byte Java thành mã gốc khi một số tiêu chí đã được đáp ứng, bao gồm số lần phương thức đã được chạy thông qua trình thông dịch. Chế độ thời gian chạy hỗn hợp thường dẫn đến hiệu suất tốt nhất.

+2

Điều này thực sự cho thấy tùy chọn máy chủ sẽ vô hiệu chế độ hỗn hợp . Bài viết là từ năm 2000 vì vậy nó có lẽ cũng không phải tất cả những gì chính xác. – extraneon

Các vấn đề liên quan