Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Java 8 - JavaScript Nashorn


Com o Java 8, Nashorn, um mecanismo javascript muito aprimorado é introduzido, para substituir o Rhino existente. O Nashorn oferece desempenho de 2 a 10 vezes melhor, pois compila diretamente o código na memória e passa o bytecode para a JVM. O Nashorn usa o recurso de dinâmica de invocação, introduzido no Java 7 para melhorar o desempenho.

jjs


Para o mecanismo Nashorn, o JAVA 8 apresenta uma nova ferramenta de linha de comando, jjs, para executar códigos javascript no console.

Interpretando arquivo js


Crie e salve o arquivo sample.js na pasta c:\> JAVA.

amostra.js

print('Hello World!');

Abra o console e use o comando a seguir.
C:\JAVA>jjs sample.js

Ele produzirá a seguinte saída:
Hello World!

jjs no modo interativo


Abra o console e use o comando a seguir.
C:\JAVA>jjs
jjs> print("Hello, World!")
Hello, World!
jjs> quit()
>>

Aprovar argumentos


Abra o console e use o comando a seguir.
C:\JAVA> jjs -- a b c
jjs> print('letters: ' +arguments.join(", "))
letters: a, b, c
jjs>

Chamando JavaScript de Java


Usando ScriptEngineManager, o código JavaScript pode ser chamado e interpretado em Java.

Exemplo


Crie o seguinte programa Java usando qualquer editor de sua escolha em, digamos, C:\> JAVA.

Java8Tester.java

Demonstração ao 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());
   }
}

Verifique o resultado


Compile a classe usando javac compilador da seguinte forma -
C:\JAVA>javac Java8Tester.java

Agora execute o Java8Tester da seguinte forma -
C:\JAVA>java Java8Tester

Deve produzir o seguinte resultado -
Mahesh
12

Chamando Java de JavaScript


O exemplo a seguir explica como importar e usar classes Java em java script.

Crie e salve sample.js na pasta c:\> JAVA.

amostra.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 o console e use o comando a seguir.
C:\JAVA>jjs sample.js

Deve produzir a seguinte saída -
78952000000000000003.20

Java

  1. Operadores Java
  2. Comentários Java
  3. Java para cada loop
  4. Strings Java
  5. Interface Java
  6. Classe anônima Java
  7. Java try-with-resources
  8. Anotações Java
  9. Asserções Java
  10. Vetor Java