Câu hỏi của tôi chủ yếu liên quan đến tiêu chuẩn, nhưng đầu vào về cách triển khai cụ thể giải quyết vấn đề cũng được chào đón. Vì vậy mà không làm lại thêm, câu hỏi của tôi là;Ai thực hiện hệ điều hành giao tiếp trong java?
- Ai chịu trách nhiệm về hệ điều hành giao tiếp trong Java?
- Máy ảo Java?
- hoặc Thư viện lớp Java?
Ngoài ra, cách này thường được triển khai thông qua Giao diện bản địa Java?
Ví dụ; Tôi đang đọc một tập tin, bằng cách sử dụng java.io.FileReader. Khi gọi read
trên đối tượng này, JVM rõ ràng sẽ gọi hàm này, trong tệp lớp đúng, trong JCL, tuy nhiên mã này cuối cùng dựa vào JVM để gọi, ví dụ hàm posix read
? - hoặc tập tin lớp sẽ tự làm điều này, thông qua việc sử dụng JNI? (giả sử read
phải được thực hiện, đó là tệp chưa có trong bộ nhớ cache/bộ nhớ)
Vì vậy, thực sự, JVM chỉ cung cấp chức năng JNI chung chung, được sử dụng bởi JCL để thực hiện tất cả các hoạt động phụ thuộc hệ thống, bằng cách gọi mã C? – Skeen
Cũng có nghĩa là, người ta có thể thực hiện một JVM và chỉ cần mượn JCL từ một JVM khác (cho cùng một nền tảng)? – Skeen
Câu hỏi đầu tiên: Có thực sự. Câu hỏi thứ hai: Về lý thuyết, điều này nên làm việc, vâng. Ít nhất, tôi không thể thấy tại sao nó không hoạt động. –