- 博客(36)
- 资源 (1)
- 收藏
- 关注
转载 八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,
2016-03-07 14:57:57
270
转载 索引的十一种功能
索引是个既稳定又开放的信息结构,它有十一种功能。1 分解功能把文献中的资料单元(如篇名、机构、短语、概念、物名、地名、书名、人名、字词、符号等)一一分解,这就是索引的分解功能。它是索引工作的起跑线和索引编纂的基础,没有对文献内容的这种分解功能,就没有索引。过去有些反对索引的人说,索引是把古人的著书“凌迟碎割”。他们对索引法的反对,实出于对流传已久的那种落后的皓首穷经的陋习
2016-03-01 09:39:58
653
转载 数据库索引的作用和优点缺点
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索引
2016-03-01 09:27:04
335
转载 MySQL的表分区详解
这篇文章主要介绍了MySQL的表分区,例如什么是表分区、为什么要对表进行分区、表分区的4种类型详解等,需要的朋友可以参考下一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。二、为什么要对表进行分区
2015-09-29 20:00:41
426
转载 Socket之shutdown()用法
通常来说,socket是双向的,即数据是双向通信的。但有些时候,你会想在socket上实现单向的socket,即数据往一个方向传输。单向的socket便称为半开放Socket。要实现半开放式,需要用到shutdown()函数。一般来说,半开放socket适用于以下场合:(1)当你想要确保所有写好的数据已经发送成功时。如果在发送数据的过程中,网络意外断开或者出现异
2015-09-08 16:53:51
2051
转载 亿级Web系统搭建——单机到分布式集群
摘要:随着数据暴增,单服务器开始疲于应对海量用户的访问。自本期《问底》,徐汉彬将带大家开启异地跨集群分布式系统打造,本次关注的重点则是架构从单机到分布式集群的转变。【导读】徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设。
2014-11-08 20:41:44
316
转载 TF-IDF及其算法
概念 TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引擎应用,作
2014-11-03 21:32:52
296
转载 live555-计划任务(TaskScheduler)深入探讨
计划任务(TaskScheduler)深入探讨我们且把三种任务命名为:socket handler,event handler,delay task。这三种任务的特点是,前两个加入执行队列后会一直存在,而delay task在执行完一次后会立即弃掉。socket handler保存在队列BasicTaskScheduler0::HandlerSet* fHandlers中;ev
2014-09-24 22:38:00
807
转载 live555-消息循环
消息循环看服端的主体:live555MediaServer.cpp中的main()函数,可见其创建一个RTSPServer类实例后,即进入一个函数env->taskScheduler().doEventLoop()中,看名字很明显是一个消息循坏,执行到里面后不停地转圈,生名不息,转圈不止。那么在这个人生的圈圈中如何实现RTSP服务和RTP传输呢?别想那么远了,还是先看这个圈圈中实现了什么功能吧
2014-09-24 22:23:48
514
转载 live555-基础类
基础类讲几个重要的基础类:BasicUsageEnvironment和UsageEnvironment中的类都是用于整个系统的基础功能类.比如UsageEnvironment代表了整个系统运行的环境,它提供了错误记录和错误报告的功能,无论哪一个类要输出错误,就需要保存UsageEnvironment的指针.而TaskScheduler则提供了任务调度功能.整个程序的运行发动机就是它,它调度
2014-09-24 22:22:17
372
转载 linux pipe
简介:本文主要介绍了管道(pipe)的基本概念和用途;分析了环形缓冲区的存储、访问及其实现方法;分析并发访问可能引发的问题,并给出解决方法;分析了linux2.6.29内核中pipe的读写函数。1、管道(pipe)管道是进程间通信的主要手段之一。一个管道实际上就是个只存在于内存中的文件,对这个文件的操作要通过两个已经打开文件进行,它们分别代表管道的两端。管道是一种特殊的文件,它不属
2014-09-03 16:50:38
474
转载 C++编译器符号表有哪些内容?
很早就想写一篇关于符号表的学习小结,可是迟迟不能下笔。其一是因为符号表在编译器的设计中占有举足轻重的地位【我们在学习编译原理的时候更多的是注重principles,而没有关心一个编译器的实现,所以符号表讲解的也比较少】,编译阶段的每“遍”都会和符号表打交道,本人只做过一个Mini C的编译器的前端部分,感觉功底不够;其二是因为我想在原来C语言的基础上,增加C++语言符号表的一些知识,对于C++的符
2014-08-20 16:22:26
763
转载 static作用
C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令; 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。 3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。 4)栈——增长方向:自顶向下增长;自动变量以
2014-08-20 16:19:03
263
转载 Linux makfile
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会
2014-08-20 15:49:13
451
转载 TLD跟踪算法介绍
TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题。同时,通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目
2014-08-07 15:09:38
598
转载 光流法简单介绍
光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类:(1)基于区域或者基于特征的匹配方
2014-08-07 13:33:43
641
转载 搭建Ubuntu下c/c++编译环境
出于工作原因,需要把项目移植的Linux下。于是便在搭建过程中,留下了这么一个纪录,以方便以后的查询。由于很多操作过程都来自于网络,搭建时没有特意加以纪录,故文中一些出处省略,对原作者表示感谢。1. 安装Ubuntu。2. 安装gcc 方法一: sudoapt-get install
2014-08-06 13:11:22
470
转载 POCO C++库学习和分析 -- 线程 (三)
POCO C++库学习和分析 -- 线程 (三)4. 定时器定时器作为线程的扩展,也是编程时经常会被用到的元素。在程序设计上,定时器的作用是很简单。预定某个定时器,即希望在未来的某个时刻,程序能够得到时间到达的触发信号。编程时,一般对定时器使用有下面一些关注点:1. 定时器的精度。Poco中的定时器精度并不是很高,具体精度依赖于实现的平台(Windows or Linu
2014-08-06 12:56:26
886
转载 POCO C++库学习和分析 -- 线程 (二)
POCO C++库学习和分析 -- 线程 (二)3. 线程池3.1线程池的基本概念 首先我们来明确线程池的一些概念。 什么是线程池?线程池的好处? 池的英文名:POOL,可以被理解成一个容器。线程池就是放置线程对象的容器。我们知道线程的频繁创建、销毁,是需要耗费一点的系统资源的,如果能够预先创建一系列空线程
2014-08-06 12:46:01
779
转载 POCO C++库学习和分析 -- 线程 (一)
POCO C++库学习和分析 -- 线程 (一) 线程是程序设计中用的非常多的技术,在UI设计,网络通讯设计中广泛使用。在POCO库中,线程模块可以分成6个部分去理解。锁(Lock),线程(Thread),主动对象(ActiveObject),线程池(ThreadPool), 定时器(Timer)。下面对它们分别介绍。 1. 数据保护-锁
2014-08-06 12:39:15
2134
转载 POCO C++库学习和分析 -- Foundation库结构
POCO C++库学习和分析 -- Foundation库结构Foundation库是POCO库集中的一个,提供了编程时的一些常用抽象。在程序中被分成了18个部分,分别是:1)Core这部分除了建立跨平台库的基础头文件外,最有意义的部分是分装了原子计数的基本类(AtomicCounter),以及垃圾收集的一些类,如AutoPtr,SharedPtr。2
2014-08-05 19:36:09
1236
转载 POCO C++库学习和分析 -- 跨平台库的生成
POCO C++库学习和分析 -- 跨平台库的生成 这一节主要讲一下,如何在window上生成一个类似于POCO动态库,以及POCO跨平台头文件的结构。 POCO C++ Basic Edition版本,工程由四部分联合而成,分别是Foundation,Net,Util,Xml。 其中每个部分都是跨平台结构,VC下编译采
2014-08-05 19:03:45
1512
转载 linux下vi命令大全
linux下vi命令大全进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename
2014-07-31 14:03:31
206
转载 POCO C++库学习和分析 -- Foundation库SharedLibrary模块分析
POCO C++库学习和分析 -- Foundation库SharedLibrary模块分析 对于一个不熟悉的开源库和模块,我觉的最好的学习方法莫过于: 1. 使用库,看库实现了什么功能和接口; 2. 抛开库,想一想,自己如何实现。可以想出的出来是最好的,想不出其实也没什么关系,至少有了疑问。
2014-07-31 13:09:04
1665
转载 POCO C++库学习和分析 -- 内存管理 (三)
POCO C++库学习和分析 -- 内存管理 (三) 看完Poco库中的智能指针,基本上Poco中的内存管理已经快结束了。其他的部分都是些边边角角的东西,非常的简单。下面一一介绍。4. AutoReleasePool AutoReleasePool类的出现也同样是为了解决用户动态分配对象的释放问题,但同智能指针AutoPtr和SharedPt
2014-07-29 16:38:26
689
转载 POCO C++库学习和分析 -- 内存管理 (二)
POCO C++库学习和分析 -- 内存管理 (二)3. SharedPtr SharedPtr是Poco库中基于引用计数实现的另外一种智能指针。同AutoPtr相比,Poco::SharedPtr主要用于为没有实现引用计数功能的类(换句话说,也就是该类本身不是引用计数对象)提供引用计数服务,实现动态地址的自动回收。 可以这么说,Poco
2014-07-29 16:13:45
555
转载 POCO C++库学习和分析 -- 内存管理 (一)
POCO C++库学习和分析 -- 内存管理 (一) 对于内存的管理,Poco C++库中主要包含了引用计数,智能指针,内存池等几个部分。下面将分别对这几个部分进行介绍。首先回顾一下,对于内存的管理,出现过的几种技术。C时代的内存池,主要解决内存碎片,和内存的频繁获取和释放的开销问题。到了C++时代,内存池仍然存在,但是出现了面对对象分配的内存池,解决问题还是一样。C++中智
2014-07-29 15:47:34
970
转载 mutable
深入理解C++中的mutable关键字 mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会
2014-07-29 13:35:30
414
转载 U-Boot(合集)
U-Boot的常用命令详解U-Boot 还提供了更加详细的命令帮助,通过 help 命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把 U-Boot 命令的用法弄清楚。接下来,根据每一条命令的帮助信息, U-Boot还提供了更加详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来
2014-07-29 13:10:06
305
转载 socket select函数的详细讲解
原型int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,const struct timeval* timeout);nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。 writefds:(可选)指针,指向一组
2014-03-10 10:21:56
483
转载 网络编程之 Socket函数 (一)
1. 概述 在网络协议中,分层思想是非常重要的,各层协议分工明确,各干各事。在现实世界中,IP网际层的实现分布在路由器和各种PC终端中,TCP传输层的实现则存在于PC终端。换句话说,路由器只实现IP协议,而终端PC的操作系统同时实现了IP和TCP层协议。为了让开发者实现各种应用程序,不同的操作系统都会提供了一组socket函数,供开发者使用。通过socket函数,开发者能
2014-03-08 16:16:41
655
转载 网络编程之 Socket的模式(四) --- “Window网络I/O模型” 续
1. Windows下的异步I/O 在接下来讨论"Overlapped I/O 事件通知模型"、"Overlapped I/O 完成例程模型"、"IOCP模型"之前,先来看一下Windows的Overlapped I/O,它实际上对应于"网络编程之 Socket的模式(二) --- Linux网络I/O模型"里的异步I/O(asynchronous I/O或者no
2014-03-03 23:06:32
1160
转载 网络编程之 Socket的模式(三) --- “Window网络I/O模型”
1. Window下网络I/O模型 Window系统提供了另外一些网络模型,除了兼容Linux上的阻塞式I/O模型、非阻塞式I/O模型、I/O复用模型(只兼容select)外,还包括了WSAAsyncSelect模型、WSAEventSelect模型、Overlapped I/O 事件通知模型、Overlapped I/O 完成例程模型、IOCP模型。对于与Linux类似的网络
2014-03-03 23:04:01
569
转载 网络编程之 Socket的模式(二) --- “Linux网络I/O模型”
1. Linux下网络I/O模型 对于Linux系统,Richard Stevens在中提到了5种网络I/O模型(下面的图也来自于这本书),分别是: 1. 阻塞式I/O模型 2. 非阻塞I/O模型 3. I/O复用模型 4. 信号驱动I/O模型 5. 异步I/O模型
2014-03-03 23:02:09
488
转载 网络编程之 Socket函数 (二)
1. 概述 在《网络编程之 socket函数 (一)》 中所讲到的所有socket函数并不涉及设置socket属性,而只是定义了客户端和服务器端的socket流程。服务器端和客户端的使用流程如下: 客户端: socket()->connect()->send()/recv()->close()
2014-03-03 23:00:22
717
转载 网络编程之 Socket的模式(一) --- “阻塞/非阻塞” 与 “同步/异步”
1. 阻塞/非阻塞 对于网络编程而言,Socket模式是开发者必须明确的一个问题。对于Socket的操作,可以分为阻塞模式和非阻塞模式两种。在两种不同模式下,同一个Socket函数的表现可能完全不同,所以必须引起开发者的注意。 在解释阻塞(blocking)和非阻塞(non-blocking)之前,先看另外一对相对的词语,"同步"(synchronous)
2014-03-03 22:58:51
980
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人