Java Reference
In-Depth Information
12
Nashorn
n
With Java 8, Oracle has included Nashorn, a new JavaScript implementation that
runs on the JVM. Nashorn is designed to replace the original JavaScript-on-the-
JVM project—which was called Rhino (Nashorn is the German word for “rhino”).
Nashorn is a completely rewritten implementation and strives for easy interopera‐
bility with Java, high performance, and precise conformance to the JavaScript
ECMA specifications. Nashorn was the first implementation of JavaScript to hit a
perfect 100% on spec compliance and is already at least 20 times faster than Rhino
on most workloads.
Introduction to Nashorn
In this chapter, we will assume some basic understanding of JavaScript. If you aren't
already familiar with basic JavaScript concepts, then Head First JavaScript by
Michael Morrison (O'Reilly) is a good place to start.
If you recall the differences between Java and JavaScript outlined in “Java Compared
to JavaScript” on page 12 , you know that we can see that the two languages are very
different. It may, therefore, seem surprising that JavaScript should be able to run on
top of the same virtual machine as Java.
Non-Java Languages on the JVM
In fact, there are a very large number of non-Java languages that run on the JVM—
and some of them are a lot more unlike Java than JavaScript is. This is made possi‐
ble by the fact that the Java language and JVM are only very loosely coupled, and
only really interact via the definition of the class file format. This can be accom‐
plished in two different ways:
• The source language has an interpreter that has been implemented in Java.
 
Search WWH ::




Custom Search