摘要:
Linux操作系统下使用不同的命令工具可以从不同的角度查看进程状态,常用的进程查看命令如下: 1 ps命令 ps命令的作用是查看静态的进程统计信息(Processes Statistic),常见的选项如下: 1)a:显示当前终端下的所有进程信息,包括其他用户的进程。 2)u:使用以用户为主的格式输出 阅读全文
摘要:
1.new是C++关键字,需要编译器支持;malloc是库函数,需要头文件支持。 2.使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的大小。 3.new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行 阅读全文
摘要:
二叉搜索树 二叉搜索树又称二叉排序树和二叉查找树,它要么是空树,要么是具有下列性质的二叉树: 1)每个节点都有一个作为查找依据的关键码。所有节点的关键码互不相同; 2)若它的左子树不为空,则左子树上所有节点的关键码均小于根节点的关键码; 3)若它的右子树不为空,则右子树上所有节点的关键码均大于根节点 阅读全文
摘要:
Linux操作系统下要对C/C++程序进行调试,就必须在编译源文件时,使用-g参数,编译时使用的命令为(gcc -g test.c -o test)。 编译完成后,启动GDB调试工具,命名为:gdb + 要调试程序的程序名。GDB调试基本命令如下: 1 list/l 命令 可以使用list/l命令查 阅读全文
摘要:
TCP协议中有四种计时器(Timer),分别是: 1.重传计时器:Retransmission Timer 2.坚持计时器:Persistent Timer 3.保活计时器:Keeplive Timer 4.时间等待计时器:Timer_Wait Timer 1 重传计时器 RTT:发送一个数据包到收 阅读全文
摘要:
编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。 如果是有效的 IPv4 地址,返回 "IPv4" ; 如果是有效的 IPv6 地址,返回 "IPv6" ; 如果不是上述类型的 IP 地址,返回 "Neither" 。 IPv4 地址由十进制数和点来表示,每个地址包含 4 阅读全文
摘要:
Valgrind memcheck是用于构建动态分析工具的探测框架。它包括一个工具集,每个工具执行某种类型的调试、分析或类似的任务,以帮助完善你的程序。Valgrind的架构是模块化的,所以可以容易地创建新的工具而又不会扰乱现有的结构。 许多有用的工具被作为标准而提供。 1.Memcheck是一个内 阅读全文
摘要:
一般而言,我们会根据针对的协议类型和攻击方式的不同,把 DDoS 分成SYN Flood、ACK Flood、UDP Flood、NTP Flood、SSDP Flood、DNS Flood、HTTP Flood、ICMP Flood、CC等类型。 而反射型DDoS攻击则是DDoS攻击中较巧妙的一种 阅读全文
摘要:
观察者模式(Observer),又叫发布-订阅模式(Publish/Subscribe):定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都要得到通知并自动更新。 观察者模式从根本上讲必须包含两个角色:观察者和被观察对象。 被观察对象自身应该包含一个容器来存放观察者对 阅读全文
摘要:
单例模式顾名思义,保证一个类仅可以有一个实例化对象,并且提供一个可以访问它的全局接口。实现单例模式必须注意一下几点: 单例类只能由一个实例化对象。 单例类必须自己提供一个实例化对象。 单例类必须提供一个可以访问唯一实例化对象的接口。 单例模式分为懒汉和饿汉两种实现方式。 懒汉单例模式 懒汉:故名思义 阅读全文