5 长着胡萝卜须的栗子

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2w+

Linux下Mysql常用命令总结

很久没有写博客啦,大概有一年了,还记得以前找工作前疯狂的总结,后期慢慢的有些懈怠,最近总结了一下自己的问题,觉得博客这个方式是一个很好的学习方式,还是不能丢掉,所以今天又开始写博客啦,如果是师妹师弟看到我的这篇文章,也希望对你们有些帮助。   写这篇文章的初衷是我发现在工作中,总是与mysql打交道,并且即使是同一条命令,随便加个选项其实会变得更加实用方便,本篇文章我会采用持续更新的方式去写,所

2017-07-19 18:52:03

socket编程选项——setsockopt和getsockopt

头文件:#include <sys/types.h> #include <sys/socket.h> setsockopt函数原型: int setsockopt(int sockfd, int level, int optname, const void* optival, socklen_t optlen); 功能:  用于任意类型、任意状态套接口的设置选项值. 参数: sockf

2016-09-17 15:33:34

服务器编程——gethostbyname函数

使用这个函数,首先要包含2个头文件:#include <netdb.h>#include <sys/socket.h>struct hostent *gethostbyname(const char *name);  这个函数的传入值是域名或者主机名,例如”www.google.com”,”wpc”等等。   传出值,是一个hostent的结构(如下)。   如果函数调用失败,将返回NULL。

2016-09-17 15:09:10

boost库智能指针,循环引用,定置删除器详解

智能指针用于指向存放在堆,即动态分配对象指针的类,用于对指针所指向的对象生存期的控制,防止内存泄露。   boost库中的智能指针定义在namespace boost中,包括:   shared_ptr   weak_ptr   scoped_ptr   shared_arr   scoped_arrauto_ptr  auto_ ptr是在std库中的,不在boost库中,但是auto

2016-09-16 00:16:35

计算机网络

HTTPGet和Post答:get和post都是http协议中与服务器交互的方法。   url地址用于描述一个网络上的资源,而get,post,put,delete等方法就对应着这个资源的查,改,增,删四个操作。   Get方法一般用于获取/查询资源信息。   Post一般用于更新资源信息。   二者区别为:   1.Get提交的数据会放在URL后,以问号?分隔URL和传输数据,参数以&相

2016-08-31 01:17:01

C/C++

C与C++的区别答:C是结构化语言,重点在于算法和数据结构。   C++是面向对象的语言。首先要考虑的是如何构造一个对象模型,让这个模型能够配合对应的问题。   最大的区别在于,解决问题的思想方法不一样。const与define答:define只是用来做文本替换,他的生命周期止于编译器,存在于程序的代码段,在实际程序中只是一个常数,一个命令的参数,没有实际的存在。   const常量存在于程序

2016-08-31 00:34:50

select,poll,epoll优缺点及比较

在之前我已经分析了这三个函数,请看我之前的文章: IO多路复用之select函数详解 IO多路复用之poll函数详解 IO多路复用之epoll函数详解   这篇文章只总结优缺点,以便面试时回答。select优点1)select()的可移植性更好,在某些Unix系统上不支持poll() 2)select() 对于超时值提供了更好的精度:微秒,而poll是毫秒。select缺点1) 单个进程

2016-08-17 01:51:11

IO多路复用之epoll函数详解

epoll   在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。   相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。   相对于select和poll来说,epoll更加灵活,没有描述符

2016-08-17 01:34:07

IO多路复用之poll函数详解

poll  poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。   poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文件描述符是否就绪,它的开销随着文件描述符数量的增加而线性增大。poll函数  函数格式如下所示:

2016-08-17 01:05:01

IO多路复用之select函数详解

