自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (2)
  • 收藏
  • 关注

原创 打造先进的内存KV数据库-7 反射以及并发锁

反射反射作为一种代码组织形式,带来了极大的不安全因素,同时也带来了许多便利之处,通过方法、对象、类型名称来获得具体实例,可以避免大量if-else分支,使得代码优雅,monkeyDB的服务端代码最后采用反射组织。并发锁多线程访问同一资源时,需要对资源加锁,否则可能会得到预料之外的后果。由于内存数据库优越的读写性能,锁的粒度可以尽量大,monkeyDB使用库级锁(相当于表级锁)来保证线程安全。 Mo

2016-01-26 14:11:54 1275

原创 打造先进的内存KV数据库-6 PHP支持

PHPphp作为使用极广的程序设计语言,monkey数据库对php的支持是必须的~代码实现//test.php <?php class MonkeyDB { private $socket; private function read() { $data = ""; $total = 0; $t = fread($this->so

2016-01-05 23:50:34 1781

原创 打造先进的内存KV数据库-5 TCP侦听

TCP侦听作为支持集群的数据库,必定要与多个客户端交互信息,不可能让数据库与所有客户共享地址空间(虽然这样性能好),所以需要使用TCP协议进行交互数据,(UDP协议不可靠。。。弃用),C语言的TCP库其实还好,但是对于高并发和并行的处理不如Go,而且并发锁机制比较难写,所以使用Go写了服务器和客户端调用C的库,目前版本没有什么身份验证,之后会加上。代码实现//server.go package ma

2016-01-05 23:46:16 1021

原创 打造先进的内存KV数据库-4 伙伴内存管理系统

伙伴算法大概是这样的,monkey储存引擎(今年猴年了嘛~取个名字,重了再换)的内存管理使用伙伴算法,大概原理是这样的: 1.多个空闲内存块的链表,分别是不同大小的内存块,1K,2K,4K,8K,…,,按照这样的情况一直到4M,当程序申请内存时,选择一个稍大于其所要申请的块,比如申请1023字节,给1K,1024字节也给1K(为什么呢– 后文会讲),2056字节给4K。 2.如果要给的内存块没有

2016-01-04 19:34:33 1424

D3Dwindow 窗口化工具

不错的游戏的窗口化钩子,支持游戏窗口化运行. 支持现有的大多数游戏.

2011-08-15

vb源码-*号密码查看器

自己做的vb*号密码查看器,主要是运用WinAPI的getwindowtext、windowsfrompoint、getcursorpos函数。

2011-08-13

空空如也

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

TA关注的人

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