Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Java 8 - Nashorn JavaScript

Avec Java 8, Nashorn, un moteur javascript bien amélioré est introduit, pour remplacer le Rhino existant. Nashorn offre des performances 2 à 10 fois meilleures, car il compile directement le code en mémoire et transmet le bytecode à la JVM. Nashorn utilise la fonctionnalité d'invocation dynamique, introduite dans Java 7 pour améliorer les performances.

jjs

Pour le moteur Nashorn, JAVA 8 introduit un nouvel outil de ligne de commande, jjs, pour exécuter des codes javascript sur la console.

Interpréter le fichier js

Créez et enregistrez le fichier sample.js dans c:\> dossier JAVA.

exemple.js

print('Hello World!');

Ouvrez la console et utilisez la commande suivante.

C:\JAVA>jjs sample.js

Il produira la sortie suivante :

Hello World!

jjs en mode interactif

Ouvrez la console et utilisez la commande suivante.

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

Passer les arguments

Ouvrez la console et utilisez la commande suivante.

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

Appeler JavaScript depuis Java

À l'aide de ScriptEngineManager, le code JavaScript peut être appelé et interprété en Java.

Exemple

Créez le programme Java suivant à l'aide de l'éditeur de votre choix dans, par exemple, C:\> JAVA.

Java8Tester.java

Démo en direct
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());
   }
}

Vérifier le résultat

Compilez la classe en utilisant javac compilateur comme suit −

C:\JAVA>javac Java8Tester.java

Exécutez maintenant le Java8Tester comme suit −

C:\JAVA>java Java8Tester

Cela devrait produire le résultat suivant −

Mahesh
12

Appeler Java depuis JavaScript

L'exemple suivant explique comment importer et utiliser des classes Java en java script.

Créez et enregistrez sample.js dans c:\> dossier JAVA.

exemple.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);

Ouvrez la console et utilisez la commande suivante.

C:\JAVA>jjs sample.js

Il devrait produire la sortie suivante −

78952000000000000003.20

Java

  1. Opérateurs Java
  2. Commentaires Java
  3. Java pour chaque boucle
  4. Chaînes Java
  5. InterfaceJava
  6. Classe anonyme Java
  7. Java essayer avec des ressources
  8. Annotations Java
  9. Assertions Java