17、Java脚本编程:过程调用、脚本编译与Java类使用

Java脚本编程:过程调用、脚本编译与Java类使用

1. Java脚本API的过程调用与脚本编译

Java脚本API支持从Java直接调用用脚本语言编写的过程、函数和方法,这通过 Invocable 接口实现。如果脚本引擎支持过程调用,它会实现 Invocable 接口,Nashorn引擎就支持过程调用。被调用的过程可以实现为顶级函数或对象的方法。

  • 调用顶级函数 :使用 Invocable 接口的 invokeFunction() 方法调用脚本中的顶级函数。
  • 调用对象方法 :使用 Invocable 接口的 invokeMethod() 方法调用对象的方法。

在调用之前,引擎必须先对顶级函数和要调用其方法的对象进行求值。

同时,Java脚本API还允许将脚本编译一次,存储在脚本引擎中,并多次执行该脚本,这通过 Compilable 接口实现。支持脚本编译的脚本引擎需要实现 Compilable 接口,调用其 compile() 方法编译脚本,该方法返回 CompiledScript 的实例,调用其 eval() 方法执行脚本。

需要注意的是,脚本引擎实现 Invocable

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值