自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 同一端口如何区分不同的Socket

同一端口如何区分不同的Socket                             为了区分不同应用进程间的网络通信和连接,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP 或 UDP)和使用的端口号。    Socket的原意是“插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或

2015-08-22 11:49:16 825

原创 异或的理解和应用

异或的理解和应用    异或是计算机领域的一个运算,也是一个很有特色的运算。闲来没有,想了一下异或的概念和应用,形成了该博文。      学计算机的童鞋都或多或少接触过异或,在二进制世界只有0和1元素,异或运算就是相同的元素运算结果等于0,不相同的元素运算的结果为1.使用公式表示(下面三种情况):0 ^1 = 1 ,0 ^ 0 = 0,   1^1 =0 异或有写特点:

2015-04-12 20:49:25 2470

原创 libevent学习的资料

libevent源码系列文章,很好。http://blog.csdn.net/sparkliang/article/details/4957667

2015-04-03 02:04:20 464

原创 Mac 编译安装libevent 库

Mac 编译安装libevent 库打开下面的网页,复制shell 脚本:https://github.com/mtigas/iOS-OnionBrowser/blob/master/build-libevent.sh我把build-libevent.sh中下面的验证代码注释掉。#if out=$(gpg --status-fd 1 --verify "libevent-$

2015-04-02 01:21:36 8789

转载 hg 验证失败

hg clone https://bitbucket.org/pygame/pygame出现abort: error: _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 只要在~/.hgrc中输入[web] cacerts

2015-03-03 15:36:56 549 1

转载 编程珠玑:位图法排序&搜索

问题描述输入:一个最多包含n个正整数的文件,每个数都小于n,其中n=107。如果在输入文件中有任何正数重复出现就是致命错误。没有其他数据与该正数相关联。输出:按升序排列的输入正数的列表。约束:最多有1MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10秒就不需要进一步优化。程序设计与实现概要:应用位图或位向量表示集合。可用

2015-03-02 11:22:08 665

转载 iOS中如何避免图像解压缩的时间开销

iOS中如何避免图像解压缩的时间开销原文地址:http://www.cocoanetics.com/2011/10/avoiding-image-decompression-sickness/名词:Alpha Channel(阿尔法通道)是指一张图片的透明和半透明度。例如:一个使用16位存储的图片,可能5位表示红色,5位表示绿色,5位表示蓝色,1位是阿尔法。在这种情况下,它

2015-02-02 17:32:02 487

转载 PT与PX区别

PT与PX区别2011-06-08 09:02:03字体大小的设置单位,常用的有2种:px、pt。这两个有什么区别呢?先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点;pt就是point,是印刷行业常用单位,等于1/72英寸。这样很明白,px是一个点,它不是自然界的长度单位,谁能说出一个“点”有多长多大么?可以画的很小,也可以很大。如果点很

2014-12-03 10:56:12 1194

转载 Perl 发送http 请求。

HTTP GET Perl example1234567891011121314151617181920useLWP::UserAgent; my$ua = LWP::UserAgent->new; my$server_endpoint = "

2014-11-22 17:43:05 3460

转载 STL Allocator

Allocator是C++语言标准库中最神秘的部分之一。它们很少被显式使用,标准也没有明确出它们应该在什么时候被使用。今天的allocator与最初的STL建议非常不同,在此过程中还存在着另外两个设计--这两个都依赖于语言的一些特性,而直到最近才在很少的几个编译器上可用。对 allocator的功能,标准似乎在一些方面追加了承诺,而在另外一些方面撤销了承诺。这篇专栏文章将讨论你能用

2014-04-29 09:05:54 544

转载 谈谈Windows程序中的字符编码

     http://blog.csdn.net/fmddlmyy/article/details/399661谈谈Windows程序中的字符编码分类: Unicode和编码 2005-06-21 20:03 9348人阅读 评论(8)收藏 举报windowsdelphiapi语言dllservice目录(?)[+]Where

2014-04-04 22:17:40 1585

转载 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词

    谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词分类: Unicode和编码 2005-05-04 21:19 28720人阅读 评论(40)收藏 举报characterwindowstransformationinternetencodingapi目录(?)[+]big endian和little end

2014-04-04 22:16:48 459

转载 深入浅出Hadoop: 高效处理大数据

分享到一键分享QQ空间新浪微博百度云收藏人人网腾讯微博百度相册开心网腾讯朋友百度贴吧豆瓣网搜狐微博百度新首页QQ好友和讯微博更多...百度分享深入浅出Hadoop: 高效处理大数据2011年10月21日15:11 it168网站原创 作者:DoubleLife 编辑:皮丽华

2014-03-24 01:14:19 12193

转载 腾讯面试题:海量数据中查找一个数

http://blog.csdn.net/zcsylj/article/details/6364138腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?这个题目已经有一段时间了,但是腾讯现在还在用来面试。腾讯第一次面试的时候我听面试官问其他人了。我不是故意的。。。 方案1:申请51

2014-03-20 18:00:23 3135

原创 修改oracle表空间

