通过 javax.script 的接口 ScriptEngineFactory
getParameter
Object getParameter(String key)返回属性值,该属性的含义可能是特定于实现的。其值在所有实现中定义的键有:
ScriptEngine.ENGINE
ScriptEngine.ENGINE_VERSION
ScriptEngine.NAME
ScriptEngine.LANGUAGE
ScriptEngine.LANGUAGE_VERSION
用于这些键的值分别是 getEngineName、getEngineVersion、getName、getLanguageName 和 getLanguageVersion 返回的 String。
还定义了保留键 THREADING,它的值描述了与脚本并发执行和状态维护有关的引擎行为。用于 THREADING 键的值有:
null - 引擎实现不是线程安全的,并且无法用来在多个线程上并发执行脚本。
"MULTITHREADED" - 引擎实现是内部线程安全的,并且脚本可以并发执行,尽管在某个线程上执行脚本的效果对于另一个线程上的脚本是可见的。
"THREAD-ISOLATED" - 该实现满足 "MULTITHREADED" 的要求,并且引擎为不同线程上执行的脚本中的符号维护独立的值。
"STATELESS" - 该实现满足 "THREAD-ISOLATED" 的要求。此外,脚本执行不改变 Bindings 中的映射关系,该 Bindings 是 ScriptEngine 的引擎范围。具体来说,Bindings 及其关联值中的键在执行脚本之前和之后是相同的。
实现可以定义特定于实现的键。
参数:
key - 参数名
返回:
给定参数的值。如果没有为键分配值,则返回 null。
来源JDK文档
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("js");
ScriptEngineFactory sef=engine.getFactory();
System.out.println( sef.getParameter(ScriptEngine.LANGUAGE));
System.out.println( sef.getParameter("THREADING"));
System.out.println(engine.eval("((1+1)*9+9.6)*(8+9-8)"));
运行结果:
ECMA Script
MULTITHREADED
248.4
我的实践 证明 js 的线程 内部安全的!可以设立单例模式,提高代码性能了!
分享到:
相关推荐
Java使用ScriptEngine说明
windows 不能执行脚本时,运行一下这个文件就可以了。(FOR WINDOWS XP 中文版)
ScriptEngine that running java code; Real JavaScript.zip
离线安装包,亲测可用
多线程抓网页链接,含数据库重复记录处理,采用XML文件对链接进行检测
基于Dagger+Java ScriptEngine+Java Selenium的自动化测试框架
启用任何.NET语言的运行时代码
pdi-scriptengine-plugin 类似于 Script 步骤的 PDI 插件,但更容易支持更多 JSR-223 脚本引擎和其他改进,例如: 用于选择脚本引擎的下拉 UI 支持传递给脚本的参数(而不是变量绑定) Groovy 代码片段(因为 ...
Open source ECMAScript 6.0 (ES2015) (JavaScript) engine. Licensed under BSD 3-Clause License. var context = new Context(); context.Eval(@"console.log( `It's JavaScript engine written in C#....
geomajas-project-geometry.zip,几何图形JTS支持几何图形项目
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
仅当您要在Java 6/7的ScriptEngine的上下文中使用最新版本的Rhino时才需要这样做。 在Java 8中,Nashorn被用作JavaScript的默认ScriptEngine。使用在您的Maven POM中包括rhino-script-engine。 <dependency> ...
其实使用javascript动态调试测试功能,是一个很好的方式,
java8 集合源码分析 spider-tangpoem项目 优雅的使用WebMagic框架,爬取唐诗别...JUC:Java线程池、线程协作、线程安全类 日志log4j 1.7.25 Java反射 单例模式、工厂模式、代理模式 项目结构 biz包:包括页面爬取逻辑的
脚本引擎II是Delphi和FreePascal的脚本组件。 它支持面向对象的编程,包括部分类和类帮助器。
最近在看《Javascript高级程序设计》一书,在书中发现一些以前没有接触过的且比较实用的技巧和知识点,想通过博客记录一下,以加深记忆。
V8 Javascript Engine for PHP — 这个PHP扩展用于嵌入谷歌的V8 Javascript引擎