- 博客(35)
- 收藏
- 关注
原创 TCP和UDP区别
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由
2013-10-08 15:36:35 486
原创 c++关键字
static, auto, register, extern,volatile这些关键字的区别,“externc”的意思是什么,面试官不停的追问为什么,为什么。
2013-10-08 15:23:19 647
原创 IP地址:A,B,C,D,E类地址
区分IP地址的类别只需要看“点分十进制”地址的第一部分就行了,类别划分如下:0:保留地址A类:1~126 (默认子网掩码:255.0.0.0) 127:(环回测试)保留地址 B类:128~191 (默认子网掩码:255.255.0.0)C类:192~223 (默认子网掩码:255.255.255.0)D类:224~239 (组播)保留地址E类:240~254 (搜索)保留地址25
2013-09-27 16:42:16 724
转载 操作系统堆栈的处理机制
一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放 , 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,全局变量和静态变量的
2013-09-26 23:26:08 936
原创 二叉树的前序、中序、后续查找(非递归!)
详细请见:http://blog.csdn.net/cxllyg/article/details/7520037
2013-09-17 09:57:04 485
原创 c++拷贝构造函数和赋值操作符重载
c++拷贝构造函数:class A{ A(const A& a); ....}由于拷贝构造函数中,一般不允许对原对象进行修改,因此一般在参数中使用const关键字进行限制。拷贝构造函数一般用于需要new内存等操作。如果不允许使用拷贝构造函数,可以将该函数声明为private类型的。复制操作符重载:operator=通常,operator=应该返回一个
2013-08-16 16:21:25 599
原创 百度面试总结
1、电网项目:消息通信模块,应该采用连接池来实现。可以分步骤:第一步,实现的是:每接收到一个包裹,新开一个线程去处理;改进的方案是:让一个线程一直监听端口,由另外一个线程专门处理包;进一步改进的方法:采用连接池,大幅减少TCP/IP的三次握手和四次分手!注意:一定要记住三次握手和四次分手的过程!!!2、关于multiagent,熟悉SOA与MAS的区别和联系
2013-08-08 20:38:29 535
原创 函数式编程d
http://www.ruanyifeng.com/blog/2012/04/functional_programming.html待完成
2013-06-22 10:00:46 377
原创 sizeof易错点
1、以下结果输出为:void Func(char str_arg[100]) { printf("%d\n",sizeof(str_arg)); } int main(void) { char str[]="Hello"; printf("%d\n",sizeof(str)); printf("%d\n",strlen(
2013-05-18 18:51:51 684
原创 内网(私网)IP地址范围
私网IP地址:10.0.0.0- 10.255.255.255172.16.0.0- 172.31.255.255192.168.0.0-192.168.255.255
2013-05-18 18:41:12 2695
原创 B树和hash的区别与联系
关系型数据库中,索引大多采用B/B+树来作为存储结构,而全文搜索引擎的索引则主要采用hash的存储结构,这两种数据结构有什么区别?hash结构的特点:检索效率非常高,索引的检索可以一次到位,O(1)。B树需要从根节点到枝节点,最后才能到叶节点进行多次I/O操作,所以hash的效率远远高于B树的效率。那么为什么数据库索引还是用B树结构呢?1、hash索引仅满足“=”、“I
2013-05-18 18:20:20 4719 1
原创 ping协议
在公司局域网上ping www.taobao.com没有涉及到的网络协议是:CA、ARP B、DNS C、TCP D、ICMPping的具体过程:
2013-05-17 22:20:53 1574
原创 死锁
发生死锁的四个必要条件:1、互斥条件(一个资源每次只能由一个进程独占式获得)2、等待条件(获取了一个独占资源的一个进程可以在等待获取其他资源时持有那个资源)3、不可抢占条件(一旦某进程获取了一个资源,系统就不能把它从进程的控制中移除,除非进程结束使用资源)4、循环等待条件(两个或多个进程在一个“循环链”中锁定。其中,每个进程都等待由链中的下一个进程持有的一个或多个资源)
2013-05-17 09:39:21 423
原创 线程
包括Java、C#、Visual C++.NET、Visual Basic.NET、Python等语言在内的许多通用程序设计语言都提供了可以使用的并发原语。C和C++中没有提供类似功能,因此称为单线程语言(在很多计算机平台上,通过使用专门的代码库,C和C++也可以执行多线程,但是这些库并不是这两种语言的ANSI/ISO标准版本的一部分)。 线程所拥有的资源是进程资源的子集。
2013-05-16 21:45:27 440
原创 进程
进程是一个实体。每个进程都有它自己的地址空间,一般情况下,包括文本区域、数据区域和堆栈区。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态内存分配的内存;堆栈区域存储着活动过程调用的指令和本地变量,堆栈的内容随着进程发出的嵌套过程调用而增长,随着调用过程的返回而减少。 进程的状态: 执行状态:进程正在处理器上执行,则处于执行状态。 就绪状
2013-05-16 21:25:05 540
原创 register修饰符
register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。但是,使用register修饰符有以下几点限制:1、register变量必须是能被CPU所接受的类型。这通常意味着register变量必须是一个单个的值,并且长度小于等于整型的长度。不过有些机器的寄存器也可以放浮点型。2、register变量很可能不放在内存
2013-05-16 15:10:41 826
原创 内存管理——虚拟内存
虚拟内存提供了一种假象,使进程认为它们可以使用比计算机固有的内存更多的内存。因此虚拟内存系统中有2种地址:被进程引用的地址、在主存中的地址。被进程引用的地址成为虚拟地址,在主存中的地址叫做物理地址。 当进程访问一个虚拟地址时,系统必须把它转换为真实地址。这种转换工作非常频繁,若用通用处理器来执行这样的转换,将会严重降低系统性能。因此,虚拟内存系统含有专用硬件,即内存管理单元(me
2013-05-15 21:56:38 489
原创 c++中得到当前系统int的最大值
需要#include 具体的使用是:std::numeric_limitsint>::max()由于是模板类,可以用在其他变量类型中
2013-05-13 14:59:27 1063
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人