修改oracle表空间 查看表空间的位置select a.tablespace_name,b.file_name,a.block_size,a.block_size,b.bytes/1024/1024 "Sum MB" from dba_tablespaces a,dba_data_files b where a.tablespace_name=b.tablespace_name;

2014-01-02 17:40:19 504

转载 Linux下面共享库默认路径

Linux下面共享库默认路径是/usr/lib. /usr/local/lib. /lib一般的ELF格式的可执行文件可以通过readelf --d xxx。来获得共享库和程序运行时的库的路径和信息1、把我写好的动态库放到系统目录里。缺点:1a、系统目录被搞的很混乱。1b、在别人电脑上部署会很麻烦。2、指定LD_LIBRARY_PATH环境变量。缺点:不能直接启动应用程序而需要外部sh

2013-12-07 21:09:48 2913 1

转载 STL容器迭代器失效问题

众所周知当使用一个容器的insert或者erase函数通过迭代器插入或删除元素"可能"会导致迭代器失效,因此很多建议都是让我们获取insert或者erase返回的迭代器,以便用重新获取新的有效的迭代器进行正确的操作:view plaincopy to clipboardprint?iter=vec.insert(iter);   iter=vec.erase(iter);     

2013-12-06 18:26:32 444

转载 Linux性能评测工具之一:gprof篇

Linux性能评测工具之一:gprof篇这些天自己试着对项目作一些压力测试和性能优化,也对用过的测试工具作一些总结,并把相关的资料作一个汇总,以便以后信手拈来!1 简介改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的。GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof)。gprof 可以为

2013-11-16 18:45:35 457

转载 Valgrind 介绍-Valgrind 检测c++内存泄露

Valgrind 介绍Valgrind是一个GPL的软件,用于Linux(For x86, amd64 and ppc32)程序的内存调试和代码剖析。你可以在它的环境中运行你的程序来监视内存的使用情况,比如C 语言中的malloc和free或者 C++中的new和 delete。使用Valgrind的工具包,你可以自动的检测许多内存管理和线程的bug,避免花费太多的时间在bug

2013-11-15 23:22:27 438

转载 性能分析工具gprof介绍

性能分析工具gprof介绍2012-05-20 20:59:30分类: C/C++#不知道这是在哪里找的了,感谢各位~性能分析工具gprof介绍Ver:1.0目录1.    GPROF介绍    42.    使用步骤    43.    使用举例    43.1    测试环境    43.2    测试代码    43.3

2013-11-15 23:15:19 370

转载 strcpy、 strncpy 和snprintf

Strcpy、 strncpy 和snprintfstrcpy:字串复制  原型:char *strcpy(char *dest, char *src);  功能:把src所指由'\0'结束的字符串复制到dest所指的数组中。  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。  返回指向dest的指针。  注意:当src串长度>

2013-11-06 12:06:27 761

转载 Tcpdump的详细用法

1. TCPDump介绍           TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeB

2013-10-24 14:28:34 5432

转载 TCP数据包分片机制详解

TCP数据包分片机制详解IP分片 在以太网上,由于电气限制,一帧不能超过1518字节,除去以太网帧头14字节(mac地址等)和帧尾4字节校验,还剩1500字节,这个大小称为MTU(最大传输单元)。 如果你的IP包大于1500字节,IP层就会分片了。 而1492的MTU值的来源,是因为PPPoE协议。PPP协议是宽带运营商用于对用户认证计费的(TCP/IP以太网无此功能)。PPPoE头尾一共

2013-10-23 22:45:27 2174

转载 小议TCP的MSS(最大分段)以及MTU

小议TCP的MSS(最大分段)以及MTU本篇文章来源于 中国协议分析网|www.cnpaf.net 原文链接:http://www.cnpaf.net/Class/TCPANDIP/200511/9898.html[背景知识] MTU: Maxitum Transmission Unit 最大传输单元 MSS: Maxitum Segment Size 最大分段大小(偶是直译,

2013-10-23 20:57:35 1230

转载 结构体对齐

#pragma pack(n) 对齐用法详解什么是对齐,以及为什么要对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用和原因:各个硬件平台对存储空间的处理上有很大

2013-10-05 19:47:41 670

转载 一些算法记录

一些算法记录   http://wt.guolairen.com/20110517/n552112.shtml腾讯笔试题:const的含义及实现机制分析:  const的含义及实现机制,比如:const int i,是怎么做到i只可读的?  const用来说明所定义的变量是只读的。  这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的

2013-10-04 22:09:20 414

转载 const分别在C和C++语言里的含义和实现机制

const分别在C和C++语言里的含义和实现机制  const的含义       简单地说:const在c语言中表示只读的变量,而在c++语言中表示常量.C语言const是constant的缩写,是恒定不变的意思,也翻译为常量,但是很多人都认为被const修饰的值都是常量,其实这是不精确的.因为,精确来说应该是只读的变量,其值在编译的时候不能被使用,因为编译器在编译的时候不知道其存

2013-10-04 22:07:49 431

转载 linux内核空间的内存映射

