1) Nếu tôi có dịch vụ web được viết bằng java, nó sẽ cần một cá thể JVM để chạy. Vì vậy, JVM có thể được thực hiện một quá trình daemon?
Có thể. Làm thế nào nó được thực hiện phụ thuộc vào O/S và trên máy chủ web container chính nó.
2) Nếu có khi chúng tôi chạy bất kỳ ứng dụng java nào khác, ứng dụng này sẽ sử dụng phiên bản JVM này hoặc tạo một ứng dụng mới?
Không. Mỗi ứng dụng Java sử dụng JVM độc lập.
Mỗi JVM là một quá trình riêng biệt và điều đó có nghĩa là không có chia sẻ ngăn xếp, đống, v.v. (Nói chung, những điều duy nhất có thể được chia sẻ là các phân đoạn chỉ đọc giữ mã của JVM lõi và thư viện gốc ... giống như cách các quy trình thông thường có thể chia sẻ các đoạn mã.)
3) Bộ nhớ chính có sẵn trong bất kỳ máy nào là không đổi. Khi chúng tôi bắt đầu n java quy trình đồng thời mà không cung cấp bất kỳ kích thước heap ban đầu như thế nào là kích thước heap phân phối giữa các quy trình?
Cơ chế quyết định mức độ lớn nếu bạn không chỉ định kích thước phụ thuộc vào JVM/nền tảng/phiên bản bạn đang sử dụng và liệu bạn có sử dụng mô hình "máy khách" hay "máy chủ" hay không (cho các JVM Hotspot). Các heuristic không tính đến số lượng hoặc kích thước của các JVM khác.
tham khảo: https://stackoverflow.com/a/4667635/139985
Trong thực tế, bạn có lẽ sẽ tốt hơn hết xác định kích thước heap trực tiếp.
4) Có quá trình nào quản lý n số phiên bản JVM hay nó được quản lý bởi chính hệ điều hành không?
Không. Số lượng các cá thể JVM được xác định bởi các hành động của nhiều thứ khác nhau có thể bắt đầu các quá trình; ví dụ. daemon script, script lệnh, người dùng gõ lệnh tại dòng lệnh, etcetera. Cuối cùng, hệ điều hành có thể từ chối bắt đầu thêm bất kỳ quy trình nào nếu nó hết tài nguyên, nhưng các JVM không được xử lý bất kỳ khác với các quy trình khác.
5) Khi stop-the-world xảy ra trong GC là các trường hợp JVM khác (các chủ đề khác nhau mà tôi giả định) bị ảnh hưởng?
No. JVM là các quy trình độc lập. Họ không chia sẻ bất kỳ trạng thái có thể thay đổi nào. Thu gom rác hoạt động độc lập trên mỗi JVM.
Điểm đầu tiên của bạn phụ thuộc vào việc triển khai vùng chứa ... – MadProgrammer
+1 để có giải thích chi tiết và nghiên cứu câu hỏi trước khi yêu cầu. – amod