自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (3)
  • 收藏
  • 关注

原创 Nginx架构浅析

文章目录Nginx架构浅析1.Nginx基础架构2.Master进程2.1核心逻辑2.2热更2.2.1热重载-配置热更2.2.2热升级-程序热更3.Worker进程3.1核心逻辑3.2事件驱动-epoll3.3惊群3.4负载均衡4.思考4.1为什么不采用多线程模型管理连接?4.2为什么不采用多线程处理逻辑业务?Nginx架构浅析最近项目中使用了基于Nginx的OpenResty的框架,于是有了想学习了解Nginx相关内容的想法,现将一些理解撰写成文,和大家讨论一下。1.Nginx基础架构nginx启

2021-04-02 22:53:21 2610 4

原创 Lua5.3自动GC触发条件分析与理解

目录1.GC触发过程2.过程详解2.1GCdebt2.2stepmul2.3pause3.总结参考资料在我的上一篇文章《Lua5.3版GC机制的学习理解》的4.2部分GC触发条件中,对这部分内容粗略的解释为:LuaGC是当lua使用的内存到达阀值时,自动触发。那么这篇文章将对这句描述,进行进一步的理解,并探讨一些GC参数的调节问题。1.GC触发过程1. lua在每次分配新的内存时,会主动检...

2018-12-28 10:02:57 4875 2

原创 Lua5.3版GC机制理解

目录1.Lua垃圾回收算法原理简述2.Lua垃圾回收中的三种颜色3.Lua垃圾回收详细过程4.步骤源码详解4.1新建对象阶段4.2触发条件4.3 GC函数状态机4.4标记阶段4.5清除阶段5.总结参考资料lua垃圾回收(Garbage Collect)是lua中一个比较重要的部分。由于lua源码版本变迁,目前大多数有关这个方面的文章都还是基于lua5.1版本,有一定的滞后性。因此本文通过参考当前...

2018-12-28 09:58:56 8284 4

原创 Nginx架构浅析PPT

《Nginx架构浅析》文章:https://blog.csdn.net/BigBrick/article/details/115409147《Nginx架构浅析PPT》下载:https://download.csdn.net/download/BigBrick/16361038

2021-04-03 11:28:01 644

原创 网络IO模型理解与分析

目录CPU (CentralProcessingUnit)物理CPU核心数逻辑CPU进程与线程1.单进程单线程模型2.单进程多线程模型3.多进程单线程模型4.多进程单线程模型网络编程中5种I/O模型阻塞型I/O非阻塞型I/OI/O多路复用回调机制信号驱动I/O异步I/O目前常见的服务端模型(多进程结合I/O多路复用)协程协程的运用总结在面对异步IO频繁的业务需求的时,可以使用回调的机制。在利用回...

2020-04-14 10:12:39 291

原创 php-redis中scan命令使用脚本

文章目录php-redis中scan命令使用脚本本文可执行脚本官方demodate:20200413php-redis中scan命令使用脚本项目中需要对某部分前缀的key进行迁移清洗,由于keys命令会造成redis阻塞,所以用scan进行匹配。目前的scan的demo样例存在各种问题,现贴出本文的可执行脚本目标:将满足前缀的key集合返回本文可执行脚本function matchTg...

2020-04-13 21:48:28 1088

原创 PHP-foreach中引用缺陷

目录1.现象2.原因3.分析近期使用php开发过程中,发现一个foreach中引用的小坑。1.现象如下代码:$arr = [1, 2, 4];foreach ($arr as &$a) { $a = $a * $a;}print_r($arr);foreach($arr as $a){ print_r($a); print(" ");}打印...

2020-04-02 12:39:03 177

原创 数据结构-栈与队列理解与实现

目录栈结构体源码实现队列结构体源码实现栈栈:只允许在一端进行插入或删除操作的线性表。通过只操作top从而实现先进后出的特点。结构体#define MaxSize 50 //定义栈中元素的最大个数typedef struct{ Elemtype data[MaxSize]; //存放栈中元素 int top; ...

2019-11-04 09:57:38 858

原创 数据结构-树与图

目录树结构体树的遍历源码实现图重点掌握内容数据结构中树与图的常用算法实现树树:是N(N>=0)个结点的有限集合。任意一颗非空树应满足:有且仅有一个特定的称为根的结点当N>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,…,Tm,其中每一个集合本身又是一颗树,并且称为根结点的子树树适合表示具有层次结构的数据。结构体typedef struc...

2019-11-04 09:55:46 1136

原创 系统学习-协程理解

目录CPU (CentralProcessingUnit)物理CPU核心数逻辑CPU进程与线程1.单进程单线程模型2.单进程多线程模型3.多进程单线程模型4.多进程单线程模型网络编程中5种I/O模型阻塞型I/O非阻塞型I/OI/O多路复用回调机制信号驱动I/O异步I/O目前常见的服务端模型(多进程结合I/O多路复用)协程协程的运用总结在面对异步IO频繁的业务需求的时,可以使用回调的机制。在利用回...

2018-12-28 09:56:34 229

原创 系统学习-C++内存分配

