Computer >> Máy Tính >  >> Lập trình >> Java

Tại sao các chương trình Java chạy trên hệ thống Android không sử dụng API Java tiêu chuẩn và máy ảo?


Máy ảo và API Java tiêu chuẩn chủ yếu được thiết kế cho máy tính để bàn cũng như hệ thống máy chủ. Chúng không tương thích với các thiết bị di động. Do đó, Google đã tạo ra một API và máy ảo khác cho các thiết bị di động. Đây được gọi là máy ảo Dalvik.

Máy ảo Dalvik là thành phần chính của thời gian chạy Android và là một phần của JVM (Máy ảo Java) được phát triển đặc biệt cho Android. Máy ảo Dalvik sử dụng các tính năng khá quan trọng trong Java như quản lý bộ nhớ, đa luồng, v.v. Các chương trình trong Java đầu tiên được chuyển đổi thành JVM và sau đó điều này được diễn giải thành mã byte DVM.

Thông tin chi tiết về cả JVM và DVM được đưa ra như sau -

Máy ảo Java

Máy ảo Java là một ứng dụng cung cấp môi trường thời gian chạy để thực thi mã byte Java. Nó chuyển đổi mã bytecode thành mã máy. Máy ảo Java có thể thực hiện nhiều hoạt động như tải mã, xác minh mã, thực thi mã, cung cấp môi trường thời gian chạy, v.v.

Sơ đồ minh họa hoạt động của Máy ảo Java được đưa ra như sau -

Tại sao các chương trình Java chạy trên hệ thống Android không sử dụng API Java tiêu chuẩn và máy ảo?

Máy ảo Dalvik

Máy ảo Dalvik là một phiên bản của Máy ảo Java được tối ưu hóa cho các thiết bị cầm tay công suất thấp, tức là các thiết bị di động. DVM tối ưu hóa hệ thống di động về tuổi thọ pin, bộ nhớ và hiệu suất nói chung.

Các chương trình dành cho Android đầu tiên được viết bằng Java và sau đó được biên dịch sang mã bytecode cho JVM. Sau đó, bytecode này được dịch sang Dalvik bytecode và được lưu trữ trong các tệp .dex và .odex. Đây lần lượt là tệp thực thi Dalvik và tệp thực thi Dalvik được tối ưu hóa.

Hình minh họa hoạt động của Máy ảo Dalvik được đưa ra như sau -

Tại sao các chương trình Java chạy trên hệ thống Android không sử dụng API Java tiêu chuẩn và máy ảo?