自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 linux文件操作

理解文件描述符1.1 文件描述符的概念文件描述符是个很小的正整数,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。例如,每个进程启动时都会打开3个文件:标准输入、标准输出和标准错误文件。这3个文件分别对应于文件描述符0、1和2。提示:应该使用中定义的3个宏来代替数字0、1或2:STDIN_FILENO、STDOU_FILENO和STDERR_FILENO,因为你的程

2014-12-23 20:48:49 403

转载 浅谈HTTP中Get与Post的区别

http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.htmlHttp定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增

2014-12-08 15:30:00 276

转载 抢占式内核与非抢占式内核

UNIX采用抢占式内核,Linux采用非抢占式内核内核抢占(可抢占式内核):即当进程位于内核空间时,有一个更高优先级的任务出现时,如果当前内核允许抢占,则可以将当前任务挂起,执行优先级更高的进程。非抢占式内核:高优先级的进程不能中止正在内核中运行的低优先级的进程而抢占CPU运行。进程一旦处于核心态(例如用户进程执行系统调用),则除非进程自愿放弃CPU,否则该进程将一直运行下去,直至

2014-11-28 15:21:57 431

转载 GDT、GDTR、LDT、LDT

个人对GDT、GDTR、LDT、LDTR的理解(转)GDT是全局描述附表,主要存放操作系统和各任务公用的描述符,如公用的数据和代码段描述符、各任务的TSS描述符和LDT描述符。(TSS是任务状态段,存放各个任务私有运行状态信息描述符)LDT是局部描述符表,主要存放各个任务的私有描述符,如本任务的代码段描述符和数据段描述符等。GDTR是一个长度为48bit的寄存器,内容为一个32位的基地

2014-11-28 15:09:59 332

转载 中断和函数调用的区别

中断:1)何时发生可能是不可预料的;CPU正在处理某件事情的时候,外部发生的某一事件(如一个电平的变化,一个脉冲沿的发生或定时器计数溢出等)请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件以后,再回到原来被中止的地方继续原来的工作2)对于可剥夺型内核,完成中断调度后,不是立刻返回原来的执行点执行,而是回到就绪态优先级最高的任务开始运行。3)

2014-11-26 11:13:28 1919 1

转载 HTTP请求头和响应头

