编程技术专栏

24 篇文章
15 人订阅

全部文章

WindSun

TCP是怎么样保持可靠性的?

计算方式:在数据传输的过程中,将发送的数据段都当做一个16位的整数。将这些整数加起来。并且前面的进位不能丢弃,补在后面,最后取反,得到校验和。  发送方:在发送...

8910
WindSun

物理层(计算机网络)

物理层解决如何在连接在一起的各种不同计算机的传输数据媒介上传输二进制(如: 010101)比特流,就是以何种方式、哪种形态进行传输。

11320
WindSun

代理模式(设计模式)

代理模式,为其他对象提供了一种代理以控制对这个对象的访问。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中...

10150
WindSun

观察者模式(设计模式)

观察者模式其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。可以想象成消息中间件在系统中的作用。SpringBoot...

9300
WindSun

I/O多路复用select/poll/epoll

早期操作系统通常将进程中可创建的线程数限制在一个较低的阈值,大约几百个。因此, 操作系统会提供一些高效的方法来实现多路IO,例如Unix的select和poll...

10920
WindSun

一次完整的HTTP请求过程

a)首先会搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存)

9120
WindSun

STL 萃取(Traits)机制剖析

当有两个模板类,一个是通用泛型模板,一个是特殊类型模板,如果创建一个特殊类型的对象,会优先调用特殊的类型模板类,例如:

7420
WindSun

C++内存管理(new operator/operator new/operator delete/placement new)

我们平时使用的new是new操作符(new operator),就像sizeof一样是语言内置的,不能改变它的含义,功能也是一样的

7830
WindSun

C++的多态总结(静态&动态)

我们以前说过的函数重载就是一个简单的静态多态,静态多态是编译器在编译期间完成的,编译器会根据实参类型来选择调用合适的函数,如果有合适的函数可以调用就调,没有的话...

9830
WindSun

堆(Heap)的详细实现

一般都用数组来表示堆,i结点的父结点下标就为(i–1)/2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和...

6540
WindSun

详解C++11智能指针

C++里面的四个智能指针: auto_ptr, unique_ptr,shared_ptr, weak_ptr 其中后三个是C++11支持,并且第一个已经被C+...

8240
WindSun

线程间同步的几种方式

信号量强调的是线程(或进程)间的同步:“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_...

7900
WindSun

进程间通讯IPC的几种方式的优缺点总结

Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进...

5500
WindSun

约瑟夫斯环问题的几种经典解法

有n个人围成一圈,从1开始顺序排号。从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号?

6000
WindSun

POSIX共享内存

几种进程间的通信方式:管道,FIFO,消息队列,他们的共同特点就是通过内核来进行通信(假设POSIX消息队列也是在内核中实现的,因为POSIX标准并没有限定它的...

6410
WindSun

POSIX消息队列

消息队列是Linux IPC中很常用的一种通信方式,它通常用来在不同进程间发送特定格式的消息数据。

4510
WindSun

多态中的虚析构函数

因为,如果delete一个基类的指针时, 如果它指向的是一个子类的对象,那么析构函数不为虚就会导致无法调用子类析构函数,从而导致资源泄露。

11360
WindSun

类的成员函数(构造、析构、拷贝构造、赋值、运算符重载)的实现

9160
WindSun

C++指针和引用及区别

首先最重要的,variable的定义,当你申明一个变量的时候,计算机会将指定的一块内存空间和变量名进行绑定;这个定义很简单,但其实很抽象,例如:int x = ...

7810
WindSun

C++的四种转换(const_cast、static_cast、dynamic_cast、reinterpreter_cast)

用于动态类型转换。只能用于含有虚函数的类,必须用在多态体系种,用于类层次间的向上和向下转化。只能转指针或引用。向下转化时,如果是非法的对于指针返回NULL,对于...

17110

扫码关注云+社区

领取腾讯云代金券