Journée Java Tokyo 2017
Calendrier des sessions
Session de participation
Prenez de l'avance sur le Panama! ?? Jouez avec JIT à JVMCI
Principal
What’s JVMCI?
JEP 243: Java-Level JVM Compiler Interface
Summary
Develop a Java based JVM compiler interface (JVMCI) enabling a compiler written in Java to be used by the JVM as a dynamic compiler
Résumé: exécutez un compilateur Java sur une machine virtuelle Java.
→ Ecrire un compilateur (langage machine) en Java.
** C'est incroyable **
Point maléfique
- Write once, run anywhere
- Veuillez écrire l'octet [] en regardant le jeu d'instructions pour chaque CPU.
- Java API
- Il n'y a rien de tel au niveau du langage machine (il peut être appelé)
--Optimisé par JIT
- Vous l'écrivez
Changeons notre perspective
- Write once, run anywhere
- Puisqu'il s'agit d'un ensemble de JDK, ce n'est pas une application mais un côté plateforme
- Java API
--Utiliser avec le compilateur, pas le côté langage machine
--Optimisé par JIT
- ** Vous l'écrivez **
Point intéressant
--Il existe une API qui peut obtenir le statut JIT
--Il existe également une API qui peut contrôler l'état de JIT
--Il existe même une API qui peut obtenir des informations de profil JIT
- Vous pouvez passer des appels système sans utiliser JNI
- Vous pouvez introduire une autre structure d'optimisation liée à JIT lors de la création d'un langage basé sur JVM.
- Vous pouvez faire un excellent travail de traitement des données selon les spécifications JVM avec un assembleur.
Impressions
--JDK est requis et devrait rarement être utilisé dans la couche d'application normale
――Il y a suffisamment d'utilisation à des fins de recherche et de vérification
- Il semble y avoir de nombreuses utilisations dans le système de langage JVM