HTTP请求头概述 (HttpServletRequest)HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST或者HEAD)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-Length必须出现。 下面是一些最常见的请HTTP请求头概述 (H

2014-11-20 15:33:19 294

转载 mysql数据字典

1、显示数据库列表mysql>show databases;说明:其中字典库是:information_schema,其中常用字典表:INFORMATION_SCHEMA.SCHEMATA  --数据库中所有数据库信息INFORMATION_SCHEMA.TABLES  --存放数据库中所有数据库表信息INFORMATION_SCHEMA.COLUMNS  --所有数据库表的列

2014-11-19 10:22:49 830

转载 【MySQL】查看MySQL配置文件路径及相关配置

(1)关于配置文件路径有时候,我发现虽然尝试修改了配置文件的一些变量,但是并没有生效。后来才发现原来是因为修改的文件并非MySQL服务器读取的配置文件。如果不清楚MySQL当前使用的配置文件路径,可以尝试这样查看:从上图可以看出, 服务器首先会读取/etc/my.cnf文件,如果发现该文件不存在,再依次尝试从后面的几个路径进行读取。(2)关于配置

2014-11-13 10:11:56 479

转载 什么是ER图?

实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。 通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。    ER模型最早由Peter Chen于1976年提出,它在数据库设计领

2014-10-20 08:54:48 2352

转载 静态和动态链接

即使是最简单的HelloWorld的程序,它也要依赖于别人已经写好的成熟的软件库,这就是引出了一个问题,我们写的代码怎么和别人写的库集成在一起,也就是链接所要解决的问题。首先看HelloWorld这个例子:[cpp] view plaincopy// main.c    1 #include     2    3 int main(int arg

2014-10-10 21:35:43 232

原创 拷贝构造函数

构造函数、析构函数和拷贝构造函数我们知道,当我们没有定义构造函数、析构函数和拷贝构造函数时,编译器会帮我们生成一个三个默认的函数,一旦我们定义了构造函数或析构函数或拷贝构造函数时,系统便不再生成,这三类函数不能继承。         构造函数,我们知道构造函数是定义对象的时候调用的,在构造函数里我们一般是进行内存分配和成员初始化,构造函数名字与类名相同同时没有显示的返回值类型,它有隐含的返

2014-10-10 14:45:51 309

原创 C/C++命名控制

为何要有命名控制         在C语言中并没有命名空间这一个说法,因为C语言中是放在类似于全局命名空间的,遇到有命名冲突时,文件里面可以用static内连接来解决文件之间的命名冲突例如可以在文件a.h中定义static int a;,但是使用全局命名这样的话其他文件想使用这个a命名就无法使用,因此C++为了更好的解决这个命名冲突问题提出了命名空间的技术。命名控制的使用       

2014-10-06 19:43:39 344

转载 虚函数表的实现细节

1.虚函数·虚表是怎么实现的?虚表存放在哪里?·虚表中的数据是在什么时候确定的?·对象中的虚表指针又在什么时候赋值的?我们很难通过 C++语言本身来找到答案。 C++标准给编译器实现者定义了语法规范,但是被并没有定义如何实现这些语法规范,不同的编译器实现者可能有不同的实现方法,可以肯定的是他们的编译器必须符合这些语法规范。汇编语言作为最接近机器语言的计算机语言,可以为我们揭示一

2014-10-06 14:04:18 318

转载 【Linux入门学习之】vi/vim编辑器必知必会

一、我们为什么要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。(2)很多软件的编辑接口都会主动调用vi。(3)vim具有程序编

2014-10-06 13:10:59 252

转载 程序员如何快速准备面试中的算法

程序员如何快速准备面试中的算法http://blog.csdn.net/v_july_v/article/details/19131887前言    我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示:       但因字数限制,许多问题无法一次性说清楚,故特撰此文着重阐述下:程序员如何快速

2014-09-29 16:37:06 287

原创 已经解决的算法

1)最大字段和2)快速排序的递归算法3)合并

2014-09-29 15:52:40 307

原创 C++的内联函数

为何要用inline内联函数         在C语言中,用define宏定义来消除函数调用带来的开销,例如define f(x)  (x+1),但是define的使用是非常不安全的,define没有对类型进行检测,只是在预处理阶段由预处理器简单的进行字符串替换,这样很容易导致错误的出现,例如define f(x)       ((++x)>5&&(++x)         C++完全兼容

2014-09-29 11:39:21 379

原创 合并排序的非递归算法

#include#include#includeusing namespace std;/**/void merge(int *a,int leftOne,int rightOne,int leftTwo,int rightTwo){    int n=rightTwo-leftOne+1; //要动态申请的数组大小    int *b=(int *)mal

2014-09-29 10:46:37 385

原创 最大字段和

#include#include#includeusing namespace std;/*    */void  maxSubArray(int *a,int n){    int max=0,sum=0;    int i=0,j=0;    while(i    {        if(a[i]>0)        {     

2014-09-29 09:04:11 263

转载 Redis和Memcache的区别分析

http://blog.csdn.net/xd43100678/article/details/270694271. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。3. Redis支持数据的备份,即master-sla

2014-09-28 09:30:31 328

原创 面经读后小结

今天是2014年9月26日,来到实验室已经三个月了,几乎还是没有做什么事情,本来是很排斥做网站前端开发的,不过对于当下LAMP架构的流行,还是打算安心在实验室把这个搞搞,把这个架构搞明白,在课余时间还是希望剩下一些时间来进行看书,a)        面试所问重点是数据结构(严蔚敏版本的数据结构),要对里面的一些基本操作非常熟练,能熟练的编写各种程序,链表,栈,队列,树的递归和非递归算法,AVL

2014-09-26 20:53:51 277

转载 进程与线程的区别联系

