Med planer om å avskaffe Nashorn JavaScript-motoren i det kommende Java Development Kit (JDK) 11, oppfordrer Oracle utviklere til å ta en titt på GraalVM virtuell maskin i stedet. Oracle sier at det er mer i stand enn Nashorn, og det har lagt ut en migrasjonssti fra Nashorn til GraalVM. Oracle planlegger å støtte Nashorn i noen år for å gi tid til å migrere.
I likhet med Nashorn støtter GraalVM JavaScript på JVM. Men GraalVM er uavhengig av Java selv.
Oracle siterte flere fordeler GraalVM har fremfor Nashorn:
- En mer fullstendig implementering av JavaScript-standarder, med støtte for ECMAScript 2016 og ECMAScript 2017-utgavene og litt støtte for ECMAScript 2018.
- Full støtte for Node.js-server-side JavaScript-plattformen, som er kompatibel med nesten alle Node.js-moduler.
- Evnen til å utføre flere språk, inkludert Python, R og Ruby.
- Bedre ytelse enn eksisterende JVM-baserte motorer og evne til å bruke GraalVM-kompilatorens avanserte optimaliseringer.
For å hjelpe utviklere med å migrere fra Nashorn til GraalVM, har Oracle Labs lagt til et kompatibilitetsflagg (—Nashorn-kompatibel
) som fjerner behovet for kjedelige omskrivinger for å flytte en Nashorn-applikasjon til GraalVM.
En vanlig polyglot API i GraalVM gir interoperabilitet med støttede språk. Verdier kan overføres fra ett språk til et annet. Ingen kopiering eller samordning er nødvendig.
GraalVM kan kjøres enten i sammenheng med den JDK 8-baserte GraalVM-installasjonen eller standard JDK-installasjonen som starter med JDK 11, som ankommer i september. Selv om GraalVM ikke blir inkludert i JDK, kan den kjøre på en standard JDK 11-installasjon ved å legge den til modulbanen. GraalVM kan også være innebygd som en del av plattformer som OpenJDK eller Node.js, så vel som i en database.
Hvor laster du ned GraalVM
Du kan laste ned GraalVM fra GraalVM-websiden, som lenker til GitHub for den gratis Community Edition-versjonen og til Oracle Technology Network for den betalte Enterprise Edition-versjonen.