¿El modelo de memoria de Dalvik es el mismo que Java's? Estoy particularmente interesado en si las variables primitivas de lectura y escritura de referencia y no long
/non-double
son atómicas, pero también me gustaría saber si existen diferencias entre los modelos de memoria de las dos plataformas.¿El modelo de memoria de Dalvik es el mismo que el de Java?
Respuesta
A partir de 4.0 (Ice Cream Sandwich), el comportamiento de Dalvik debe coincidir con JSR-133 (el Modelo de memoria de Java).
A partir de 3.0 (Honeycomb), la mayoría de las piezas estaban en su lugar, pero se han pasado por alto algunas cosas menores que serían difíciles de encontrar en la práctica (por ejemplo, algunos casos extremos en la finalización).
A partir de 2.3 (Gingerbread), Dalvik era generalmente correcto en los uniprocesadores, pero algunas características clave requeridas para un comportamiento correcto en el hardware SMP (por ejemplo, el correcto manejo de campo final
) faltaban.
Pre-Gingerbread, no había barreras de memoria en absoluto, y cosas básicas como volatile long
estaban rotas.
La especificación dice que todas las operaciones en números de 32 bits (los números no dobles, no largos) son atómicos. No hay garantía de que las operaciones en números de 64 bits sean atómicas también.
¿Qué especificación es esta? Si se refiere a la especificación de Java, creo que el objetivo de la pregunta es preguntar si Dalvik implementa esa parte de la semántica de Java. Si se refiere a alguna otra especificación, ¿alguna posibilidad de un enlace? –
Hay a document in the Dalvik source que dice:
Desde el punto de vista de un fragmento de código escrito en el lenguaje de programación Java o dirigido en la misma forma de archivos .class, la máquina virtual Dalvik pretende comportarse de una forma que sea totalmente coherente con la definición del idioma. Es decir, el código que se ejecuta en Dalvik se comportará de la misma manera que se ejecutaría en cualquier otra máquina virtual.
Lo que debería significar que el comportamiento es el mismo que en Java adecuado. Si realmente es o no, no tengo idea.
- 1. Scala y el Modelo de Memoria Java
- 2. ¿Es el patrón de repositorio el mismo que el modelo de proveedor Asp.net?
- 3. ¿Cuáles son las similitudes entre el modelo de memoria Java y el modelo de memoria C++ 11?
- 4. Modelo de memoria Java
- 5. es el byte de Java el mismo que el byte de C#?
- 6. ¿El "que llama" en Java es el mismo que el "receptor" en Ruby?
- 7. Implementación del modelo de memoria de Java?
- 8. ¿Es posible usar dos clases de Java con el mismo nombre y el mismo paquete?
- 9. ¿El controlador de supervisión MVC y MVP es el mismo?
- 10. Modelo de memoria Java 7 igual que JSR-133?
- 11. El modelo de seguridad de Java ClassLoader
- 12. ¿Es Silverlight el "mismo" que jQuery?
- 13. múltiples asociaciones con el mismo modelo
- 14. Es Excel VBA el mismo que VB.NET
- 15. belongs_to y has_many con el mismo modelo
- 16. ¿El modelo de seguridad Java EE es compatible con ACL?
- 17. Modelo múltipleAdmins/views para el mismo modelo en Django admin
- 18. En SICP 3.2, El modelo de evaluación del entorno, ¿es un entorno inicialmente el mismo que su primer marco?
- 19. ¿Qué es Dalvik y dalvik-cache?
- 20. Java - apagar el error de memoria
- 21. Android y Dalvik: obtenga el tamaño de un objeto
- 22. Utilice el mismo modelo en dos clases de administrador activo
- 23. ¿Es el núcleo CLR de Silverlight 4 el mismo que el "clásico" .Net 4?
- 24. ¿El sufijo de identificación del paquete es el mismo que el identificador del paquete en info.plist?
- 25. ¿Por qué se dice que el uso de la memoria String de Java es alto?
- 26. ¿Qué es el modelo de proceso Apache?
- 27. Rails no puede encontrar el modelo con el mismo nombre que Ruby class
- 28. Qué es ASP.NET MVC 2 formas de representar el mismo modelo de dos formas diferentes
- 29. ¿Dalvik (Androids JVM) es compatible con el reemplazo de código de caliente?
- 30. genéricos de Java - conseguir un método para devolver el mismo tipo que el primer parámetro
¿Dónde leíste esta información? –
Trabajo en Dalvik. – fadden
Relativamente relacionado: Android + SMP Primer en http://developer.android.com/training/articles/smp.html – fadden