本文主要由http://289972458.iteye.com/blog/1325189整理而来一。什么是进程       进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。       线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。      系统资源:线程自己基本

2014-09-26 20:28:22 220

转载 什么是僵尸进程?

在UNIX/Linux系统中,通过fork创建子进程。子进程结束时,他的父进程并没有等待(调用wait/waitpid)他,则他成为一个僵尸进程。但如果该进程的父进程已经结束了,那么该进程就不会变成僵尸进程,因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话就交由PID为1的init进程来接管他,init成为这个进程的父进程。父

2014-09-26 20:09:05 441

转载 IT名企面试:腾讯笔试题

腾讯是国内数一数二的IT企业了。那么每年想要进入腾讯公司的应聘者也是络绎不绝。那么一个好的笔试答卷绝对是脱颖而出的亮点。现在就来看看腾讯笔试题都有哪些内容吧。腾讯笔试题:const的含义及实现机制const的含义及实现机制,比如:const int i,是怎么做到i只可读的?const用来说明所定义的变量是只读的。这些在编译期间完成,编译器可能使用常数直接替换掉对此

2014-09-26 19:50:47 545

原创 C++面试腾讯后台

1)tcp三次握手的过程,accept发生在三次握手哪个阶段?2)Tcp流, udp的数据报,之间有什么区别,为什么TCP要叫做数据流?3)const的含义及实现机制,比如:const int i,是怎么做到i只可读的?4) valitale的含义。5)OFFSETOF(s, m)的宏定义,s是结构类型,m是s的成员,求m在s中的偏移量。

2014-09-26 19:35:28 841

转载 C++ sizeof的使用总结

1.     定义sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。其返回值类型为size_t。(size_t在头文件stddef.h中定义,它依赖于编译系统的值,一般定义为 typedef unsigned int size_t;)2.     语法sizeof有三种语法形式:1) sizeof (object); //sizeof

2014-09-25 09:00:23 387

转载 linux(centos)搭建SVN服务器

安装步骤如下:1、yum install subversion2、输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件。输入 svn --help可以查看svn的使用方法,如下图。3、创建svn版本库目录mkdir -p /var/svn/svnrepos

2014-09-24 17:46:10 381

原创 Linux下*.tar.gz文件解压缩命令

1.压缩命令:  命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名      可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令:  命令格式:tar  -zxvf   压缩文件名.tar.gz  解压缩后的文件只能放在当前的目录。

2014-09-23 17:13:46 323

转载 几种排序以及其时间复杂度

常用的排序算法的时间复杂度和空间复杂度排序法 最差时间分析平均时间复杂度 稳定度 空间复杂度 冒泡排序O(n2)O(n2)稳定 O(1) 快速排序O(n2)O(n*log2n)不稳定 O(log2n)~O(n)选择排序O(n2)O(n2)稳定

2014-09-23 16:31:09 830

转载 算法复杂度分析

1、算法的时间性能分析(1)算法耗费的时间和语句频度   一个算法所耗费的时间=算法中每条语句的执行时间之和每条语句的执行时间=语句的执行次数(即频度(Frequency Count))×语句执行一次所需时间    算法转换为程序后,每条语句执行一次所需的时间取决于机器的指令性能、速度以及编译所产生的代码质量等难以确定的因素。    若要独立于机器的软、硬件系统来分析算法的时间

2014-09-23 08:39:47 243

原创 TSP问题

