- 博客(22)
- 收藏
- 关注
原创 TongLinkQ发布订阅学习
举个例子:发布者(Publisher):新闻机构,发布最新新闻。主题(Topic):新闻专栏,某一个类型的新闻。订阅者(Subscriber):读者,订阅最新的新闻。
2025-03-27 17:09:52
553
原创 Tonglinkq初步概念学习
TLQ是面向分布式应用的消息中间件,主要功能是在应用程序间进行实时、高效和可靠的传递消息,使得消息在不同的网络协议、不同的计算机系统和不同的应用软件间进行网络传输。
2025-03-24 11:57:03
802
原创 数据库事务
隔离性指数据库允许多个并发的事务同时对数据进行读写或修改,即使出现了SQL语句交叉操作数据的情况,也不会导致数据不一致。事务的隔离性定义了一个事务与其他事务的隔离程度。事务的特征:对一组SQL语句操作构成的事务,数据库系统必须保证这些操作的原子性、一致性、隔离性和持久性。不可重复读:前后多次读取,数据内容不一致。幻读:前后多次读取,数据总量不一致。脏读:读取未提交的数据。
2024-09-25 20:24:57
164
原创 ARP协议
192.168.1.1这个IP对子网内的所有机器广播说:谁知道192.168.1.108的Mac地址。然后只有192.168.1.108会回应他。IP地址:该IP地址是网络层通过路由选择得到的相邻设备的IP地址。每台机器都会保存一个arp缓存表,记录相邻设备的IP地址和MAC地址的对应关系。ARP协议是介于网络层和数据链路层之间的协议,教材认为ARP是网络层协议。缓存表的老化时间是20min,过了老化时间就会重新更新缓存表。1、作用通过IP地址获取MAC地址。MAC地址:相邻设备的MAC地址。
2024-09-24 17:34:51
206
原创 数据链路层
如果不清楚相邻设备的MAC地址:1、先获取相邻设备的MAC地址(ARP协议),然后通过以太网协议转发数据。数据链路层:提供点对点的数据传输服务,负责相邻设备之间的传输以太网协议,交换机。2、经过路由选择,数据链路层也知道了当前数据要去往相邻的哪个设备。如果清楚相邻设备的MAC地址:1、通过以太网协议转发数据。1、已经拿到了网络层给的数据,这个数据满足MTU的要求。
2024-09-24 17:22:26
196
原创 网络层相关
目的Ip先和非网关的路由项中的Genmask按位与,如果结果和Destination项相同,则是往该条路由转发,非网关都对比不上,则与网关对比,向上级转发设备进行转发。C类:网段多,每个网段内的IP少,192.0.0.0~223.255.255.255,每个网段2^8个IP地址(前24位是网段,后8位是主机号)A类:网段少,每个网段内的IP地址多,0.0.0.0~127.255.255.255,每个网段有2^24个IP(前8位网段,后24位是主机号)子网页码用于划分更小子网。
2024-09-24 17:04:25
369
原创 网络部分常见问题
UDP协议具有无连接、不可靠、面向数据报的特点,而TCP是面相连接、可靠传输、面向字节流的。三次握手的目的是为了确认双方的接收和发送能力是否正常,第一次握手验证了客户端的发送和服务端的接收正常,第二次握手验证了服务端的发送正常,但站在服务端的角度看并不确定客户端是否收到了SYN+ACK报文,因此并不能确认客户端的接收是否正常。,此时B以为是A发送的新的请求连接,于是发出确认字符,如果没有三次握手,该连接建立,但是A并没有发出请求连接,所以B就会一直等待A发送确认字符,这样B等了很久,白白浪费B的资源。
2024-08-02 09:26:18
870
原创 Linux系统编程常见问题
程序执行的结果出现二义性行为,例如多个线程对同一个变量进行加或减操作,可能会发生一个线程从内存中读取变量值到寄存器时,线程被切换,另一个线程被调度执行从内存中拿到相同的变量值进行操作。当之后前者线程被调度时,直接从寄存器中拿值操作并将结果写回内存。就会出现变量分别被两个线程操作了一次减一,而结果只减了一次1的现象。
2024-08-01 22:40:01
887
原创 KMP算法笔记
求next数组的过程,相当于用整体的匹配规则(自己用自己的next数组)匹配前缀和后缀。上面代码的回退j=next[j-1]和整体匹配的时候 j 回到对应的next数组的位置操作一样。一次循环需要和前后缀不同的情况,考虑前后缀相同的情况(得到next数组的值)i代表后缀末尾,j代表前缀末尾和j++是最大回文串的长度。kmp算法:(还是没理解太懂,但是差不多)i从1开始一直循环size()-1次。
2024-07-30 18:33:16
230
原创 六大排序算法(4):快速排序
快速排序是对冒泡排序算法的一种改进。以一个数为基准,将数组分为两个子序列,左子序列放比基准数小的数,右子序列放比基准数大的数,然后再将子序列以上述方式操作,直到整个数组有序。
2024-07-23 22:50:26
350
原创 六大排序算法(3):冒泡排序
从左到右,相邻元素进行比较,第一轮比较之后所有数中最大的数浮到最右边;第二轮比较后,所有数中第二大的数浮到倒数第二个位置;依次循环,最后实现从小到大的排序。
2024-07-22 22:44:34
205
原创 六大排序算法(2):希尔排序
希尔排序是对的优化。上次总结了插入排序的性能,在被排序对象逆序有序或接近逆序时插入排序的效率最低,时间复杂度为;在被排序对象顺序有序或解决顺序时效率最高,时间复杂度为。那是否有办法将数组变成接近有序后再用插入排序,希尔找到了这个方法,并命名为希尔排序。
2024-07-22 22:08:19
392
原创 项目框架(2):Socket通讯的服务端类
成功返回一个有效的socket,失败返回-1,errno被设置单个进程创建的socket数量受系统参数open files的限制。(ulimit -a查看)PF_INET为面向连接的socket:1)数据不会丢失;2)数据的顺序不会错乱;3)双向通道。SOCK_DGRAM为无连接的socket:1)数据可能会丢失;2)数据的顺序可能会错乱;3)传输的效率更高。protocol(最终使用的协议):在IPv4网络协议家族中,数据传输方式为的协议只有,数据传输方式为SOCK_DGRAM。
2024-07-05 11:38:59
1045
原创 项目框架(1):进程的心跳
进程的心跳用来辅助守护模块对项目的各个进程是否正常运行进行判断,当进程的心跳间隔大于阈值时,认定程序异常,守护模块终止程序并由调度模块重新启动。保障了项目运行的稳定性。
2024-07-04 10:30:43
219
原创 学习记录:中序线索二叉树
char data;int ltag;//左指针是否为线索化指针标志位,1为线索化,0为非线索化int rtag;//左指针是否为线索化指针标志位,1为线索化,0为非线索化。
2024-05-09 18:05:14
416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1