Nashorn — это движок JavaScript, реализованный на Java, который входит в состав JRE с версии 8 по 14. Он позволяет выполнять JavaScript код непосредственно в JVM. Главное его преимущество в том, что он предоставляет высокоэффективное взаимодействие между JavaScript и Java кодом, позволяя вызывать Java классы и методы из JavaScript, и наоборот.
Nashorn заменил устаревший Rhino движок. Несмотря на то, что Nashorn удален из Java SE 15, понимание его принципов может быть полезно при работе с более старыми или унаследованными системами.
Основные возможности Nashorn:
Пример использования Nashorn из Java:
java
Пример использования Java объектов из JavaScript:
javascript
Основные компоненты, задействованные в работе Nashorn:
ScriptEngineManager и ScriptEngine: Стандартные API Java для работы со скриптовыми движками.Производительность Nashorn достигается за счет:
Несмотря на его возможности, стоит помнить о том, что Nashorn был удален из Java SE, и для новых проектов рекомендуется использовать альтернативные решения, такие как GraalVM с его Polyglot API, который предоставляет более широкие возможности для выполнения различных языков, включая JavaScript (движок Graal.js).