Selon Oracle, sa machine virtuelle polyglotte open source GraalVM est une bonne alternative au langage Go de Google (golang). Qualifiée de « VM universelle », GraalVM est capable d’exécuter des applications écrites en JavaScript, Python, Ruby, C, et C++, et des langages JVM dont Java, Kotlin, et Scala. Les développeurs d’Oracle à l'origine du projet affirment que leur machine virtuelle GraalVM est capable, comme Go, de démarrer rapidement et qu’elle a une faible empreinte mémoire. Mais, avec GraalVM, les développeurs peuvent toujours tirer parti de l'écosystème Java. De plus, ces langages peuvent être interopérables dans le runtime partagé, ce qui permet par exemple de passer un objet JavaScript à Python. GraalVM permet également la compilation anticipée ou AOT (ahead-of-time) du code Java.
Actuellement, GraalVM est basé sur Java 8, dont la sortie date d’il y a cinq ans et demi. Mais la version 19.3 de GraalVM, dont la sortie est prévue pour octobre 2019, sera basée sur Java 11, sorti en septembre 2018. Ce passage à Java 11, donc à une version de support à long terme (LTS) de Java, permettra aux utilisateurs de GraalVM de tirer parti du système de modules Java pour les applications (introduit dans Java 9) et des optimisations du ramasse-miettes (introduit dans Java 11). Autre amélioration envisagée pour GraalVM : un back-end ARM64, également basé sur Java 11.
La machine virtuelle GraalVM est utilisée par des entreprises comme Twitter. Elle est disponible auprès d’Oracle en édition communautaire open source et en édition entreprise open source.