jjzjj

ScriptEngine

全部标签

java - 我应该为每个线程使用单独的 ScriptEngine 和 CompiledScript 实例吗?

我的程序使用JavaScriptingAPI并且可以同时评估一些脚本。它们不使用共享脚本对象、绑定(bind)或上下文,但可以使用相同的ScriptEngine和CompiledScript对象。我看到Java8中的OracleNashorn实现不是多线程的,ScriptEngineFactory.getParameter('THREADING')返回null文档说:Theengineimplementationisnotthreadsafe,andcannotbeusedtoexecutescriptsconcurrentlyonmultiplethreads.这是否意味着我应该为每

javascript - 在 android 中引用 javax.script.ScriptEngine 或评估 javascript 表达式

在开发android应用时是否可以引用javax.script.ScriptEngine库?如果没有,是否有可能在android中评估javascript表达式? 最佳答案 对于javax.script.ScriptEngine、javax.script.ScriptEngineFactory等类,您可以将jsr223.jar添加到您的Android项目中:只需将.jar文件复制到您的libs目录,然后从Properties-添加它>Java构建路径。这些类将允许您的JSR223兼容引擎进行编译。然后您可以执行newSomeScri

ios - Swift 中的 ScriptEngine 或类似 eval() 的函数是什么?

在Java中,我们可以构建要使用ScriptEngine调用的表达式。这对于基于通用命名约定构建框架非常有用。在JavaScript中,当然有eval()。Swift是否有某种机制来评估包含swift表达式的字符串?我知道这可能会被滥用;但是,它会简化我目前的开发。 最佳答案 没有。Swift是一种编译型语言,运行时不包括编译器。iOSSDK不提供评估运行时Swift代码的方法。您可以使用JavaScriptCore执行JavaScript,而JavaScriptCore使得向脚本公开Swift对象和函数变得非常容易。也许这会对您有

java - 通过 Java ScriptEngine 在 JavaScript 中使用 jar

我需要在JavaScript中使用jar文件中的类。我正在通过JavaScriptEngine使用JavaScript,并且想做一些类似于我在这里使用Jython所做的事情,importorg.python.core.Py;importorg.python.core.PySystemState;...PySystemStateengineSys=newPySystemState();engineSys.path.append(Py.newString("C:/GMSEC_API/bin/gmsecapi.jar"));Py.setSystemState(engineSys);Scrip

java - 与 Java 7 相比,Java 8 ScriptEngine 的主要性能问题

我有一个Java程序(使用JDK7u80编译),它广泛使用了“JavaScript”ScriptEngine(JSR-223)。我注意到,与Java7运行时环境(JRE7u80)相比,我的程序在Java8运行时环境(JRE8u65)下执行时运行速度极慢。我整理了以下SSCCE来演示问题,然后在同一台WindowsPC上的Java7和Java8下执行它:importjavax.script.*;publicclassSSCCE{publicSSCCE(){ScriptEngineManagersem=newScriptEngineManager();ScriptEnginejs=sem.

javascript - 使用 Rhino 代替 ScriptEngine 在 Java 中运行 Javascript 代码

基于讨论convertingstringrepresentationofunknowndate-formattoDateinjava,我想在我的App-Engine项目中使用JavaScriptDate函数。但是,ScriptEngine不适用于App-Engine。所以我需要一些帮助来转换为Rhino。这是我需要转换的ScriptEngine代码:ScriptEngineManagerscriptEngineManager=newScriptEngineManager();ScriptEngineengine=scriptEngineManager.getEngineByName("

java - Java 中有 eval() 函数吗?

我有如下字符串:Stringstr="4*5";现在我必须使用字符串来获取20的结果。我知道在其他一些语言中,eval()函数可以做到这一点。我如何在Java中做到这一点? 最佳答案 您可以使用ScriptEngine类并将其评估为Javascript字符串。ScriptEngineManagermanager=newScriptEngineManager();ScriptEngineengine=manager.getEngineByName("js");Objectresult=engine.eval("4*5");可能有更好的

java - Java 中有 eval() 函数吗?

我有如下字符串:Stringstr="4*5";现在我必须使用字符串来获取20的结果。我知道在其他一些语言中,eval()函数可以做到这一点。我如何在Java中做到这一点? 最佳答案 您可以使用ScriptEngine类并将其评估为Javascript字符串。ScriptEngineManagermanager=newScriptEngineManager();ScriptEngineengine=manager.getEngineByName("js");Objectresult=engine.eval("4*5");可能有更好的