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

Moteur JavaScript Nashorn de Java 8 : Performances et outil jjs

Java 8 introduit Nashorn, un moteur JavaScript largement amélioré remplaçant Rhino. Nashorn offre des performances 2 à 10 fois supérieures grâce à la compilation directe en bytecode en mémoire, transmis à la JVM. Il exploite la fonctionnalité invoke dynamics introduite en Java 7.

L'outil en ligne de commande jjs

Java 8 fournit jjs, un nouvel outil en ligne de commande pour exécuter du code JavaScript dans la console.

Interprétation d'un fichier .js

Créez et enregistrez sample.js dans C:\JAVA :

sample.js

print('Hello World!');

Dans la console :

C:\JAVA>jjs sample.js

Sortie :

Hello World!

Mode interactif jjs

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

Passage d'arguments

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

Appel de JavaScript depuis Java

Via ScriptEngineManager, le code JavaScript peut être évalué depuis Java.

Exemple

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("Erreur d'exécution du script : " + e.getMessage());
        }
        System.out.println(result.toString());
    }
}

Vérification

C:\JAVA>javac Java8Tester.java
C:\JAVA>java Java8Tester

Sortie :

Mahesh
12

Appel de Java depuis JavaScript

Importer et utiliser des classes Java dans du code JavaScript :

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

Exécution :

C:\JAVA>jjs sample.js

Sortie :

78952000000000000003.20

Java

  1. Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
  2. Commentaires Java : Types, utilisation et bonnes pratiques
  3. Maîtriser la boucle for améliorée en Java : Syntaxe, exemples et bonnes pratiques
  4. Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
  5. Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
  6. Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
  7. Maîtriser le try-with-resources Java : gestion automatique des ressources expliquée
  8. Annotations Java expliquées : types, placement et exemples pratiques
  9. Assertions Java : guide pratique pour détecter les bugs et assurer la fiabilité du code