String name = "Runoob";
Integer result = null;
try {
nashorn.eval("print('" + name + "')");
result = (Integer) nashorn.eval("10 + 2");
}catch(ScriptException e){
System.out.println("執行腳本錯誤: "+ e.getMessage());
}
System.out.println(result.toString());
}
}
執行以上腳本,輸出結果為
$ javac Java8Tester.java
$ java Java8Tester
Runoob
12
---------------------------
JavaScript 中調用 Java
以下實例演示瞭如何在 JavaScript 中引用 Java 類:
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);
類依賴分析器:jdeps
jdeps是一個相當棒的命令行工具,它可以展示包層級和類層級的Java類依賴關係,它以.class文件、目錄或者Jar文件為輸入,然後會把依賴關係輸出到控制檯。
我們可以利用jedps分析下Spring Framework庫,為了讓結果少一點,僅僅分析一個JAR文件:org.springframework.core-3.0.5.RELEASE.jar。
jdeps org.springframework.core-3.0.5.RELEASE.jar
這個命令會輸出很多結果,我們僅看下其中的一部分:依賴關係按照包分組,如果在classpath上找不到依賴,則顯示"not found".
1. org.springframework.core-3.0.5.RELEASE.jar -> C:\Program Files\Java\jdk1.8.0\jre\lib\rt.jar
2. org.springframework.core (org.springframework.core-3.0.5.RELEASE.jar)
3. -> java.io
4. -> java.lang
5. -> java.lang.annotation
6. -> java.lang.ref
7. -> java.lang.reflect
8. -> java.util
9. -> java.util.concurrent
10. -> org.apache.commons.logging not found
11. -> org.springframework.asm not found
12. -> org.springframework.asm.commons not found
13. org.springframework.core.annotation (org.springframework.core-3.0.5.RELEASE.jar)
14. -> java.lang
15. -> java.lang.annotation
16. -> java.lang.reflect
閱讀更多 IT碼將 的文章
關鍵字: 分析器 JavaScript ECMAScript