Diff茅rence entre JVM et DVM

JVM est la machine virtuelle qui ex茅cute du code Java sur diff茅rentes plates-formes. Il agit comme une couche abstraite entre le programme et la plate-forme sur laquelle le code Java s’ex茅cute. La portabilit茅 du code Java n’est possible que gr芒ce 脿 la JVM. Le compilateur javac convertit le fichier de code source (fichier .java) en un format de bytecode java interm茅diaire ind茅pendant de la machine/plate-forme. Ce fichier interm茅diaire est ensuite fourni 脿 la machine/plate-forme cible o霉 il est traduit en code machine. JVM prend en charge plusieurs architectures d’h么tes et c’est la raison pour laquelle les applications Java sont appel茅es WORA (Write Once Run Anywhere) .

JVM(Java Virtual Machine)

DVM (machine virtuelle Dalvik)

DVM est une machine virtuelle pour ex茅cuter des applications Android . Le bytecode Java (fichier .class) g茅n茅r茅 par le compilateur javac est converti en bytecode Dalvik pour rendre les fichiers source de l’application ex茅cutables sur le DVM. 脡tant donn茅 que les appareils Android ont une capacit茅 de traitement, une m茅moire et une autonomie de batterie d茅finies, le principe de conception DVM vise 脿 s’optimiser afin qu’il puisse se charger rapidement et fonctionner sans probl猫me, m锚me sur des appareils 脿 faible m茅moire/aliment茅s. Cette machine virtuelle est tr猫s efficace pour ex茅cuter plusieurs instances sur le m锚me appareil.

DVM(Dalvik Virtual Machine)

Array des diff茅rences

JVM (machine virtuelle Java)

DVM (machine virtuelle Dalvik)

Machine virtuelle bas茅e sur la pile qui effectue des op茅rations arithm茅tiques et logiques via des op茅randes push et pop. Le r茅sultat des op茅rations est stock茅 dans la m茅moire de la pile. VM bas茅e sur des registres qui utilise des registres situ茅s dans le processeur pour effectuer des op茅rations arithm茅tiques et logiques.
Le code source Java est compil茅 au format Java bytecode (fichier .class) qui se traduit ensuite en code machine. Les fichiers de code source sont tout d’abord compil茅s au format Java bytecode comme JVM. De plus, le compilateur DEX (outil dx) convertit le bytecode Java en bytecode Dalvik (classes.dex) qui sera utilis茅 pour cr茅er le fichier .apk .
Plus d’informations sont n茅cessaires 脿 la machine virtuelle pour le chargement et la manipulation des donn茅es ainsi que le chargement de la m茅thode dans la structure de donn茅es de la pile. La taille de l’instruction est plus grande car elle doit encoder les registres source et destination de la VM.
La taille du bytecode compil茅 est compacte car l’emplacement de l’op茅rande est implicitement sur la pile des op茅randes. La taille du bytecode compil茅 est plus grande car chaque instruction a besoin de tous les op茅randes implicites.
Le fichier ex茅cutable de l’appareil est le fichier .jar . Le fichier ex茅cutable de l’appareil est le fichier .apk .
Une seule instance de JVM est configur茅e avec des processus partag茅s et de l’espace m茅moire afin d’ex茅cuter toutes les applications d茅ploy茅es. L’appareil ex茅cute plusieurs instances DVM avec un processus s茅par茅 dans un espace m茅moire partag茅 pour d茅ployer le code de chaque application.聽
Prend en charge plusieurs syst猫mes d’exploitation tels que Linux, Windows et Mac OS. Ne prend en charge que le syst猫me d’exploitation Android.

Remarque : Google a introduit une nouvelle machine virtuelle pour les applications Android en 2014, connue sous le nom d’ Android Runtime (ART) . Il est con莽u dans le but d’am茅liorer les performances des applications et de r茅duire l’utilisation de la batterie de l’appareil. La derni猫re version prise en charge pour le DVM 茅tait Android 4.4 (Kitkat).

Post automatically translated

Article written by RISHU_MISHRA and translated by Acervo Lima. The original can be accessed here. Licence: CCBY-SA

Categories Android Difference Between Java Technical Scripter Technical Scripter 2020

Laisser un commentaire Annuler la r茅ponse

Votre adresse e-mail ne sera pas publi茅e. Les champs obligatoires sont indiqu茅s avec *

sept + dix =