笔记
文章平均质量分 70
乐十九
这个作者很懒,什么都没留下…
展开
-
ICMPv6报文解析及NAT处理
参考和ICMPv6报文是IPv6在internal control management protocol(ICMP)的基础之上做了一些改动,得到了ICMPv6协议,IPv6的为58。原创 2024-01-30 17:42:38 · 1205 阅读 · 0 评论 -
SaaS是什么,和多租户有什么关系?
SaaS的概念和多租户的关系原创 2023-02-10 17:30:28 · 1696 阅读 · 0 评论 -
数据仓库,数据湖
大数据原创 2023-02-10 10:55:47 · 1309 阅读 · 0 评论 -
十大排序和基础查找算法
堆是一种常用的树形结构,是一种特殊的完全二叉树,当且仅当满足所有节点的值总是不大于或不小于其父节点的值的完全二叉树被称之为堆。原创 2022-10-25 23:02:38 · 370 阅读 · 0 评论 -
正则表达式的学习
到现在为止,你已经知道如何去匹配一个字母或数字,但更多的情况下,可能要匹配一个单词或一组数字。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。) 是字面的字符,也就是说,他们表示该字母本身,数字也是一样的。正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。这个模式与 “&5”、“g7"及”-2" 是匹配的,但与 “12”、“66” 是不匹配的。时,它表示"非"或"排除"的意思,常常用来剔除某个字符。原创 2022-10-24 17:41:45 · 159 阅读 · 0 评论 -
力扣题目:两数相除
不不不,我们的特例已经足够多了,我们只需要在执行tb += tb之前再来一次判断即可,因为要执行tb += tb 的目的是,为了降低时间复杂度,那么只需要判断a还能否再减tb,如果可以,在执行下面的条件,如果不行就跳出,如此即可完美解决问题;算法是写完了,但是上面的算法在我验证的时候出了点儿错误,那就是当除数大于-2^31/2的时候,无疑出现这种情况,我们的结果就是1,但是算法没法直接得出判断,他还是会执行tb+=tb这一步,如果此时我们使用倍增法,那么就会产生overflow的错误。原创 2022-10-24 16:18:05 · 308 阅读 · 0 评论 -
C++知识点总结复习
宏定义在预处理阶段就完成了替换,在之后被替换的文本参加编译,相当于直接插入了代码,不存在函数调用,执行起来更快;函数调用,需要开辟栈帧,在运行需要时跳转到具体的调用函数。宏定义属于在结构中插入代码,没有返回值;函数调用具有返回值。宏定义参数没有类型,不进行类型检查;函数参数具有类型,需要检查类型;宏定义不需要在最后加分号。原创 2022-10-24 13:55:42 · 731 阅读 · 0 评论 -
K个一组链表进行翻转
我们在第一步,寻找准备翻转链表的时候,循环完毕end的值应该指向的是准备翻转链表的最后一个节点,此时我们有声明了两个节点,分别是start和next,start保存的是准备翻转链表的头结点,next指向的是end->next,也就是下一组准备翻转链表的头结点,当看到这道题的时候,不自觉的让我想起了,翻转链表的那道题目,直接使用头插法,将链表翻转;这道题也应该是同理,我们将给定链表的每一组当做一个单独的链表,然后将其翻转,最后将反转之后的链表进行连接就可以得到结果。那么,实际操作一下吧!原创 2022-10-23 19:57:19 · 943 阅读 · 1 评论 -
关于TCP/IP 协议的几个经典问题
三次握手是为了确保连接的成功,客户端和服务端都确认可以被连接然后第三次握手建立连接,如果是两次,那么建立的连接就不是百分百准确的,有可能连接失败;四次的话就有点多余了,既然三次握手已经能够准确的建立连接了,没必要再来一次,浪费时间和空间。TCP三次握手是,客户端发送SYN到服务端,服务端收到后,便回复SYN和ACK,状态由LISTEN变为SYN_RCVD,此时这个连接就被推入了SYN队列,及半连接队列。当客户端回复SCK,服务端接收后,三次握手就完成了。原创 2022-10-23 12:53:19 · 995 阅读 · 0 评论 -
C语言小结
使用完动态内存后要free,不然会发生内存泄漏,且一块空间不能释放两次,也不能释放不属于你的空间,但是可以释放一块指向NULL的指针。所有成员公用一块内存,共用体所占内存的长度时最长成员的字节长度,有效提高了内存的利用效率。函数指针最常见的两个用途:转换表和回调函数。数组指针是一个指针,只不过它指向的的是一个数组,所以当指针加一是,他跳过的是整个数组。指针数组是一个数组,只不过数组里面存放的都是指针。函数指针数组:是一个存放函数指针的数组。指针类型:不管什么指针,大小都是。malloc和calloc。原创 2022-10-18 11:25:36 · 307 阅读 · 0 评论 -
网络编程小总结
单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象。原创 2022-10-14 16:39:42 · 458 阅读 · 0 评论 -
同步、异步和阻塞、非阻塞之间的关系
同步阻塞,异步非阻塞;epoll的ET模式下必须保证文件描述符是异步非阻塞的,确保当文件描述符中无数据可读是不会一直阻塞。原创 2022-10-13 18:27:59 · 278 阅读 · 0 评论 -
两个字符串数值相加求和
*指针是不能相加的,因为相加得出的数字毫无意义,但是可以相减,如果两个指针指向一个数组,则相减的结果是两个指针之间元素的数目原创 2022-10-13 17:06:13 · 2570 阅读 · 0 评论 -
常见的http响应代码代表的意义
客户端发送的请求格式有问题等 描述为“BAD REQUEST”:服务器存在请求的内容可以返回给客户端,代号描述“OK”:请求的内容不存在于服务器,描述“NOT FOUND”:服务器收到请求后,因为自生的问题没法响应。:客户端的请求有异常,方法有问题。原创 2022-10-12 18:05:32 · 78 阅读 · 0 评论 -
MySQL数据库操作
数据库概念数据库就是存放数据的仓库,他是一个按照数据结构来存储和管理数据的计算机软件系统。MySQL数据库是一种C/S模型(即客户端和服务器模型),客户端通过用户名,密码登录连接服务器,连接成功后,才可以进行数据库操作(增删改查等)RDBMS:关系数据库管理系统(relational data base management system)SQL :结构化查询语言数据库分类关系型数据库关系模型就是指二维表格,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系型数据库的核原创 2022-03-08 12:15:21 · 921 阅读 · 4 评论 -
C语言——文件操作
这里写自定义目录标题C语言中的文件是什么文件的三要素:文件路径,文件名,后缀。预定义标准流:流的概念:通常把抽象出来的“标准逻辑设备”或者“标准文件”称作“流”。C语言操作文件分为三步:(可以联想为把大象关进冰箱的三个步骤)打开文件函数原型关闭函数fclose的原型:int fclose(FILE* strem)字符串格式化函数:int sprintf(char *str,const char*format,...)格式化写入函数:int fprintf(FILE*strem,const char*form原创 2022-03-04 23:18:17 · 369 阅读 · 0 评论 -
进程间通信
进程间的通信进程间通信的四种方式管道 、 信号量 、共享内存、消息队列一、管道: 管道分为有名管道和无名管道,有名管道:可用于任意两个进程间的通信;可以通过mkfifo命令创建,也可以通过系统调用创建#include<stdio.h>#include<sys/stat.h>int mkfifo(const char*filename,mode_t mode);无名管道:用父子进程间的通信无名管道只能通过系统调用创建:#include<unistd原创 2022-03-02 14:59:10 · 102 阅读 · 0 评论 -
函数指针<>
函数指针:(1)、函数指针指向的是函数而非对象;和其他指针一样,函数指针指向某种特定的类型;(2)、函数的类型由他的返回类型和参数类型决定,与函数名无关函数指针的声明方法:返回值类型 (*指针变量名)([形参列表])返回值类型说明的是函数的返回值类型,指针变量名中的括号不能省略,后面的形参列表表示指针变量所指向的函数所带的参数列表。例子:int func(int x);//声明一个函数int (*f)(int x);//声明一个函数指针f=func;f=&func;//以上两种原创 2022-03-02 14:46:54 · 91 阅读 · 0 评论 -
守护进程 1.0
什么是守护进程呢?如下图所示,我们打开电脑的任务管理器,就会发现有很多,我们在桌面上看不到,但是却是运行在我们的电脑上的进程,这些就是守护进程:守护进程的特点:运行时间长,不需要和用户交互,在后台执行。守护进程的编程流程:守护进程的相关概念会话:在系统中每打开一个 终端 就会打开一个会话,也不仅仅只是一个终端,我们打开QQ,微信,或者其他应用程序的窗口也属于创建了一个会话。会话首进程:打开会话的第一个进程被称为会话首进程的pid进程组:也称之为作业,BSD与1980年前后向UNIX原创 2022-03-02 14:44:22 · 413 阅读 · 0 评论 -
当出现软件安装包缺少依赖时的错误应该怎么解决
今天在学习使用在Linux操作系统下进行网络编程时,遇到了一个问题,由于进行网络编程需要知道自己的IP地址等信息,要使用如下如下命令:ifconfig但是当我输入该命令时,系统提示我没有查询到该命令,请安装net-tools试一下://请尝试执行以下命令:apt install net-tools;但是当我执行上面的命令时,界面给我显示了这么个玩意,这让我百思不得其解:执行了多次,都不能如愿安装好net-tools。就让我很恼火,于是乎经过C站的不断查询,最终查到原来是因为我当初在安装输入原创 2022-02-11 10:04:31 · 2818 阅读 · 0 评论 -
堆区与栈区的区别
堆区与栈区的区别:1、管理方式:堆区是由程序员管理;栈由系统自动管理。2、碎片问题:栈是不存在内存碎片问题的,因为栈的储存机制是‘后进先出’,当运行到某参数时,在其前面的参数都已经出站了。而频繁的申请释放操作会导致大量的内存碎片,降低程序的效率。可见堆容易造成内存碎片,由于没有专门的系统,极大地降低了程序的效率。3、生长方式:堆是由低地址向高地址扩张,地址是连续的;栈是由高地址向低地址扩张,地址是不连续的。什么是内存碎片: 内存碎片一般是由于空闲的连续空间比要申请的空间小,导致这些小内存块不能被利原创 2022-01-13 00:14:59 · 478 阅读 · 0 评论