IO复用  我们首先来看看服务器编程的模型,客户端发来的请求服务端会产生一个进程来对其进行服务,每当来一个客户请求就产生一个进程来服务,然而进程不可能无限制的产生,因此为了解决大量客户端访问的问题,引入了IO复用技术。   即:一个进程可以同时对多个客户请求进行服务。  也就是说IO复用的“介质”是进程(准确的说复用的是select和poll,因为进程也是靠调用select和poll来实

2016-08-17 00:48:14

Linux下的进程3——进程创建,文件替换,进程程序替换

进程标识  每个进程都有一个非负整型标识唯一的进程ID。因为进程ID标识符总是唯一的,常将其用作其他标识符的一部分以保证其唯一性。   虽然是唯一的,但是进程ID是可复用的,当一个进程终止后,其进程ID就称为复用的候选者,大多数UNIX系统实现延迟复用算法,使得赋予新建进程的ID不同于最近终止进程所使用的ID,这防止了将新进程误认为是使用同一ID的某一个已终止的进程。   系统中有一些专用进程。

2016-08-16 01:12:07

Linux下的进程2——进程的内存映像,进程PCB,task_struct详解

进程的内存映像  Linux下C程序生成主要由四个步骤组成: 预编译编译汇编链接  编译器gcc经过预编译,编译,汇编三个步骤将源程序文件转换成目标文件。   如果程序有多个目标文件或程序中使用了库函数,则编译器还需要将所有目标文件及所需的库文件链接起来,最后生成可执行程序。   当程序执行时,操作系统可将可执行程序复制到内存中.   程序转为进程通常需要以下步骤:内核将程序读入内存

2016-08-15 16:57:59

Linux下的进程1——进程概念,进程切换,上下文切换,虚拟地址空间

进程概述  当一个可执行程序在现代系统上运行时,操作系统会提供一种假象——好像系统上只有这个程序在运行,看上去只有这个程序在使用处理器,主存和IO设备。   处理器看上去就像在不间断的一条接一条的执行程序中的指令,即改程序的代码和数据是系统存储器中唯一的对象。这些假象是通过进程的概念来实现的。   进程是操作系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程都好像在

2016-08-14 20:01:24

C++泛型编程2——类模板,容器适配器,仿函数

模板编译  当编译器遇到一个模板定义时,它并不生成代码。只有当我们实例化出模板的一个特定版本时,编译器才会生成代码。当我们使用模板时,比编译器才生成代码。  这一特性影响了我们如何组织代码以及错误何时被检测到。   通常,当我们调用一个函数时,编译器只需要掌握函数的声明。   类似的,当我们使用一个类类型的对象时,类定义必须是可用的,但成员函数的定义不必已经出现。   因此我们将类定义和函数声

2016-08-13 22:46:06

数据结构

ps:这部分请一定关注时间复杂度的计算和算法的优化,因为在面试中都会要求计算时间复杂度和不断优化你写的算法1.线性表1. 顺序表和链表的优缺点,它们分别在什么场景下使用? 2. 求一个单链表中节点个数 3. 删除一个无头单链表的非尾节点 4. 在无头单链表的一个节点前插入一个节点 5. 单链表实现约瑟夫环 6. 逆置单链表 7. 单链表排序 8

2016-08-13 19:53:52

C++基础

基本语法1. 什么时候使用引用作为函数参数?2. 什么时候使用引用做函数返回值?3. 使用引用做函数返回值要注意些什么问题?4. 什么时候使用常引用?5. 引用和指针的区别和联系?6. const定义常量和#define 定义宏的优缺点?7. C++中使用哪些技术可以替代宏?为什么建议使用使用这些技术去替代宏?8. malloc/free和new/delete的区别和联系?9. 在

2016-08-13 19:50:42

C++泛型编程1——函数模板实例化,模板参数,重载及特化

在C++中我们都知道引入了函数重载,那么在实际应用过程中:   如果我们想要实现一个加法函数,我们可以写出很简单的代码:   int ADD(int a,int b){  return a+b;}  上面的函数很简单,但是仔细想一下,这样就实现了加法操作嘛?当我们的实参类型为double,float时,又怎么处理加法呢?   我们可以多定义几个函数   double ADD(doubl

2016-08-13 02:09:37

【面试】C++继承问题集锦

继承的概念答:继承是面向对象的三大特性之一,继承是指一个对象直接使用另一对象的属性和方法。   继承可以使子类具有父类的各种属性和方法。   继承的主要目的是实现代码的重用。派生类与基类的转换答:派生类总是可以转换为基类的引用类型。基类转换为派生类要在确认安全的条件下,使用强制转换来进行。有哪几种继承方式答: 继承的方式分为公有继承public,保护继承protected和私有继承priv

2016-08-12 00:33:30

【面试】C++多态问题集锦

1.什么是多态答:多态是面向对象的重要特性之一,它是一种行为的封装,是同一种事物所表现出的多种形态,简单地说是”一个接口多种实现“2.多态的作用答:多态技术允许将父类设置成和他的一个或更多的子对象相等。3.多态的分类答:有两种类型的多态性:编译时的多态性。编译时的多态性是通过重载来实现的。运行时的多态性。运行时的多态性是通过虚成员实现的。4.在C++中如何实现多态答:多态有动态多态,静态多态,

2016-08-11 23:55:25

【项目】MFC下TCP/IP的套接字编程中CSocket,CSocketfile与CArchive类

CSocket类与CAsyncSocket类CAsyncSocket类编程模型  在一个MFC应用程序中,要想轻松处理多个网 络协议,而又不牺牲灵活性时,可以考虑使用CAsyncSocket类,它的效率比CSocket 类要高。CSocket类编程模型  使用CSocket对象涉及CArchive和CSocketFile 类对象。  以下介绍的针对字节流型套接字的操作步骤中,只有第3步对于客户方和服

2016-08-11 21:04:18

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。