Suche
Nashorn ist die neue JVM-basierte JavaScript-Implementierung im JDK 8

Der Weg zur polyglotten VM

Marcus Lagergren, Wolfgang Weigend
31_weigend_istock_gazza30_filo
©iStock/gazza30, ©iStock/filo

Seit Mitte Dezember 2012 ist das Projekt Nashorn im OpenJDK angekommen, mit dem Ziel eine zu hundert Prozent in Java geschriebene, schlanke und performanceoptimierte JavaScript-Engine direkt auf der JVM zu implementieren. Den Entwicklern soll Nashorn ermöglichen, unter Berücksichtigung von JSR 223 (Scripting for the Java Platform), JavaScript in Java-Anwendungen einzubinden und eigene JavaScript-Anwendungen zu erstellen, die bisher jrunscript verwendet haben und künftig das neue Command-line-Werkzeug jjs (JavaScript in Java) im JDK 8 benutzen können.

Das Nashorn-Projektdesign nutzt den Vorteil einer komplett neuen Codebasis und fokussiert sich auf moderne Technologien für native JVMs mittels Method Handles und invokedynamic-APIs, wie im JSR 292 (Supporting Dynamically Typed Languages on the Java Platform) beschrieben.

Geschrieben von
Marcus Lagergren
Marcus Lagergren
Marcus Lagergren hat einen MSc in Computer Science vom Royal Institute of Technology in Stockholm. Er ist ein Gründungsmitglied von Appeal Virtual Machines, der Firma hinter der JRockit JVM. Lagergren war Team Lead und Architekt der JRockit Code Generators und über die Jahre in fast alle Aspekte der JVM involviert. Anschließend wechselte er zu Oracle für die Arbeit an Virtualisierungstechnologien, und seit 2011 ist er Mitglied des Java-Language-Teams bei Oracle und eruiert dynamische Sprachen auf der JVM.
Wolfgang Weigend
Wolfgang Weigend
Wolfgang Weigend arbeitet als Sen. Leitender Systemberater bei der Oracle Deutschland B.V. & Co. KG. Er beschäftigt sich mit Java-Technologie und -Architektur für unternehmensweite Anwendungsentwicklung.
Kommentare

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>