qq18457852
qq18457852
全部文章
分类
c++(55)
Linux内核与操作系统(12)
linux系统编程与网络编程(31)
代码随笔(4)
分布式系统与中间件(1)
服务器架构设计(2)
深度学习(6)
网络与数据库(7)
设计模式(2)
题解(1)
归档
标签
去牛客网
登录
/
注册
qq18457852的博客
全部文章
(共121篇)
负载均衡
开头先理解一下所谓的“均衡”不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务器都不要过载,并且能够最大程序地发挥作用。一、http重定向当http代理(比如...
2019-12-19
0
477
HTTP长连接与短连接
HTTP长连接、短连接究竟是什么?1. HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据包,使得网络上...
2019-12-19
0
502
c++ 前向声明
一、使用场景 假设有两个类A和B,类A要将类B的对象(或者指针)作为自己的成员使用,并且类B将类A的对象(或者指针)作为自己可以访问的数据,那么这个时候要在a.h中include b.h,同时在b.h 中要include a.h,但是相互包含是不可以的,这个时候就要用到类的前向声明了。 ...
2019-12-19
0
1404
进程饥饿与死锁
1.饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。 2.死锁是指在多道程序系统中,一组进程中的每一个进程都无限期等待被该组进程中的另一个进...
2019-12-19
0
1111
设计模式之对象组合与继承
1.什么是继承 A继承B,说明A是B的一种,并且B的所有行为对A都有意义 eg:A=WOMAN B=HUMAN A=鸵鸟 B=鸟 (不行),因为鸟会飞,但是鸵鸟不会。 2.什么是组合 若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。 例如眼(Ey...
2019-12-19
0
522
c++ volatile关键字
volatile关键字确保本条指令不会因编译器的优化而省略,且要求每次直接读值。 精确地说就是,编译器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1)并行设备的硬件寄存器(如:状态寄存器) 2)一个中断服务...
2019-12-19
0
1165
cpu,寄存器,控制器,运算器
关于CPU 寄存器 CPU除了有控制器、运算器还有寄存器。其中寄存器的作用就是进行数据的临时存储。 CPU的运算速度是非常快的,为了性能CPU在内部开辟一小块临时存储区域,并在进行运算时先将数据从内存复制到这一小块临时存储区域中,运算时就在这一小块临时存储区域内进行。我们称这一小块临时存...
2019-12-19
0
1346
c++ 防止类被派生,不用final如何实现
c++中没有提供类似Java的final classes那样的禁止派生的机制(c++11有final,防止类被继承) 为了避免产生虚函数表,如果类不是基类的话,析构函数就不需要声明为虚函数。 但是,我们不能预料用户的行为,你不敢肯定用户是否会从你的类去派生自己的类。如果用户以一个基类指针...
2019-12-19
0
1245
c++静态成员函数的作用
静态成员函数主要为了调用方便,不需要生成对象就能调用。 比如: class X { public: void MethodA(); static void MethodB(); } 此时MethodB可以直接调用,X::MethodB(); MethodA必须先生成类对象...
2019-12-19
0
577
c++静态成员函数与静态数据成员
对象与对象之间的成员变量是相互独立的。要想共用数据,则需要使用静态成员和静态方法。 只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变量。(因为静态成员变量在对象创建之前就已经被分配了内存空间) 静态成员变量虽然在类中,但它并不是随对象的...
2019-12-19
1
721
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页