- 博客(21)
- 资源 (52)
- 收藏
- 关注
转载 new 二维数组
1. A (*ga)[n] = new A[m][n]; ... delete []ga; 缺点:n必须是已知 优点:调用直观,连续储存,程序简洁(经过测试,析构函数能正确调用) 2. A** ga = new A*[m]; for(int i = 0; i < m; i++) ga[i] = new A[n]; ... for(int i = 0; i < m; i++)
2012-08-31 14:15:56 542
转载 new一个二维数组
⑴new可用来生成动态无名变量, 如 int *p=new int; int *p=new int [10]; //动态数组的大小可以是变量或常量;而一般直接声明数组时,数组大小必须是常量 又如:int *p1; double *p2; p1=new int(12); p2=new double [100]; l 分别表示动态分配了用于存放整型数据的内存空间,将初值
2012-08-31 14:09:46 845
转载 Windows和Linux环境下Memcached安装与配置
一、memcached安装配置windows平台安装1、memcached-1.2.6-win32-bin.zip下载地址: http://code.jellycan.com/memcached/,执行memcached.exe -d install 安装。2、守护进程方式启动:memcached.exe -m 512 -d start-d为守护进程启动,不能指定端口 默认端口
2012-08-27 10:33:59 631
原创 memcached 结构体详解
/* * NOTE: If you modify this table you _MUST_ update the function state_text *//** * Possible states of a connection. */enum conn_states { conn_listening, /**< the socket which listens for
2012-08-18 17:14:01 947 1
原创 memcached_1.4.14之process_get_command解析
/* ntokens is overwritten here... shrug.. */static inline void process_get_command(conn *c, token_t *tokens, size_t ntokens, bool return_cas) { char *key; size_t nkey; int i = 0; item
2012-08-17 17:12:51 1041
原创 memcached 之token_t
typedef struct token_s { char *value; size_t length;} token_t;static size_t tokenize_command(char *command, token_t *tokens, const size_t max_tokens) { char *s, *e; size_t ntokens = 0
2012-08-17 16:37:31 1237
原创 netsh wlan start hostednetwork
netsh wlan set hostednetwork ssid=这里是名称 key=这里是密码netsh wlan start hostednetwork
2012-08-17 14:30:29 2437
转载 Memcached的CAS机制的实现
CAS,又称Compare-and-Swap,代表一种原子操作。Memcached的CAS机制解决的问题及其原理:1. 实现了Check-and-Set原子操作功能;2. 其使用方式为:首先使用gets指令一个key-value及key对应value的版本号;其次操作产生新的value值;最后使用cas指令重新提交key-value,并附带刚刚获得到的版本号;3. 当服务端判断ca
2012-08-17 14:21:22 2076
转载 Memcached 结构分析之各个结构体详解(包括set参数)
Memcached 结构分析 Memcached是一个分布式的内存缓存库,正好自己想写个cache的模块,那么就偷偷师吧。 功能库看的是实现原理和思路,性能库看的是实现细节,memcahed是属于一个看性能的库(实现cache功能的模块很多,但是性能就有高低了) 1、memcached的数据交互协议 memcached是分布式的内存缓存服务器,它是通过
2012-08-17 09:01:00 1871
转载 Memcached源码分析之内存管理篇之item结构图及slab结构图
.Memcached源码分析之内存管理篇 博客分类: linuxc .使用命令 set(key, value) 向 memcached 插入一条数据, memcached 内部是如何组织数据呢 一 把数据组装成 itemmemcached 接受到客户端的数据后, 把数据组装成 item, item 的格式如下: 图1 struct item 的结构
2012-08-15 16:52:02 6489 2
转载 memcached源码剖析之内存管理
C语言的内存管理一直是开发者绕不过去的坎,像memcached这种接收大量请求的框架来说,频繁的内存调用和内存泄露是名副其实的性能杀手。malloc/free有三大缺点:1.容易造成内存泄露;2.频繁调用会造成大量内存碎片无法回收重新利用,降低内存利用率;3.作为系统调用,其系统开销远远大于一般函数调用。现在最常用的内存管理方案是使用内存池替代malloc/free调用,内存池方案的基本思想是预先
2012-08-14 16:57:09 1380
转载 memcached源代码之process_get_command add_msghdr iov
本文针对memcached 1.21 for windows(主要原因是Linux实在缺乏一种简单易用的C++ IDE,使用gdb调试我会发疯的,code::block挺不错的,但是感觉还是不如VC,我非常喜欢VC/VS的调试功能,其中几个特性包括随便拖变量到watch窗口,在watch窗口可以编辑被观察的变量,鼠标悬停时显示变量的值。这几个特性是我希望一个调试器所应该必备的),其源代码可在htt
2012-08-14 11:48:38 1341
转载 memcached之网络处理流程之conn_new_cmd
memcached主要通过设置/转换连接的不同状态,来处理事件.static int server_socket(int port, enum network_transport transport,FILE *portnumber_file) {listen_conn_add = conn_new(sfd, conn_listening, EV_READ | EV_PERSIST,
2012-08-14 10:20:59 1525 1
转载 Memcached drive_machine 函数分析_process_update_command
关于Memcached的文章并不少,想更多了解Memcached的源代码,请看参考文献。这些文献对于drive_machine()函数的描述比较简略,我们只是把未展开的分析展开。补充几篇文章都没有细化的地方。memcached的核心使用的是libevent来处理网络IO事件,libevent需要指定一个主循环函数,由这个函数对IO事件进行集中处理。 conn_new()用于
2012-08-14 09:18:54 1583
转载 memcached 参数详解
memcached 1.4.2 -p 监听的TCP端口(默认: 11211) -U 监听的UDP端口(默认: 11211, 0表示不监听) -s 用于监听的UNIX套接字路径(禁用网络支持) -a UNIX套接字访问掩码,八进制数字(默认:0700) -l 监听的IP地址。(默认:INADDR_ANY,所有地址
2012-08-13 15:06:19 966
转载 Memcached源码分析(线程模型)
目前网上关于memcached的分析主要是内存管理部分,下面对memcached的线程模型做下简单分析有不对的地方还请大家指正,对memcahced和libevent不熟悉的请先google之先看下memcahced启动时线程处理的流程memcached的多线程主要是通过实例化多个libevent实现的,分别是一个主线程和n个workers线程无论是主线程还是worke
2012-08-13 13:50:25 659
转载 memcached源码学习-hashtable
今天来介绍memcached中hashtable部分的源码,hash部分的源码主要分布在assoc.h/c、hash.h/c中,总得来说代码比较简单,这里就稍微介绍一下。 hashtable通常包括哈希函数和解决冲突的方法两个最主要的因素,memcached使用的哈希函数为Bob Jenkins在1996年发明的,定义位于hash.h中,实现在hash.c中,作者与2006年时
2012-08-10 17:09:00 726
转载 高位优先与低位优先
Endians是什么意思?它是数据在内存中的排列顺序。在微处理器中,象long/DWORD(32 bits) 0x12345678 这样的数据总是按照高位优先(BIG ENDIAN)方式存放的。但在内存中,数据存放顺序则因微处理器厂商的不同而不同。数据大小的不同:Byte:一个字节,标记为byte 0Word:二个字节,从byte 0到byte 1Long : 四个字节,从byte
2012-08-10 15:04:54 1630
转载 xx is not in the sudoers file 问题解决
我用的是redhat5.4,在一般用户下执行sudo命令提示llhtiger is not in the sudoers file. This incident will be reported.解决方法:一、$whereis sudoers -------找出文件所在的位置,默认都是/etc/sudoers 二、 #chmod u+w /etc/sudoers 以超
2012-08-09 16:31:47 575
转载 memcache中内存管理源码剖析
memcahce采用了内存页面,内存页面上的内存块技术实现了内存管理器,对item的指针采用了hashtable的方法,通过item的key值实现快速定位查找item指针的方法,这里详细剖析一下实现的关键代码. 首先是内存管理,在Slabs.c代码中实现. (1).void slabs_init()void slabs_init(const size_t limit, cons
2012-08-08 11:23:57 843
转载 Memcached深度分析
Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。关于这个东西,相信很多人都用过,本文意在通过对memcached的实现及代码分析,获得对这个出色的开源软件更深入的了解,并可以根据我们的需要对其进行更进一步的优化。末了将通过对BSM_Memcache扩展的分析,加深对memcached的使用方式
2012-08-07 15:51:44 687
内核分析—中断
2013-02-21
Google_C++编码规范_中文.pdf
2012-10-15
memcached_allocator_slab_langwan
2012-08-22
Memory System on Fusion APU
2012-06-29
AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide
2012-06-28
Git-2.14.1-64-bit.exe
2017-09-22
Onvif对接Rtsp实时媒体流(基于live555)
2017-09-22
RFC2326(RTSP) 中文版
2013-05-09
RFC3550中文版 (RTP/RTCP)
2013-05-09
Google C++编程风格指南.pdf
2013-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人