Luaj-01-简介

假如引入第三方库,可以找到比较常用的两个选择:LuajavaLuaj,简单做一下对比:

第三方库实现特性
Luajava非纯Java实现,需要通过native方法调用C库,依赖于Lua 5.1会导致JVM崩溃,不再更新,无人维护
Luaj(LuajavaBridge)纯Java实现的Lua解析器,无需使用native不会因为错误而导致JVM崩溃,支持JSR-223

Lua是支持内嵌在C程序中的,但是官方不支持Java,所以我们只能寻找第三方插件了,找到了一个Luajava,这是一个开源项目,实现方式:Luajava实际上就是按照Lua官方文档,把Lua的C接口通过JNI包装成Java的库。下载资源,里面是一个.dll和 一个.jar。把.dll放到java.library.path下,再把.lib放到classpath中。

Luaj简介

主要特性

  • 可以从Lua调用Java Class Static Method(Java的静态方法)
  • 调用Java方法时,支持int/float/boolean/String/Lua function物种参数类型
  • 可以将Lua function作为参数传递给Java,并让Java保存Lua function的引用
  • 可以从Java调用Lua的全局函数,或者调用引用指向Lua function

核心原理

Luaj的核心其实就是:从Lua调用Java和从Java调用Lua。

参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值