Nashorn (JavaScript -Engine)
![]() | |
Originalautor (en) | Norris Boyd |
---|---|
Entwickler (en) | 1997: Mozilla Foundation, 1998: Mozilla Corporation, jetzt von Freiwilligen entwickelt. |
Stabile Version | 1.7.14 / 6. Januar 2022 |
Repository | Github |
Geschrieben in | Programmiert in Java, Läuft JavaScript Code |
Betriebssystem | Plattformübergreifend |
Plattform | Java virtuelle Maschine |
Typ | JavaScript -Engine |
Lizenz | MPL 2.0 |
Webseite | Mozilla |
Nashorn ist ein JavaScript -Engine vollständig geschrieben in Java und von der verwaltet Mozilla Foundation wie Quelloffene Software. Es ist getrennt von der Spinnenaffe Motor, der auch von Mozilla entwickelt, aber geschrieben wurde C ++ und verwendet in Mozilla Firefox.
Geschichte
Das Rhino -Projekt wurde bei gestartet Netscape 1997. Zu dieser Zeit plante Netscape, eine Version von zu produzieren Netscape Navigator Voll in Java geschrieben und brauchte daher eine Implementierung von JavaScript in Java. Wenn Netscape aufgehört hat, daran zu arbeiten JavagatorWie es heißt, wurde das Rhino -Projekt als JavaScript -Engine abgeschlossen. Seitdem einige große Unternehmen (einschließlich Sun Microsystems.
Ursprünglich hat Rhino den gesamten JavaScript -Code zusammengestellt Java -Bytecode in erzeugt Java -Klassendateien. Dies brachte die beste Leistung hervor und schlug oft die C ++ Implementierung von JavaScript ausführen mit Just-in-Time-Zusammenstellung (JIT), litt aber unter zwei Fehlern. Erstens war die Kompilierzeit längst, seit er das Bytecode generierte und die generierten Klassen laden, ein ressourcenintensiver Prozess. Auch die Implementierung effektiv durchgesickerter Speicher da die meisten Java virtuelle Maschinen (JVM) tat es nicht sammeln unbenutzte Klassen oder die Saiten das sind interniert als Ergebnis des Ladens einer Klassendatei. (Dies hat sich in späteren Versionen von Java geändert.)
Infolgedessen fügte Rhino im Herbst 1998 einen Interpretationsmodus hinzu. Der Code für die Erzeugung der Klassendatei wurde in einen optionalen, verschoben, dynamisch geladen Paket. Das Kompilieren ist schneller und wenn Skripte nicht mehr verwendet werden, können sie wie jedes andere Java -Objekt gesammelt werden.
Rhino wurde zu freigelassen Mozilla Foundation im April 1998. Die ursprünglich die Generation der Rhino Class -Datei war von der Veröffentlichung zurückgehalten worden. Die Lizenzgeber von Rhino haben sich nun bereit erklärt, das gesamte Rhino als Veröffentlichung zu veröffentlichen Open Source, einschließlich Klassendateigenerierung. Seit seiner Veröffentlichung für Open Source hat Rhino eine Vielzahl von Verwendungszwecken gefunden und eine zunehmende Anzahl von Menschen hat zum Code beigetragen.[1] Das Projekt hat seinen Namen vom Tier auf dem Cover des JavaScript -Buches aus O'Reilly Media.[2] Ab Version 1.7R11 (Mai 2019) unterstützt Rhino unterstützt Java 8 und auf und unterstützt eine Reihe von ECMaskript ES6/ES2015 -Funktionen.[3]
Verwenden
Rhino konvertiert JavaScript -Skripte in Klassen. Rhino arbeitet in beiden zusammengestellt und interpretiert Modus. Es soll im Desktop oder im Desktop verwendet werden Server-Seite Anwendungen, daher gibt es keine integrierte Unterstützung für die Webbrowser Objekte, die üblicherweise mit JavaScript assoziiert sind.
Nashorn kann als verwendet werden Debugger Durch die Verwendung des Nashorns Hülse. Die JavaScript -Shell bietet eine einfache Möglichkeit, Skripte im Stapelmodus oder in einer interaktiven Umgebung für die explorative Programmierung auszuführen. Es kann in Anwendungen durch Einbetten von Nashorn verwendet werden.
Eine leicht modifizierte Version von Rhino 1.6R2 kommt gebündelt mit dem Sun Microsystems Veröffentlichung von Java se Version 6, die im Dezember 2006 veröffentlicht wurde. Dies erleichtert es, JavaScript als Teil der Java -Programme zu integrieren und auf Java -Ressourcen aus JavaScript zuzugreifen. Andere Implementierungen von Java 6 können unterschiedlich sein.
Siehe auch
- JavaScript -Engine
- Liste der ECMascript -Motoren
- Nashorn (JavaScript -Engine) - Der inzwischen vorbereitete Nachfolger von Rhino für die JVM, beginnend bei Java 8
Verweise
- ^ "Rhino -Geschichte". Mozilla Foundation. Archiviert von das Original am 22. Oktober 2020. Abgerufen 2008-03-20.
- ^ O'Reillys JavaScript -Buch, Inspiration für den Rhino -Namen
- ^ "Rhino ES2015 Support". Mozilla Foundation. Abgerufen 2019-08-13.