自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xaiojiang的专栏

飞吧,羽翼见风就长!

  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

转载 div常用属性

一、属性列表 复制代码代码如下:color : #999999 文字颜色 font-family : 宋体 文字字型 font-size : 10pt 文字大小 font-style:itelic 文字斜体育 font-variant:small-caps 小字体 letter-spacing : 1pt 文字间距 line-height :

2016-11-22 16:34:42 1124

转载 ubuntu安装JDK1.8

网上已经有很多博客将如何安装jdk,但是大部分都是对于jdk 1.6或1.7的,现在jdk已经是1.8.0版本了,之前的很多方法也都失效了,我尝试了各种方法,最终实现了jdk1.8.0的安装,1.获取jdk的包http://www.Oracle.com/technetwork/Java/javase/downloads/index.html然后选择相应的版本下载,因为是

2016-11-07 11:52:40 382

转载 linux查找命令find使用方法

查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print  如果需要更进一步的了解,可以参看Linux的命令详解。这里摘抄如下: ·find path -option [ -print ] [ -exec -ok command ] {} /;#-print 将查找到的文件

2016-11-04 16:30:50 708

原创 C语言日志模块zlog

zlog简述:log是一个高性能、线程安全、灵活、概念清晰的纯C日志函数库。事实上,在C的世界里面没有特别好的日志函数库(就像JAVA里面的的log4j,或者C++的log4cxx)。C程序员都喜欢用自己的轮子。printf就是个挺好的轮子,但没办法通过配置改变日志的格式或者输出文件。syslog是个系统级别的轮子,不过速度慢,而且功能比较单调。log4c异常坑爹(有内存泄漏、效率

2016-09-26 09:17:54 2108

转载 进程的常用调度算法

一、先来先服务和短作业(进程)优先调度算法1.先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的

2016-09-20 21:29:49 445

转载 一致性哈希

一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。     一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1

2016-08-27 16:09:38 407

转载 AC自动机-多模式匹配算法

AC自动机       算法目的:       AC自动机主要用于解决多模式串的匹配问题,是字典树(trie树)的变种,一种伪树形结构(主体是树形的,但是由于加入了失败指针,使得它变成了一个有向图);trie图(我的理解^_^)是对AC自动机的一种改造,使得图中每个结点都有MAXC条出边(MAXC表示该图的字符集合大小), trie图上的每个结点代表一个状态,并且和AC自动机的结点是一一对

2016-08-24 12:05:15 4704 1

原创 随机抽样-蓄水池算法

问题定义可以简化如下:在不知道文件总行数的情况下,如何从文件中随机的抽取一行?首先想到的是我们做过类似的题目吗?当然,在知道文件行数的情况下,我们可以很容易的用C运行库的rand函数随机的获得一个行数,从而随机的取出一行,但是,当前的情况是不知道行数,这样如何求呢?我们需要一个概念来帮助我们做出猜想,来使得对每一行取出的概率相等,也即随机。这个概念即蓄水池抽样(Reservoir Samp

2016-08-24 10:43:45 344

原创 笔试记录

【1】出处:网易有道已知队列的操作方式如下:1.取出队列第一个元素(同时从队列头部删除),放到队列尾部2.取出队列第一个元素(同时从队列头部删除),输出此元素,执行1,直到队列空。队列里存的数为1~n,n为队列元素个数。已知此操作过程要求可以将原始队列的输出序列为1、2、3、...、n.现给出队列元素个数n(>=1),输出满足要求的原始的队列(元素用空格隔开)。输入T(数据组数

2016-08-17 22:02:52 508

原创 面试记录

【1】不用乘法和除法操作符(*、/),实现两个整数的相除思路:转换为减法操作,简单举例5/2,找到2的小于5的最大倍数4=2*2,5-4=1;1int myDiv_2(unsigned int a,unsigned int b){ unsigned int x,y; int ans=0; while(a=b){ x=b; y=1;

2016-07-29 15:53:27 335

原创 字符串匹配算法之KMP

KMP 算法说起字符串查找,大家肯定能理解朴素的查法,就是以 S 每个字符为开头与 W 比较。O(m*n)这种方法是基于回溯,但是这种回溯每次出现不匹配就要重头比较,没能很好的利用不匹配点之前已经进行的匹配比较,有很多回溯点可以直接判断是不可能匹配成功的,因此KMP变基于对子串的提前分析,在子串的位置j出现不匹配时,直接获得子串后移长度,减少了不必要的回溯,其效率可达到性O(m+n

2016-07-15 21:26:59 319

原创 BK树

1.BK树http://blog.jobbole.com/78811/2.基数估计http://blog.jobbole.com/78255/3.喷泉码http://blog.jobbole.com/78841/4.同型哈希http://blog.jobbole.com/80159/5.Levenshtein自动机http://blog.jobb

2016-07-11 16:30:49 2895

原创 模板类的使用注意事项

组织模板代码有三种方式1.包含模型(常规写法 将实现写在头文件中)2.显式实例化(实现写在cpp文件中,使用template class语法进行显式实例化)3.分离模型(使用C++ export关键字声明导出)第三种方式理论最优,但是实际从C++标准提出之后主流编译器没有支持过,并且在最新的C++11标准中已经废除此特性,export关键字保留待用。头文件定义:

2016-07-06 20:45:37 2471

原创 模板类中的友元函数使用注意

#include "templateTest.h"template void Point::setX(T a){this->x=a;}template void Point::setY(T a) {this->y=a;}template T Point::getX(){return this->x;}template T Point::getY(){return this->y;}te

2016-06-22 22:49:18 618

转载 linux网路设备驱动开发

本文介绍基于Realtek 8139芯片PCI接口的网卡驱动程序。我选择了Realtek芯片有两个原因:首先,Realtek提供免费的芯片技术手册; 第二,芯片相当便宜。本文介绍的驱动程序是最基本的,它只有发送和接收数据包功能,和做一些简单的统计。对于一个全面和专业级的驱动程序,请参阅Linux源码。本文代码是基于Linux2.4.18上测试的,建议编译一个内核,此内核没有任何形式

2016-06-22 11:18:33 1230

转载 进程间通信之共享内存

一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影

2016-06-13 10:45:54 374

转载 多进程通信之消息队列

一、什么是消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。  每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。Linux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长度。

2016-06-13 10:08:22 3456

转载 进程间通信命名管道

匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解决不相关进程间的通信问题。一、什么是命名管道命名管道也被称为FIFO文件,它是一种特殊类型的文件,它在文件系统中以文件名的形式存在,但是它的行为却和之前所讲的没有名字的管

2016-06-08 16:14:32 309

原创 进程间通信匿名管道

pipe则是一个底层的调用。与popen函数不同的是,它在两个进程之间传递数据不需要启动一个shell来解释请求命令,同时它还提供对读写数据的更多的控制。pipe函数的原型如下:[cpp] view plain copy print?#include   int pipe(int file_descriptor[2])

2016-06-08 16:06:15 331

转载 gdb调试多进程和多线程程序

1. 默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。      follow-fork-mode  detach-on-fork   说明parent         

2016-06-07 21:36:14 441

原创 union联合体使用注意事项

union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union{int a;long long b;unsigned char c[20];} myUnion;关于union占用的的内存大小:1)大小足够容纳最宽的成

2016-06-04 17:00:56 3887

转载 linux网络协议栈内核分析

1. Linux 网络路径1.1 发送端1.1.1 应用层(1) Socket应用层的各种网络应用程序基本上都是通过 Linux Socket 编程接口来和内核空间的网络协议栈通信的。Linux Socket 是从 BSD Socket 发展而来的,它是 Linux 操作系统的重要组成部分之一,它是网络应用程序的基础。从层次上来说,它位于应用层,是操作系统为应用程序

2016-06-04 15:21:49 20543 1

原创 GDI

常用GDI绘图函数 函   数                                           说   明CreateBrushIndirect           在一个LOGBRUSH数据结构的基础上创建一个刷子CreateDIBPatternBrush      用一幅与设备无关的位图创建一个刷子,以便指定刷子样式(图案)Cre

2016-03-09 11:33:26 1043

转载 C++中堆、栈数据区别

C++用new来创建对象和非new来创建对象的区别我们都知道C++中有三种创建对象的方法,如下:#include using namespace std;class A{private: int n;public: A(int m):n(m) { } ~A(){}};int main(){ A a(

2015-10-02 16:11:39 1952

转载 fd_set的使用

select()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作:       fd_set set;      FD_ZERO(&set);       /* 将set清零使集合中不含任何fd*/

2015-10-02 14:11:57 516

转载 django数据库表结构自动迁移

django south 使用教程(1)一、下载与安装south安装包下载地址:https://bitbucket.org/andrewgodwin/south/south文档:http://south.readthedocs.org/en/latest/二、south简介Django 的第三方 app South 就是专门做数据库表结构自动迁移工作,J

2015-09-05 15:41:25 2905

转载 QT socket编程

网络编程,OSI(开放式系统互联参考模型)七层参考模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。    套接字(Socket)是网络通信的基本构建模块,又分为流式套接字(Stream Socket)和数据报套接字(Datagram Socket)两种类型的套接字。    TCP:传送控制协议(Transmission Control Protocol),这是一种提供给用

2014-11-07 21:44:39 5059

转载 K—NN的学习和实践

什么是KNN算法呢?顾名思义,就是K-Nearest neighbors Algorithms的简称。我们可能都知道最近邻算法,它就是KNN算法在k=1时的特例,也就是寻找最近的邻居。我们从名字可以知道我们要寻找邻居,但是为什么要寻找邻居,如何选取邻居,选取多少邻居,怎么样去寻找我们想要的邻居,以及如何利用邻居来解决分类问题这是KNN算法需要解决的几大问题,好了闲话不多说,进入正题。 

2014-11-03 22:07:04 973

转载 linux使用tc进行流量控制

Linux下利用TC工具控制网络流量(图)  一、相关概念   由此可以看出, 报文分组从输入网卡(入口)接收进来,经过路由的查找, 以确定是发给本机的,还是需要转发的。如果是发给本机的,就直接向上递交给上层的协议,比如TCP,如果是转发的, 则会从输出网卡(出口)发出。网络流量的控制通常发生在输出网卡处。虽然在路由器的入口处也可以进行流量控制,Linux也具有相关的功能,

2014-10-23 11:25:23 2581

原创 Linux chmod的使用

修改linux文件权限命令:chmodLinux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。  文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于

2014-09-15 21:59:12 406

转载 KMP算法分析

没碰算法久了大脑生锈得好快,看着 KMP 居然大脑一片空白,死活想不出当初怎么求 next 数组。google 一下,急躁地参考了一堆博客后终于想起来了。为了避免以后忘了又要浪费时间搜一遍,不如自己总结一篇吧!希望我的表述能帮更多人理解这个巧(qi)妙(pa)的算法。本文的完整源码(JavaScript)以及图片的 PSD 源文件都在[这里],有需要跟踪更新的可以 star,也可以 for

2014-09-14 21:52:56 374

原创 csdn code 提交项目

配置本地客户端了,确认你在CSDN id,获取的方式是在登录后,进入passport.csdn.net,在“个人帐号”的最下端查看用户名:然后在命令行中输入:git config --global user.name "CSDN id"配置邮箱配置的Git邮箱应与CSDN passport中注册邮箱一致,系统判断用户名是依靠邮箱信息:git config

2014-09-11 16:20:40 1422

转载 Linux cat命令的使用

Linux Cat命令主要有三大功能:1.Linux Cat命令一次显示整个文件。$ cat  filename2.Linux Cat命令从键盘创建一个文件。$ cat > filename只能创建新文件,不能编辑已有文件.3.Linux Cat命令将几个文件合并为一个文件。$cat  file1   file2 >file参数:-n 或 --number

2014-08-06 11:21:16 562

原创 jsvm编码SVC视频

我位置上的电脑有相关的yuv序列,可以直接在我的电脑上跑,jsvm安装在J盘。步骤1:转换得到yuv视频序列 ffmpeg.exe -i input.mp4-f rawvideo out.yuvinput.mp4:输入视频(路径要写全)out.yuv:输出视频(路径要写全) ffmpeg工具见文件夹。  所有路径都要写全! 步骤二:转换得到所需的分辨

2014-08-01 11:30:45 3163 2

原创 Linux 防止多重定义

在Linux下写代码,自己写makefile,结果编译时出现重定义wen

2014-08-01 11:16:49 3030

转载 VLC框架

VLC架构剖析1. VideoLan简介1.1 videolan组成Videolan有以下两部分组成:VLC:一个最主要的部分,它可以播放各种类型的媒体文件和流媒体文件,并且可以创造媒体流并保存成各种格式的媒体文件,这些文件的质量要比没保存前的件好。videolan作为客户端可以播放本地文件,httP://,rtsp://。VLS:是一种流服务器,专门用来解决流的各种问题,它也

2014-07-07 10:11:06 829

车辆车牌图像识别

基于opencv,开发工具VS10,用于识别车辆的车牌号,准确性高,识别速度快。

2012-08-03

空空如也

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

TA关注的人

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