Lua GetStarted



推荐书籍:


Lua特性



0.速度极快、轻量级
  • 在目前所有脚本引擎中,Lua的速度是最快的。
  • Lua适合作为嵌入式脚本。(Redis+Lua、Nginx+Lua等等)

1. 变量名没有类型,值才有类型,变量名在运行时可与任何类型的值绑定;
  • 类似于js,弱类型。

2. 语言只提供唯一一种 数据结构(不是唯一的数据类型),称为表(table),
  • 它混合了数组、哈希,可以用任何类型的值作为key和value。提供了一致且富有表达力的表构造语法,使得Lua很适合描述复杂的数据;

3. 函数是一等类型(即函数是一种数据类型)
  • 支持匿名函数、闭包(closure) 、正则尾递归(proper tail recursion);

4. 支持词法定界(lexical scoping)

5. 提供thread类型和结构化的协程(coroutine)机制,
  • 在此基础上可方便实现协作式多任务;

6. 运行期能编译字符串形式的程序文本并载入虚拟机执行;

7. 通过元表(metatable)和元方法(metamethod)提供 动态元机制(dynamic metamechanism)
  • 从而允许程序运行时根据需要改变或扩充语法设施的内定语义;

8. 能方便地利用表和动态元机制实现 基于原型(prototype-based)的 面向对象模型;

9. 从5.1版开始提供了完善的 模块机制
  • 从而更好地支持开发大型的应用程序;


LuaJIT


LuaJIT 的运行速度比标准 Lua 快数十倍,
    是一个 Lua 的高效率版本。
    它利用JIT编译技术把Lua代码编译成本地机器码后交由CPU直接执行。
    

什么是JIT?
  • 即时编译
  • 参考java JIT:
    • 在主流商用JVM(HotSpot、J9)中,Java程序一开始是通过解释器(Interpreter)进行解释执行的。当JVM发现某个方法或代码块运行特别频繁时,就会把这些代码认定为“热点代码(Hot Spot Code)”,然后JVM会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为:即时编译器(Just In Time Compiler,JIT)





























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值