上一页 1 ··· 5 6 7 8 9
摘要: 说明 分析lua使用的gc算法,如何做到分步gc,以及测试结论 gc算法分析 lua gc采用的是标记-清除算法,即一次gc分两步: 从根节点开始遍历gc对象,如果可达,则标记 遍历所有的gc对象,清除没有被标记的对象 二色标记法 lua 5.1之前采用的算法,二色回收法是最简单的标记-清除算法,缺 阅读全文
posted @ 2020-04-18 09:49 钢与铁 阅读(8205) 评论(0) 推荐(1) 编辑
摘要: 自我总结一句话:警惕copy导致的数据冗余,和元表设置导致的深度索引lua里面实现class机制,比较关键的地方就是class的继承机制,以及class实例化的过程。 class继承机制的关键是怎么让子类拥有父类的方法集:<br>1.完全使用setmetatable()的方式实现,每继承一次,都把父 阅读全文
posted @ 2020-04-18 08:02 钢与铁 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 重要::::首先参考 C#高级编程 第10版 C# 6 & .NET Core ,次重要的是下面的截图部分 应该了解的垃圾收集机制 对于大多数应用而言,了解垃圾收集机制的主要动机并不是为了对内存“省吃俭用”,而是为了处理非托管资源的控制问题,这些问题往往跟内存的大小没有什么关系。例如对一个文件进行操 阅读全文
posted @ 2020-04-17 11:13 钢与铁 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-04-17 10:38 钢与铁 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 迪杰斯特拉算法介绍 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 基本思想 通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进 阅读全文
posted @ 2020-04-16 21:28 钢与铁 阅读(1639) 评论(0) 推荐(0) 编辑
摘要: 这一节介绍Lua唯一的数据结构table,相对于大部分语言提供数组和字典两种类型,Lua将其合二为一,颇为精巧的实现了table。 table充分体现了Lua语言的特点,用最简练的语法表达丰富的信息,但也增加了用户的理解成本。table包含数组和哈希两部分功能,所以实现起来颇为复杂。 本文展示的代码 阅读全文
posted @ 2020-04-16 17:40 钢与铁 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 一、table结构 1、Table结构体 首先了解一下table结构的组成结构,table是存放在GCObject里的。结构如下: typedef struct Table { CommonHeader; lu_byte flags; /* 1<<p means tagmethod(p) is no 阅读全文
posted @ 2020-04-16 15:01 钢与铁 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 延迟补偿和对时的相关总结 少于 1 分钟读完 国内的网络游戏多是客户端/服务器方式,而对于游戏实时性要求比较高的网游,如 果采用客户端发送时间包给服务器,服务器校验后再下发给客户端表现的话,网络延时 和抖动都会恶化游戏体验。对于客户端和服务器的同步问题, 一般有两种算法解决: ① 、客户端和服务器之 阅读全文
posted @ 2020-04-11 20:15 钢与铁 阅读(796) 评论(0) 推荐(0) 编辑
摘要: 一、值参数 未用ref或out修饰符声明的参数为值参数。 使用值参数,通过将实参的值复制到形参的方式,把数据传递到方法。方法被调用时,系统做如下操作。 在栈中为形参分配空间。 复制实参到形参。 值参数的实参不一定是变量。它可以是任何能计算成相应数据类型的表达式。 看一个例子: 1 2 3 4 5 6 阅读全文
posted @ 2019-06-21 10:50 钢与铁 阅读(227) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9