
正文
java代码lua脚本,java调用lua脚本
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在java中调用lua执很多次之后,内存使用率持续上升,无法释放
lua中有调用内存分配用户对象,但没注册gc的话,luastate的close不会释放内存。
先看下是否有内存泄露,简单的方法就是隔一段时间检查下内存,看看是否是持续上升。然后看下资源是否可以优化,比如你加载的图片有没有resize过,尽可能减少资源的内存消耗。
可能是代码原因导致的问题,也可能是其他原因导致的问题。
java项目开发中过多使用静态变量可能产生的问题如下:内存空间的使用问题。静态空间在程序结束之前一直存在,从而造成内存空间使用率不高。
相关问答
Q1: 如何在Java中使用Lua脚本语言
要在Java上使用Lua脚本,必须有关于Lua脚本解释器以及Java程序可以访问这些脚本的相关API,即相关类库。
要看LuaState luaState = LuaStateFactory.newLuaState();和 luaState.close();的实现方式。lua中有调用内存分配用户对象,但没注册gc的话,luastate的close不会释放内存。
java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds); 但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。
通过java脚本API,可以使用Java语言编写定制/可扩展的应用程序并将自定义脚本语言选择留给终用户。Java应用程序开发者不需要在开发过程中选择扩展语言。
一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
一般是用来分离经常变化的逻辑部分,比如WOW就是用lua语言作为扩展,用户可以编写lua脚本来完成一些特定功能的机器人。你要做的就是使用lua c api来在你的程序中执行lua。
Q2: lua脚本性能如何
厉害。Lua在脚本语言中是运行时速度最快的。集成Lua只会增加极少的内存占用率。Lua的CAPI有着完备着文档和很好的例子,可以容易地通过C集成在软件里。游戏脚本一般会使用lua去写,因为lua十分轻便,而且性能很好。
用lua和txt文本写传奇脚本有灵活性、可维护性和可扩展性等优势,具体如下:灵活性:lua语言可以嵌入到游戏中,因此可以根据需要随时调用脚本。
lua更倾向于嵌入到c++项目中,做热更代码非常方便,还有就是非常干净,几乎不包含额外的功能,精简到极致。我们做游戏开发经常会用到lua脚本,客户端方便热更新,而服务器作为辅助脚本使用,比如一些AI、scene、技能脚本等。
关于java代码lua脚本和java调用lua脚本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