定义:旅行商问题,即TSP问题(Travelling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。

2014-09-23 08:25:17 482

转载 硬链接和软连接的区别

linux硬链接和软链接的区别    简而言之,软链接相当于windows中的快捷方式,硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响到另一处的数据.下面是详细的介绍:     硬连接指向的是节点(inode),是已存在文件的另一个名字,修改其中一个,与其连接的文件同时被修

2014-09-22 11:14:39 374

转载 c++多态实现的机制

1 什么是多态?多态性可以简单的概括为“1个接口,多种方法”,在程序运行的过程中才决定调用的机制程序实现上是这样,通过父类指针调用子类的函数,可以让父类指针有多种形态。2 实现机制举一个例子:#include class animal{public:void sleep(){cout}void breathe(){cout}};

2014-09-21 15:23:40 403

原创 C/C++面试经验

(一)     C语言篇C语言求职血泪史华为(实习):机试、一面、性格测试被鄙视、优招被鄙视、普招被鄙视锐捷:笔试、面试莫名其妙被鄙视创新工场:笔试、一面、二面、offer阿里巴巴:笔试被鄙视cvte:网测、面试没去大众点评:网测悲剧IGT:笔试、一面、二面、offer烽火众智:霸笔、等两个小时面五分钟、offer直接拒酷派:笔试、一面、二面莫名其妙被鄙视

2014-09-20 09:36:58 2231 2

转载 UML类图总结

前言类图和序列图是UML中最常用的两种Diagram。我将做详细的总结。在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系。这足以说明类图的重要性。对类图的基本认识有以下两点:类图是以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法;类图中的类与面向对象语言中的类的概念

2014-09-18 15:16:56 451

转载 C和C++中的位域

转载文章来自:http://www.cnblogs.com/my_life/articles/2293397.html位域成员不能单独被取sizeof值(编译报错),我们这里要讨论的是含有位域的结构体的sizeof,只是考虑到其特殊性而将其专门列了出来。C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,允许其它类型类型的存在。

2014-09-16 17:36:24 322

转载 C++面试题 -00

文章转载自:http://blog.csdn.net/wfwd/article/details/763494#comments============================================================================================1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtu

2014-09-16 16:13:45 230

转载 01-C++中重载、重写(也称覆盖)、隐藏

JAVA中语言中方法(函数)调用有两种特殊的形态:重载与重写;而C++由于增加了virtual这个虚函数关键字,给函数调用又增加了变数:除了重载、重写(也称覆盖)之外还多了隐藏这么一说。我相信我们绝大多数人写代码时,为了程序的可读性与赶速度的原则,下意识的避开这些类似于脑筋急转弯的语法,尽量使用不同的函数名来区分基类与派生类的函数(当然,不能避开的时候也是非常多的)。可是有时候,有些面试主考官总喜

2014-09-16 14:49:43 265

转载 linux运行级别的查看与修改

Linux运行级别从0~6,共7个。  0:关机。不能将系统缺省运行级别设置为0,否则无法启动。  1:单用户模式,只允许root用户对系统进行维护。  2:多用户模式,但不能使用NFS(相当于Windows下的网上邻居)  3:字符界面的多用户模式。  4:未定义。  5:图形界面的多用户模式。  6:重启。不能将系统缺省运行级别设置为0,否则会一直重启。  查看

2014-09-15 14:39:06 329

转载 /etc/init.d和/etc/rc.d/init.d的关系

这两个其实是同一个东西,/etc/init.d是/etc/rc.d/init.d的软链接。并且这个东西只有在fedora下面有,ubuntu下面没有/etc/rc.d/这个目录,只有/etc/init.d,openSUSE下面有/etc/rc.d,直接链接的/etc/init.d。并且有时候可以看到rc0.d/这样的目录,查看这些目录里的文件,ls -l,发现都是软链接。要想搞明白这里面的

2014-09-15 14:25:33 490

windows发包工具

集成 TCP服务器/客户端; UDP服务器/客户端; UDP广播/组播 功能 ★ 支持多Socket并行测试, 采用树状Socket可视化界面,所有Socket句柄一目了然 ★ 在一个程序内可进行多句柄/多类型的Socket的创建/删除/以及数据收发等操作 ★ 支持16进制的发送和16进制接收显示,支持汉字以及文本发送 ★ 用户可以方便的把接收到的数据保存下来 ★ 支持发送、接收字节数统计 注:可以定时发送,自动间隔时间发送

2014-07-25

二叉树全解

关于二叉树的一些书上经典代码,忘新手可以看看,请老手跳过

2011-11-13

空空如也

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

TA关注的人

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