linux内核空间的内存映射      逻辑地址(Logical Address) (即虚拟地址)是指由程式产生的和段相关的偏移地址部分。例如,你在进行C语言指针编程中,能读取指针变量本身值(&操作),实际上这个值就是逻辑地址,他是相对于你当前进程数据段的地址,不和绝对物理地址相干。机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(CPU中的内存管理单元)转换成

2013-08-26 22:20:37 1005

转载 Linux内存管理

Linux内存管理转自:http://www.kerneltravel.net/journal/v/mem.htm摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理

2013-08-22 23:18:20 475

转载 Linux对共享内存的实现

Linux对共享内存的实现,在2.6采用了内存映射技术。对于内存共享,主要集中在三个内核函数,他们是do_shmat,sys_shmat和sys_shmdt。其中,sys_shmat调用了do_shmat最终实现了共享内存的attach。sys_shmdt实现了共享内存的detach和destroy。下面我主要对这三个函数的源码进行分析。在分析之前,首先介绍共享内存实现原理。原理:  

2013-08-22 22:30:43 629

转载 [文件I/O]非阻塞 I/O | O_NONBLOCK

[文件I/O]非阻塞 I/O | O_NONBLOCK转自:http://www.groad.net/bbs/read.php?tid-950.html系统也可以分为:低速系统 和 其他。低速系统调用是可能会使进程永远阻塞的一类系统调用:如果数据并不存在,则读文件可能会使调用者永远阻塞( 例如读管道,终端设备,网络设备 )如果数据不能被立即接受,则写这些文件同样也会

2013-08-22 18:51:35 2096

转载 Linux sendfile

Linux sendfile       分类:            Linux2010-05-28 18:242819人阅读评论(0)收藏举报linuxsocketsignalsolarisserver服务器作者:Dragan Stancevic,2003-01-01 原文地址:http://www.linuxjournal.com/article/6345

2013-08-21 22:59:02 555

转载 [精华] 讨论 Setsockopt选项

[精华] 讨论 Setsockopt选项有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的选项了.  以下资料均从网上收集得到   getsockopt 和 setsockopt 获得套接口选项: int getsockopt ( int sockfd, int level, int optname, void * optval, s

2013-08-20 23:18:26 418

转载 I/0模型

在高性能服务器中,一般采用非阻塞网络IO,单进程事件驱动的架构。这种架构的核心是事件驱动机制。目前Linux常用select,poll和epoll系统调用来完成事件驱动。select和poll是传统的unix事件驱动机制,但它们有很大的缺点:在大量的并发连接中,如果冷连接较多,select和poll的性能会因为并发数的线性上升而成平方速度的下降,这是因为调用者在每次select和poll返回时都要

2013-08-20 23:16:29 413

转载 select,poll和epoll的区别

select,poll和epoll的区别转自:http://www.cnblogs.com/qq78292959/archive/2012/03/30/2425598.htmlselect()系统调用提供一个机制来实现同步多元I/O:#include #include #include int select (int n,fd_set *

2013-08-20 23:01:05 333

转载 交换两个数组使两个数组和的差最小(转载)

/*    有两个数组a,b,大小都为n,数组元素的值任意整形数,无序;    要求:通过交换a,b中的元素,使[数组a元素的和]与[数组b元素的和]之间的差最小。*//*    求解思路:    当前数组a和数组b的和之差为    A = sum(a) - sum(b)    a的第i个元素和b的第j个元素交换后,a和b的和之差为    A

2013-08-13 17:43:40 856

转载 快速幂

普通的求幂时间复杂度为O(n);但是可以有更好的算法,实际上循环log(2,n),n^k = n^(k1*2^0  + k2*2^1 + k3*2^3 ....) k1,k2...k(log2,n)取0,1,为k的二进制中每一个bit位展开便可得。n^(k1*2^0)  *  n^(k2*2^1) * n^(k3*2^2).......至此,一个较优的算法出现了

2013-08-13 17:41:44 442

转载 两个指针之美(笔试)

两个指针之美(笔试)转自:http://blog.163.com/linux___/blog/static/20643000520124194322107/使用两个指针可以轻松的解决许多算法问题,归纳出如下几种1、  判断链表是否带环带环链表的判断是链表中经常考察的内容。一个循环链表可以无休止地遍历下去。我们可以定义两个指针,一个快指针一个慢指针,如果在遍历到尾端前二者相遇,那么链

2013-08-13 17:05:21 437

转载 extern 作用详解

extern 作用详解转自:http://blog.csdn.net/songjinshi/article/details/6785267 extern 作用1:声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。例1:创建一个工程,里面含有A.cpp和B.cpp两个

2013-08-11 22:28:54 517

原创 条件编译的一个作用

条件编译的一个作用 条件编译的一个作用是用于处理文件之间的关系。使其在同一个文件中不被重复包含。如果文件的关系是这样:   A /     \C   D \ /  B上面的文件有关系,C中包含A,D中包含A。 B中要包括C和D,这样条件编译就可把在预处理阶段去掉重复包含文件A。 $ cattest1.h #ifndef__A__H__#defin

2013-08-11 22:27:18 1115

一款fckeditor的皮肤

一款不错的fckeditor的皮肤,分享一下,希望对大家有帮助

2009-09-05

空空如也

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

TA关注的人

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