2011-01-03 31 views

Trả lời

58

Kể từ 4.0 (Ice Cream Sandwich), hành vi của Dalvik phải khớp với JSR-133 (Mô hình bộ nhớ Java).

Kể từ 3.0 (Honeycomb), hầu hết các phần đã được đặt ra, nhưng một số thứ nhỏ đã bị bỏ qua sẽ khó gặp trong thực tế (ví dụ: một số trường hợp cạnh tranh).

Tính đến 2,3 (Gingerbread), Dalvik nói chung là đúng trên các bộ xử lý, nhưng một số tính năng chính cần thiết cho hành vi thích hợp trên phần cứng SMP (ví dụ: xử lý trường final thích hợp) bị thiếu.

Pre-Gingerbread, không có rào cản bộ nhớ nào cả và các công cụ cơ bản như volatile long bị hỏng.

+7

Bạn đã đọc thông tin này ở đâu? –

+62

Tôi làm việc trên Dalvik. – fadden

+8

Liên quan mơ hồ: Android + SMP Primer tại http://developer.android.com/training/articles/smp.html – fadden

0

Đặc điểm kỹ thuật nói rằng tất cả các hoạt động trên số 32 bit (số không phải là gấp đôi, số không dài) đều là nguyên tử. Không có gì đảm bảo rằng các phép toán trên các số 64 bit cũng là nguyên tử.

+4

Đặc điểm kỹ thuật này là gì? Nếu bạn ngụ ý đặc tả Java, tôi nghĩ điểm của câu hỏi là hỏi Dalvik có triển khai thực hiện một phần ngữ nghĩa của Java hay không. Nếu bạn có nghĩa là một số đặc điểm kỹ thuật khác, nny cơ hội của một liên kết? –

13

a document in the Dalvik source mà nói:

Từ quan điểm của một đoạn mã viết bằng ngôn ngữ lập trình Java hoặc nhắm mục tiêu trong cùng một cách để .class các file, các Dalvik VM nhằm cư xử theo một cách hoàn toàn phù hợp với định nghĩa của ngôn ngữ. Đó là, mã chạy trong Dalvik sẽ hoạt động giống như nó sẽ chạy trên bất kỳ máy ảo nào khác.

Điều đó có nghĩa là hành vi cũng giống như trong Java phù hợp. Cho dù nó thực sự là hay không, tôi không có ý tưởng.

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