Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Mesin JavaScript Nashorn Java 8: Peningkatan Performa dan Alat jjs Baru

Dengan Java 8, Nashorn, mesin JavaScript yang ditingkatkan secara signifikan, diperkenalkan untuk menggantikan Rhino yang ada. Nashorn memberikan performa 2 hingga 10 kali lebih baik karena mengompilasi kode langsung di memori dan meneruskan bytecode ke JVM. Nashorn menggunakan fitur invoke dynamics, yang diperkenalkan pada Java 7 untuk meningkatkan performa.

jjs

Untuk mesin Nashorn, JAVA 8 memperkenalkan alat baris perintah baru, jjs, untuk mengeksekusi kode JavaScript di konsol.

Menginterpretasikan File JS

Buat dan simpan file sample.js di folder c:\> JAVA.

sample.js

print('Hello World!');

Buka konsol dan gunakan perintah berikut.

C:\JAVA>jjs sample.js

Hasil yang dihasilkan adalah sebagai berikut:

Hello World!

jjs dalam Mode Interaktif

Buka konsol dan gunakan perintah berikut.

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

Meneruskan Argumen

Buka konsol dan gunakan perintah berikut.

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

Memanggil JavaScript dari Java

Menggunakan ScriptEngineManager, kode JavaScript dapat dipanggil dan ditafsirkan dalam Java.

Contoh

Buat program Java berikut menggunakan editor pilihan Anda, misalnya di 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());
    }
}

Verifikasi Hasil

Kompilasi kelas menggunakan kompiler javac sebagai berikut:

C:\JAVA>javac Java8Tester.java

Sekarang jalankan Java8Tester sebagai berikut:

C:\JAVA>java Java8Tester

Hasil yang diharapkan adalah sebagai berikut:

Mahesh 12

Memanggil Java dari JavaScript

Contoh berikut menjelaskan cara mengimpor dan menggunakan kelas Java dalam JavaScript.

Buat dan simpan sample.js di folder c:\> JAVA.

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

Buka konsol dan gunakan perintah berikut.

C:\JAVA>jjs sample.js

Hasil yang diharapkan adalah sebagai berikut:

78952000000000000003.20

java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Komentar Java: Tipe, Penggunaan, dan Best Practices
  3. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  4. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  5. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  6. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  7. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  8. Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis
  9. Pernyataan Java: Panduan Praktis untuk Mendeteksi Bug dan Memastikan Keandalan Kode
  10. Memahami Java Vector: Penggunaan, Fitur, dan Perbandingan dengan ArrayList