字节码指令JVM字节码指令由一个字节长度,包含着特定含义的数值(操作码)以及跟随其后的零至多个操作所需参数(操作数)所构成;大多数字节码指令只有一个操作码,没有操作数,一般都是将操作所需参数存入操作数栈中;字节码指令中有部分指令与数据类型相关联,比如iload/fload,将一个int/float类型的数据加载到操作数栈中;字节码指令这块儿不算是虚拟机的重点,但是也有必要了解一些,下文会提到字节码
转载 2024-09-11 10:41:09
29阅读
一、进程和线程的区别 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。 线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。 新建状态(New):新建的线程处于新建状态,如:Thread t = new MyThread();
AOT和JIT 1、动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。 2、JIT编译(just-in-time compilat
lua
转载 2021-07-20 17:16:10
374阅读
 /* ** state manipulation */ LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);//创建lua虚拟机 LUA_API void (lua_close) (lua_State *L); //销毁指定 Lua 状态机中的所有对象 /** lua_newthread 创建一个新线程,并将
转载 2024-05-05 16:59:39
245阅读
#include #include "lauxlib.h" /* Pop-up a Windows message box with your choice of message and caption */ int lua_msgbox(lua_State* L) { const char* message = luaL_checkstring(L, 1); const c...
转载 2019-03-07 23:36:00
88阅读
2评论
生产者->过滤器->消费者 模式的协程示例 运行截图现象 coroutine.wrap 与 coroutine.create 的区别 运行现象
转载 2017-10-27 02:11:00
184阅读
下载lua包并解压wget -c ://.lua.org/ftp/lua-5.3.0.tar.gz或者下载地址:://.lua.org/ftp/,把下载的文件放到/usr/local/src/目录下。下载libreadline相关支持Ubuntusudo apt-get install libreadline5 sudo apt-get ...
原创 2022-03-17 17:32:11
886阅读
下载lua包并解压 wget -c http://www.lua.org/ftp/lua-5.3.0.tar.gz 或者下载地址:http://www.lua.org/ftp/,把下载的文件放到/usr/local/src/目录下。 下载libreadline相关支持 Ubuntu sudo apt-get install libreadline5 sudo apt-get i
原创 2021-08-13 10:37:43
1138阅读
openresty开发系列15--lua基础语法4表table和运算符lua中的表table一)table (表)Table 类型实现了一种抽象的"关联数组"。即可用作数组,也可以用作map。lua中没有数组和map,都是用table这个类型--数组 java int[] intArr = new int[]{1,2,3,4,5,6}; intArr[0] intArr[1] --map---
转载 2024-08-24 11:54:05
22阅读
红色表示关键点 绿色表示额外注解------------------------------------------------------------------------一. 值与类型:         动态类型语言,类型存在于运行时,即变量无类型,值有类型。        库函数 type(
Lua 5.3 迭代器的简单示例 创建”closure”模式的”iterator” 结果运行现象: 创建”complex state iterator”模式的”iterator” 结果运行现象:
转载 2017-10-26 19:26:00
143阅读
Q:什么是Lua的虚拟栈? A:C与Lua之间通信关键内容在于一个虚拟的栈。差点儿全部的调用都是对栈上的值进行操作,全部C与Lua之间的数据交换也都通过这个栈来完毕。另外,你也能够使用栈来保存暂时变量。 每个与Lua通信的C函数都有其独有的虚拟栈。虚拟栈由Lua管理。 栈的使用攻克了C和Lua之间两
转载 2017-07-26 08:27:00
204阅读
2评论
Q:什么是”Simple Model”? A:全部的文件操作都基于一个默认的输入文件和一个默认的输出文件。这就意味着同一时间对于输入和输出来说,仅仅可操作一个文件(默认的文件)。默认的输入文件初始化是stdin,默认的输出文件初始化是stdout, -- "a.lua"文件里: --[[ "io.r
原创 2022-01-12 09:58:41
105阅读
Lua5.3 注册表 _G _ENV :http://blog..net/murisly/article/details/46518551 注册表的描述,借用PIL中的一段话: registry 一直位于一个由 LUA_REGISTRYINDEX 定义的值所对应的假索引(pseudo-i
转载 2017-10-28 00:00:00
702阅读
Java JIT(just in time)即时编译器是sun公司采用了hotspot虚拟机取代其开发的classic vm之后引入的一项技术,目的在于提高java程序的性能,改变人们“java比C/C++慢很多”这一尴尬印象。说起来是编译器,但此编译器与通常说的javac那个编译器不同,它...
转载 2016-10-23 20:58:00
131阅读
2评论
可执行的机器码的。 图片来自于网络...
原创 2022-11-30 13:21:58
164阅读
Q:模式匹配字符串的相关函数? A: --[[ string.find(s, pattern [, init [, plain]]) 在字符串"s"中查找第一个与匹配模式"pattern"相匹配的子串, 函数返回子串的開始位置和终止位置。假设未找到返回"nil"。 假设在"pattern"中定义了捕
转载 2017-08-07 14:14:00
178阅读
2评论
表达式(expression)在编程语言中代表一个可以返回值的语法单位,比如常量表达式,变量表达式,函数调用表达式,算术、关系和逻辑表达式等等。对于函数式编程语言来说,几乎所有的语句都是表达式,可以被估值。而对于命令式语言,一般会将语句分成表达式和陈述语句(statement)。表达式可以被估值,而普通的陈述语句用来执行命令。根据具体的语法,这两种类型不一定会有明确的界限。比如在C中,a = b既
转载 2024-07-30 17:23:06
151阅读
Java单元测试实践-00.目录(9万多字文档+700多测试示例)1. Gradle执行test任务卡死问题解决1.1. test任务卡死问题现象使用Gradle test任务执行单元测试时,执行一段时间后卡死,通过testLogging参数指定的测试日志查看,执行了几十个测试类后不再继续执行。1.1.1. 无效的解决方法1.1.2. 与Gradle版本的关系使用Gradle 4.x,5.x,6.
转载 2023-07-28 21:55:45
296阅读
Q:怎样在C中将Lua作为配置文件语言使用? A: “config.lua”文件里: -- window size width = 200 height = 300 “main.c”文件里: #include <stdarg.h> #include <stdio.h> #include <stdli
转载 2017-08-09 18:18:00
107阅读
  • 1
  • 2
  • 3
  • 4
  • 5