自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于Lua的面向对象和闭包的理解

①Lua的面向对象实现是通过各种语法糖来实现的,function t:a(…)会被转换为t.a=function(self,…),而t:a(…)会被翻译为t.a(t,…)。同时t.a又会被翻译成t[“a”],所以绕来绕去底层实现还是table;②Lua的类的构造函数形式一般为class:new(…),当调用时就class就会传入形参self,因此需要新建一个table并且把它的元表设置为sel

2017-04-09 15:33:38 522

原创 关于云风在 Lua 中实现面向对象的源码分析

①源码:local _class={} function class(super) local class_type={} class_type.ctor=false class_type.super=super class_type.new=function(...) local obj={} do local create create = f

2017-04-09 15:19:46 1900

转载 各种编程语言的内存模型

①C程序内存分配:一个正在运行着的C编译程序占用的内存分为代码区、初始化数据区、未初始化数据区、堆区和栈区5个部分。(点击查看大图)图3-1 C程序的内存布局(1)代码区(text segment)。代码区指令根据程序设计流程依次执行,对于顺序指令,则只会执行一次(每个进程),如果反复,则需要使用跳转指令,如果进行递归,则

2017-04-02 20:59:33 3113

转载 Memcache原理

一致性Hash算法从上面的图中,可以看出一个很重要的问题,就是对服务器集群的管理,路由算法至关重要,就和负载均衡算法一样,路由算法决定着究竟该访问集群中的哪台服务器,先看一个简单的路由算法。1、余数Hash比方说,字符串str对应的HashCode是50、服务器的数目是3,取余数得到2,str对应节点Node2,所以路由算法把str路由到Node2服务器上。由于Hash

2017-04-02 19:46:34 280

转载 HTTP返回码

1xx消息:请求已被接受,需要继续处理。HTTP/1.0协议中没有定义任何1xx状态码。 100 Continue 客户端应当继续发送剩余请求。 101 Switching Protocols 服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。 102 Processing 处理将被继续执行。2xx成功:请求已成功被服务器接收

2017-03-19 14:31:19 275

转载 sed命令

①功能:sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。②格式:sed

2017-03-13 23:16:19 188

转载 grep命令

①功能:使用正则表达式搜索文本,并把匹配的行打印出来②格式:grep [-acinv] [--color=auto] '搜寻字符串' filename③参数:-a :将 binary 文件以 text 文件的方式搜寻数据-c :计算找到 '搜寻字符串' 的次数-i :忽略大小写的不同,所以大小写视为相同-n :顺便输出行号-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一

2017-03-13 23:11:44 221

原创 watch命令

①功能:可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令②格式:watch[参数][命令]③参数:-n或--interval  watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。-d或--differences  用-d或--differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项

2017-03-13 23:06:56 525

转载 后台任务

一、&加在一个命令的最后,可以把这个命令放到后台执行,如watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本二、ctrl + z可以将一个正在前台执行的命令放到后台,并且处于暂停状态。三、jobs查看当前有多少在后台运行的命令jobs -l选项可显示所有任务的PID,jobs的状态可以是ru

2017-03-13 22:44:27 455

原创 find命令

①功能:在目录结构中搜索文件,并执行指定的操作。②格式:find pathname -options [-print -exec -ok ...]③参数:pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的shell命令

2017-03-13 22:30:58 231

原创 mmap

mmap是一种内存映射文件的方法,即将一个文件或者其他对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。系统会自动回写脏页面到对应文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。同时内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享。

2017-03-13 21:40:21 248

原创 IO多路复用

select、poll、epoll都是IO多路复用的机制,可以监视多个描述符,一旦某个描述符就绪,能够通知程序进行相应的读写操作。但它们本质上都是同步IO,因为它们都需要在读写事件就绪后自己进行读写,也就是说这个读写过程是阻塞的。而异步IO则无需自己负责进行读写,其实现会负责把数据从内核拷贝到用户空间。IO多路复用技术的最大优势就是系统开销小,系统不必创建进程/线程,也不必维护它们。s

2017-03-13 21:22:11 166

原创 linux进程间通信

①无名管道:是半双工的,数据只能向一个方向流动。需要双方通信时,需要建立起两个管道。只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)。单独构成一种独立的文件系统,管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。 数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管

2017-03-13 20:50:54 168

原创 进程与线程模型

一、综述一直以来, linux内核并没有线程的概念。 每一个执行实体都是一个task_struct结构, 通常称之为进程。Linux内核在 2.0.x版本就已经实现了轻量进程,应用程序可以通过一个统一的clone()系统调用接口,用不同的参数指定创建轻量进程还是普通进程,LWP与普通进程的区别也在于它只有一个最小的执行上下文和调度程序所需的统计信息。后来为了引入多线程,Linux2.0~2

2017-03-13 19:54:00 237

疯狂Android讲义(第2版)【迷你书】.pdf

《疯狂Android讲义》全面地介绍了Android应用开发的相关知识,全书内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信编程、Android平台的Web Service、传感器应用开发、G...

2014-08-28

空空如也

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

TA关注的人

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