مشخصات مقاله
-
618
-
0.0
-
1613
-
0
-
0
جاوااسکریپت Nashorn در Java 8
Java اسکریپت Nashorn در Java 8
در Java 8، ناشورن که یک موتور Java اسکریپت پیشرفته است، می تواند جای Rhino فعلی را بگیرد. ناشورن 2 تا 10 برابر عملکرد را افزایش می دهد، چرا که به صورت مستقیم کد موجود در حافظه را کامپایل می کند و بایت کد را به JVM عبور می دهد. ناشورن از امکان دینامیک احضار بهره می برد، همان امکانی که در Java 7 جهت بهبود عملکرد معرفی شده است.
jjs در Java 8
Java 8 ابزار خط فرمان جدید jjs را برای موتور ناشورن ارائه کرده است که به کمک آن می توان کدهای جاوا اسکریپت را در کنسول اجرا کرد.
تفسیر فایل js در Java 8
فایل sample.js را در پوشه ی c:\> JAVA ایجاد و ذخیره کنید.
sample.js
print('Hello World!');
کنسول را باز کنید و از دستور زیر استفاده کنید.
C:\JAVA>jjs sample.js
نتیجه به صورت زیر نمایش داده می شود.
Hello World!
Jjs در حالت تعاملی
کنسول را باز کنید و از دستور زیر استفاده کنید.
C:\JAVA>jjs
jjs> print("Hello, World!")
Hello, World!
jjs> quit()
>>
عبور دادن آرگومان ها در Java 8
کنسول را باز کنید و از دستور زیر استفاده کنید.
C:\JAVA> jjs -- a b c
jjs> print('letters: ' +arguments.join(", "))
letters: a, b, c
jjs>
فراخوانی جاوا اسکریپت از Java 8
با استفاده از ScriptEngineManager می توان جاوا اسکریپت را در Java فراخوانی و تفسیر کرد.
مثال
با استفاده از یکی از ویرایشگرهای مورد نظر خود برنامه ی Javaی زیر را مثلا در C:\> JAVA ایجاد کنید.
Java8Tester.java
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());
}
}
نتیجه را بررسی کنید
با استفاده از کامپایلر javac مانند زیر این کلاس را کامپایل کنید.
C:\JAVA>javac Java8Tester.java
حالا مانند زیر Java8Tester را اجرا کنید.
C:\JAVA>java Java8Tester
نتیجه باید به صورت زیر نمایش داده شود.
Mahesh 12
فراخوانی Java 8 از جاوا اسکریپت
در مثال زیر چگونگی وارد کردن و استفاده از کلاس های Java در جاوا اسکریپت نشان داده شده است.
sample.js را در پوشه ی 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);
کنسول را باز کنید و از دستور زیر استفاده کنید.
C:\JAVA>jjs sample.js
نتیجه باید به صورت زیر نمایش داده شود.
78952000000000000003.20
برای مطالعه سرفصل آموزش جاوا (J2SE) کلیک نمایید .