- 博客(20)
- 收藏
- 关注
原创 Linux程序设计--socket编程的IO多路复用
linux程序设计的socket编程,IO多路复用,select函数、poll函数、epoll函数介绍。socket客户端实现,socket多进程版本服务端,socket的select多路复用版本实现,epoll多路复用版本实现。
2023-05-29 18:01:49
222
原创 Mysql的锁以及sql的加锁类型
mysql数据库记录锁、间隙锁、临界锁、意向锁、插入意向锁介绍。行锁加锁方式。select查询加锁类型、update更新加锁类型、delete删除加锁类型、insert插入加锁类型。加锁和索引的关系。有索引加锁和无索引加锁。
2023-04-03 15:51:53
506
原创 MySQL、GORM插入数据,存在则覆盖之前的数据
根据业务背景(将备份的数据覆盖当前记录),做冲突时批量更新操作。MySQL支持的批量更新操作。insert into...on duplicate key update 的 自增 ID跳跃和处理方式。插入失败自增 ID 增加问题。GORM实现的冲突时批量更新操作。
2022-10-31 11:20:04
6819
原创 Go语言Marshal序列化遇到的问题
go语言将struct Marshal()序列化成json,默认按照一定格式进行转换。可以实现Marshaler接口的MarshalJSON()方法,实现自定义序列化。反序列化实现Unmarshaler接口。
2022-09-06 15:25:22
2083
原创 go语言--反射
go语言的reflect包提供了反射相关操作。通过反射,可以获取变量运行时的实际类型的字段等信息。例如,函数参数设置成interface时,判断传入的参数是string还是int需要通过反射。使用反射代码可读性不强。...
2022-08-26 17:53:12
147
原创 操作系统(二)进程的同步、互斥和死锁
一、进程的同步与互斥临界资源:同一时间只允许一个进程使用的资源。如打印机。临界区:进程中访问临界资源的代码。进程同步:进程之间直接的制约关系。多个相互合作的进程能够相互等待,交换信息。进程互斥:进程之间间接的制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才允许访问临界资源。同步准则:空闲让进,忙则等待,有限等待,让权等待。...
2021-10-22 21:48:23
1163
原创 操作系统(一)进程与线程
一. 操作系统的四个特性并发:同一段时间内多个程序执行(注意区别并行和并发,前者是同一时刻的多个事件,后者是同一时间段内的多个事件)共享:系统中的资源可以被内存中多个并发执行的进线程共同使用虚拟:通过时分复用(如分时系统)以及空分复用(如虚拟内存)技术实现把一个物理实体虚拟为多个异步:系统中的进程是以走走停停的方式执行的,且以一种不可预知的速度推进二.进程1.进程的状态就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所有必要资源后,只要再获得CPU,便可立即执行。 执行:进程已
2021-10-19 18:45:07
118
原创 算法:表达式求值
问题:表达式求值请写一个整数计算器,支持加减乘三种运算和括号。暂时不考虑字符串存在负数。除法和乘法处理相似,排除小数,不考虑除法。输入:"(2*(3-4))*5"输出:-10思路:使用逆波兰式,后缀表达式。使用递归,把表达式分成所有项的+、-运算,把项分成因子的*、/运算,因子可以是个数、是个(表达式)加括号的表达式。这样就把定义递归回去了。比较复杂。使用双栈。下面是双栈思路。思考方向:当前运算符是否计算,要看后一个操作符是什么。 当前是加法计算,后一个运算符是乘.
2021-09-26 18:30:03
208
原创 计算机网络(三)http协议和https协议
http协议http消息结构请求消息:请求行(request line)、请求头部(header)、空行、请求数据响应消息:状态行、消息报头、空行和响应正文。header字段:通用首部、请求首部、响应首部和实体首部。请求Accept:text/html, application/xml 可处理的媒体类型 Accept-encoding: gzip, deflate 接收压缩编码方法 Accept-Language: en-US,en;zh-CN 接收语言.
2021-09-14 21:27:28
176
原创 计算机网络(二)TCP和UDP协议
一、UDP协议UDP 头部包含了以下几个数据:两个十六位的端口号,分别为源端口(可选字段)和目标端口 整个数据报文的长度 整个数据报文的检验和(IPv4 可选 字段),该字段用于发现头部信息和数据中的错误协议特点1、面向无连接2、有单播,多播,广播的功能UDP 支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。3、UDP是面向报文的发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层
2021-09-12 21:25:33
592
原创 计算机网络(一)体系结构概况
osi七层协议物理层 数据链路层--MAC地址 网络层--IP协议 传输层--端口 会话层 表示层 应用层1、物理层通过物理设备连接计算机传输0、1比特位。2、数据链路层确定0、1比特位分组方式,多少个电信号为一组。以太网协议是代表。以太网规定,一组电信号构成一个数据包,叫做”帧”(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。“标头”包含数据包的一些说明项,比如发送者、接受者、数据类型等等;”数据”则是数据包的具体内容。“标头”的长度,
2021-09-11 19:08:17
163
原创 go语言排序查找sort包使用
go语言排序查找sort包使用sort包自带基本类型排序函数 arr := []int{7,3,5,9,12} sort.Ints(arr) //从小到大 sort.Sort(sort.Reverse(sort.IntSlice(arr))) //从大到小 arr2 := []float64{7,3,5,9,12} sort.Float64s(arr2) sort.Sort(sort.Reverse(sort.Float64Slice(arr2))) arr3 := []string{"
2021-09-08 19:38:09
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人