Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java 8 - Nashorn-JavaScript

Mit Java 8, Nashorn, wird eine stark verbesserte Javascript-Engine eingeführt, um das bestehende Rhino zu ersetzen. Nashorn bietet eine 2- bis 10-mal bessere Leistung, da es den Code direkt im Speicher kompiliert und den Bytecode an JVM übergibt. Nashorn verwendet die in Java 7 eingeführte Invoke Dynamics-Funktion, um die Leistung zu verbessern.

jjs

Für die Nashorn-Engine führt JAVA 8 ein neues Befehlszeilentool ein, jjs, um Javascript-Codes auf der Konsole auszuführen.

JS-Datei interpretieren

Erstellen und speichern Sie die Datei sample.js im c:\> JAVA-Ordner.

sample.js

print('Hello World!');

Öffnen Sie die Konsole und verwenden Sie den folgenden Befehl.

C:\JAVA>jjs sample.js

Es wird die folgende Ausgabe erzeugt:

Hello World!

jjs im interaktiven Modus

Öffnen Sie die Konsole und verwenden Sie den folgenden Befehl.

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

Argumente übergeben

Öffnen Sie die Konsole und verwenden Sie den folgenden Befehl.

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

Aufruf von JavaScript aus Java

Mit dem ScriptEngineManager kann JavaScript-Code in Java aufgerufen und interpretiert werden.

Beispiel

Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl in beispielsweise C:\> JAVA.

Java8Tester.java

Live-Demo
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());
   }
}

Überprüfen Sie das Ergebnis

Kompilieren Sie die Klasse mit javac Compiler wie folgt −

C:\JAVA>javac Java8Tester.java

Führen Sie nun den Java8Tester wie folgt aus −

C:\JAVA>java Java8Tester

Es sollte das folgende Ergebnis erzeugen −

Mahesh
12

Aufruf von Java aus JavaScript

Das folgende Beispiel erläutert, wie Java-Klassen in Java-Script importiert und verwendet werden.

Erstellen und speichern Sie sample.js im c:\> JAVA-Ordner.

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

Öffnen Sie die Konsole und verwenden Sie den folgenden Befehl.

C:\JAVA>jjs sample.js

Es sollte die folgende Ausgabe erzeugen −

78952000000000000003.20

Java

  1. Java-Operatoren
  2. Java-Kommentare
  3. Java for-each-Schleife
  4. Java-Strings
  5. Java-Schnittstelle
  6. Anonyme Java-Klasse
  7. Java-Versuch-mit-Ressourcen
  8. Java-Anmerkungen
  9. Java-Assertionen
  10. Java-Vektor