目录程序结构理解程序运行过程Stack区反汇编分析源码反汇编总结C++内存分配是一个很基础的问题,明白这个分配机制,有很多C++的问题都可以很容易理解。比如const成员变量为何需要利用构造函数初始化列表才能进行初始化;static关键字为什么可以改变存储属性;new/malloc的内存分配方式等。程序结构理解这是描述32位系统下程序大致内存结构的经典老图(64位类似,只是32位的图网上有...

2018-12-27 22:47:18 279

原创 数据结构-八大排序算法实现与分析

目录排序分类一览类型一 交换排序冒泡排序快速排序类型二 插入排序直接插入排序希尔排序类型三 选择排序简单选择排序堆排类型四 归并排序归并排序类型五 基数排序基数排序代码实现性能对比最近在面试过程中,发现很多公司还是很注重基础的,对于基本的排序要求掌握的比较扎实,能够任意写出各种排序,对各种排序性能进行比较,那就随手总结一下吧。排序分类一览类型一 交换排序冒泡排序特点:稳定,每一次都会...

2018-12-27 22:45:52 505

原创 Linux调试方法之core dump

目录core dump介绍0.测试程序如下1.打开core dump2.输出core dump3.执行该文件4.在终端输出core dump5.在gdb下输入bt最近面试的时候,被问到在linux下程序异常该怎么调试。经过学习才知道有core dump这种东西,随手记录。core dump介绍当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行...

2018-12-27 22:41:34 226

原创 SQL-基本学习III-数据库备份恢复

目录1备份核心思想C++代码实现将数据库拷贝至其他主机2恢复核心思想C++代码实现---采用第一种方法的原理最近在一个小项目中,遇到一个需求,客户希望能够提供数据库的备份与恢复的功能,发现当前的一些解决方案还是比较简单易行的,主要是通过现有的一些工具完成数据集的一个导入与导出。注意数据库与数据表的导入导出的方式还是有一定的区别的。数据表的导入导出可以利用SQL就可以完成。如下://导出s...

2018-12-27 22:39:10 220

原创 SQL-基本学习II-数据库引擎与索引

目录SQL语法编写Mysql的数据引擎Innodb与Myisam的区别关于索引索引的优点索引的缺点索引的实现原理 B树与B+树这是SQL的第二篇,结合一些被面试的内容,对常考的数据库问题进行一些总结。SQL语法编写重复数据的一组查询有一张person表,其中有p_id,p_name;一张house表,其中有h_id,address;一张hire表,其中有hh_id、h_id、p_id;h...

2018-12-27 22:37:08 310

原创 SQL-基本学习I-基本SQL语法与概念

目录1检索1.1基本检索1.1.1检索单个列1.1.2检索多个列1.1.3检索所有列1.1.4检索不同的值1.1.5限制结果1.2排序检索1.2.1按单个列排序1.2.2按多个列排序1.2.3按列序号进行排序1.2.4降序排序1.3过滤检索1.3.1使用where子句1.3.2where子句操作符号1.3.3组合where子句1.3.4使用IN1.3.5使用LIKE1.4处理检索1.4.1创建计算...

2018-12-27 22:34:51 314

原创 Linux网络基本信息配置

目录1.linux网络基本配置命令1.1 IP信息1.2路由信息1.3DNS信息2.双IP配置方法方法一方法二今天在项目搭建中,遇到一个需要给服务器配置双IP的情况,记录一下解决方法。1.linux网络基本配置命令1.1 IP信息ip a根据上诉显示的网卡信息,修改对应的网卡配置文件(eth3为例)vim /etc/sysconfig/network-scripts/ifcfg-e...

2018-12-27 22:32:10 260

原创 Github Pages+Hexo博客搭建极简版教程

目录1.环境安装1.1安装nodejs与git1.2检查是否安装成功2.安装hexo2.1安装命令2.2hexo初始化3.更换hexo主题4.github上创建仓库5.配置Deployment5.1首先配置本地的git的`user.name`与`user.email`,配置命令如下:5.2修改`_config.yml`文件中的`deploy`部分,内容可以参考上图。5.3安装插件5.4部署上传6....

2018-12-27 22:27:19 309

原创 考研往事

谨以此文来纪念考研的日子目录我的经历关于考研时间安排我的实际情况数学英语政治专业课关于其他的杂想1日出了拟录取名单,悬着的这颗心终于放下了,这大半年真的心好累…原本不知道要不要写些什么,毕竟初试分也不算高,而且已经有大神发了贴,基本的事情也就是那些,可是后来想想可能我的考研经历也比较特殊,当年也是听了一个学长的经历,才坚持了下来,在王道中受到了很多学长的帮助,觉得有必要把这份帮助传承下去,如...

2018-12-27 22:22:25 590

Nginx设计浅析.pptx

Nginx设计浅析.pptx

2021-04-02

Programming in Lua

Lua本身是以简单优雅为本,本着眼与处理那些C不擅长的任务。借助C/C++为其扩展,Lua可闪现无穷魅力。Lua本身完全遵循ANSI C而写成,只要有C编译器的地方,Lua便可发挥她的力量。Lua不需要追求Python那样的大而全的库,太多的累赘,反而会破坏她的优美。

2019-01-03

Lua设计与实现

本书基于Lua5.1.4版本讨论了Lua语言的设计原理,全书共分为三部分:第一部分讲解数据结构、字符串以及表类型的实现原理;第二部分是本书最重要的部分,主要讨论了虚拟机的实现;第三部分讨论了垃圾回收、模块实现、热更新、协程等的实现原理。 本书适合对Lua每部实现感兴趣以及对编程语言实现原理感兴趣的人阅读。

2019-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除