Модель памяти Dalvik такая же, как Java?

Модель памяти Dalvik такая же, как Java ? Меня особенно интересует, являются ли чтения и записи ссылочных и недолговечных / не double примитивных переменных атомарными, но я также хотел бы знать, существуют ли различия между моделями памяти двух платформ.

Начиная с версии 4.0 (Ice Cream Sandwich) поведение Dalvik должно совпадать с JSR-133 (модель памяти Java).

Начиная с версии 3.0 (Honeycomb), большинство фрагментов были на месте, но некоторые незначительные вещи были упущены, что было бы трудно встретить на практике (например, некоторые крайние случаи в финализации).

Начиная с версии 2.3 (Gingerbread), Dalvik, как правило, был прав на однопроцессорных устройствах, но некоторые ключевые функции, необходимые для правильного поведения на оборудовании SMP (например, правильная обработка final поля), отсутствовали.

Pre-Gingerbread, не было никаких барьеров памяти, и основные вещи, такие как volatile long были сломаны.

В источнике Dalvik есть документ, в котором говорится:

С точки зрения фрагмента кода, написанного на языке программирования Java, или нацеленного таким образом на файлы .class, Dalvik VM стремится вести себя таким образом, который полностью соответствует определению языка. То есть код, работающий в Dalvik, будет вести себя так же, как и в любой другой виртуальной машине.

Это должно означать, что поведение такое же, как в правильной Java. На самом деле это или нет, я понятия не имею.

В спецификации говорится, что все операции над 32-разрядными номерами (недвойные, недолгочисленные числа) являются атомарными. Нет гарантии, что операции с 64-разрядными номерами также являются атомарными.

Intereting Posts
'Не может найти символьную переменную' в привязке данных к андроиду Отсоединить ItemTouchHelper от RecyclerView Как передавать аудио с одного устройства Android на другое устройство Android Через Bluetooth? Геокодирование – точность, требуемая в координатах GPS? Как поместить атрибут CardView в стиле? Может ли Android-телефон декодировать и воспроизводить * .caf-файл с кодеком iLBC? Установка google-приложений на genymotion Инструмент для разработки макета для Android -apps онлайн? Как фильтровать Android logcat приложением? Можете ли вы сохранить черновик для своего магазина в магазине Google Play? Зачем уже установлен пользовательский ключ / секретная пара, IllegalStateException в моем приложении Android? Загрузка текстуры в libgdx android с помощью файла в res? Список сортировки android rxjava со классом компаратора Невозможно мультиплексировать как аудио, так и видео Опубликовать файл aar в Maven Central с неработающей Gradle