Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Java 8 - Javascript de Nashorn

Con Java 8, Nashorn, se presenta un motor javascript muy mejorado para reemplazar el Rhino existente. Nashorn proporciona un rendimiento de 2 a 10 veces mejor, ya que compila directamente el código en la memoria y pasa el código de bytes a JVM. Nashorn utiliza la característica de dinámica de invocación, introducida en Java 7 para mejorar el rendimiento.

jjs

Para el motor Nashorn, JAVA 8 presenta una nueva herramienta de línea de comandos, jjs, para ejecutar códigos javascript en la consola.

Interpretación del archivo js

Cree y guarde el archivo sample.js en c:\> Carpeta JAVA.

ejemplo.js

print('Hello World!');

Abra la consola y use el siguiente comando.

C:\JAVA>jjs sample.js

Producirá el siguiente resultado:

Hello World!

jjs en modo interactivo

Abra la consola y use el siguiente comando.

C:\JAVA>jjs
jjs> print("Hello, World!")
Hello, World!
jjs> quit()
>>

Aprobar argumentos

Abra la consola y use el siguiente comando.

C:\JAVA> jjs -- a b c
jjs> print('letters: ' +arguments.join(", "))
letters: a, b, c
jjs>

Llamar JavaScript desde Java

Usando ScriptEngineManager, el código JavaScript se puede llamar e interpretar en Java.

Ejemplo

Cree el siguiente programa Java utilizando cualquier editor de su elección en, por ejemplo, C:\> JAVA.

Java8Tester.java

Demostración en vivo
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;

public class Java8Tester {

   public static void main(String args[]) {
      ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
      ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn");
		
      String name = "Mahesh";
      Integer result = null;
      
      try {
         nashorn.eval("print('" + name + "')");
         result = (Integer) nashorn.eval("10 + 2");
         
      } catch(ScriptException e) {
         System.out.println("Error executing script: "+ e.getMessage());
      }
      System.out.println(result.toString());
   }
}

Verificar el resultado

Compile la clase usando javac compilador de la siguiente manera −

C:\JAVA>javac Java8Tester.java

Ahora ejecute Java8Tester de la siguiente manera −

C:\JAVA>java Java8Tester

Debería producir el siguiente resultado −

Mahesh
12

Llamar a Java desde JavaScript

El siguiente ejemplo explica cómo importar y usar clases de Java en java script.

Cree y guarde sample.js en c:\> Carpeta JAVA.

muestra.js

var BigDecimal = Java.type('java.math.BigDecimal');

function calculate(amount, percentage) {

   var result = new BigDecimal(amount).multiply(new BigDecimal(percentage)).divide(
      new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_EVEN);
   
   return result.toPlainString();
}
var result = calculate(568000000000000000023,13.9);
print(result);

Abra la consola y use el siguiente comando.

C:\JAVA>jjs sample.js

Debería producir el siguiente resultado −

78952000000000000003.20

Java

  1. Operadores Java
  2. Comentarios Java
  3. Java para cada bucle
  4. Cadenas Java
  5. Interfaz Java
  6. Clase anónima de Java
  7. Prueba de Java con recursos
  8. Anotaciones Java
  9. Aserciones de Java
  10. Java Vector
  11. Java 8 - Javascript de Nashorn