Tout d'abord, ayons une idée claire des termes suivants
Javac
est un compilateur Java -- Compile votre code Java en Bytecode
JVM
est la Machine Virtuelle Java -- Exécute/ Interprète/ traduit le Bytecode en Code machine natif
JIT
est Just In Time Compiler -- Compile la séquence d'instruction bytecode donnée en code machine à temps de fonctionnement avant de l'exécuter en mode natif. Son objectif principal est d'effectuer des optimisations lourdes en termes de performances.
Alors maintenant, trouvons des réponses à vos questions
1) JVM: is it a compiler or an interpreter?
-- Ans : Interprète
2) what about JIT compiler that exist inside the JVM?
-- Ans : Si vous avez lu cette réponse entièrement, vous le savez probablement maintenant.
3) what exactly is the JVM?
-- Ans :
- La JVM est une plate-forme virtuelle qui réside dans votre mémoire vive.
- Son composant, Chargeur de classe charge le
.class
dans la RAM
- El Code de l'octet Vérificateur de la JVM vérifie s'il y a des violations de restrictions d'accès dans votre code. (C'est l'une des principales raisons pour lesquelles Java est sécurisé).
- Ensuite, le Moteur d'exécution Le composant convertit le bytecode en code machine exécutable.
J'espère que cela vous a aidé
18 votes
La JVM est une machine virtuelle. Le bytcode entre, les effets observables du programme se produisent. Tout le reste est un détail d'implémentation.
1 votes
Oui, il n'y a pas "la" JVM, il y a plusieurs implémentations de la spécification.
0 votes
@delnan, s'il vous plaît, écrivez cela comme une réponse. J'ai vraiment envie d'upvoter une telle réponse.
0 votes
@aioobe : Je ne le ferai pas. Je ne pense pas que cela réponde à la question posée ici - c'est une perspective très utile, mais la question (énoncée clairement dans le titre et dans le post) demande explicitement ces détails de mise en œuvre.
0 votes
C'est juste. Je dirais que es une réponse à la "Si ce n'est pas le cas, alors qu'est-ce que la JVM ?" partie cependant. (La machine virtuelle Java étant plus une spécification qu'une implémentation).