自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 TCP与UDP的区别

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的传输层协议。它确保数据包按顺序且无误地传送到接收方。

2025-11-23 09:34:19 904

原创 go-context创建及使用详细概括

Context(上下文)是Go语言中一个非常重要的概念,它主要用于在多个goroutine之间传递。Context在Go 1.7版本中被正式引入标准库,现已成为处理并发控制和请求作用域数据的标准方式。Context的核心思想是提供一种统一的方式来管理goroutine的生命周期,特别是在处理传递截止时间和取消信号的场景中。

2025-11-15 19:39:53 694

原创 链表算法---基本算法操作(go语言版)

首先:假设慢结点走了b步,则快结点走了2b步,设环长为c,快结点比慢结点在相遇时在环中走了多走了k圈,则2b-b=kc。方法二:用快,慢结点。快结点走两个结点,慢结点走一个,如果是环形链表肯定会相遇,如果不是在快结点走到尾返回。,若存在相交节点,两指针会在同一节点相遇(即交点)。最后:慢结点在走a步就能到达入环点(初始位置),并且头结点到达入环点的位置也是a。其次:设从头结点到入环点的长度为a,则b-a就是慢结点在环中走的路程=kc-a。在力扣环形链表Ⅱ中,判断是否有环形链表,及找到入环点。

2025-11-09 16:34:42 1054

原创 将go-tcp项目部署到docker容器下运行

在本机终端运行以下命令,将本地项目传输至虚拟机指定目录:-rusernameyour_vm_ip。

2025-11-02 17:01:27 805

原创 go-stream(一些常用命令介绍,以及在go-tcp中使用)

在 Go 中使用 go-redis 时,XAck()用于确认一条或多条消息已被消费,是消费组模式下的关键操作。基本用法示例if err!= nil {fmt.Printf("确认了 %d 条消息\n", ackCount)参数说明"mystream":目标流名称。"mygroup":消费组名称。:消息 ID(支持传递多个 ID)。返回值ackCount表示成功确认的消息数量。

2025-10-26 17:19:23 803

原创 Redis位域详细介绍

特性 描述本质 对字符串类型的扩展操作,将其视为整数位段数组。核心价值 紧凑存储、原子操作、灵活的类型定义。关键命令 BITFIELD,包含 GET, SET, INCRBY 子命令。原子性 一个 BITFIELD 命令中的所有子操作是原子执行的。溢出控制 WRAP(默认), SAT, FAIL,为 INCRBY 操作提供保护。

2025-10-18 11:22:43 748

原创 关系型数据库与非关系型数据库

成熟稳定: 技术非常成熟,有强大的社区和企业支持。数据完整性: ACID事务保证了数据的强一致性和可靠性。标准化: SQL是通用语言,学习和迁移成本低。复杂查询: 强大的JOIN和复杂查询能力,适合做数据分析。关系型数据库像是一个严谨的图书馆管理员,一切都按规矩办事,确保每一本书都准确无误地放在正确的位置。而非关系型数据库则像一个灵活的仓库管理员,他可以用各种方式快速堆放和取出货物,以应对巨大的物流压力。没有最好的数据库,只有最合适的数据库。

2025-10-12 17:31:45 799 1

原创 mysql常见错误问题

备份表数据: mysqldump -u username -p dbname old_table > old_table_dump.sql 这将导出名为 old_table 的表的结构和数据到一个名为 old_table_dump.sql 的 SQL 文件。还原到新的数据库: mysql -u username -p new_dbname < old_table_dump.sql 这将在新的数据库(new_dbname)中创建一个名为 old_table 的表,并将之前导出的结构和数据导入到新表中。

2025-10-04 11:38:52 661

原创 MySQL索引基础详细介绍

/在创建表中定义唯一索引,主键索引,单值索引,复合索引age int,primary key(id), //主键索引unique index `ind_name` (name) //或者unique 索引名(字段名) 唯一索引key 索引名(字段名), //单值索引key 索引名(字段名1,字段名2) //复合索引 );

2025-09-27 11:37:29 938 1

原创 MySQL查询详细介绍

select 100;select 'jonw';select 100%98;select VERSION();select id,name as 名字 from stu;select id 编号,name 名字 from stu;注:变名尽量加双引号,或者单引号。select distinct id from stu; //一次只能去重一个字段只有充当运算符的功能select '123'+90 ; 结果为213select 'jos'+90; 结果为90select null +90; 结果为null注:

2025-09-22 21:26:56 685

原创 MySQL三范式详细解析

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。即在满足第一范式的基础上,还要满足数据表里的每一条数据记录,都是可唯一标识的,而且所有非主键字段,都必须完全依赖主键,不能只依赖主键的一部分。问题:在上述该表中主键为姓名与部门名称组合的复合主键,而部分地址与姓名没有关系,只与部门名称存在关联,即部分依赖。改进:1.创建一个职位表,其中含有职位编号作为主键,职位名称,最低月薪,最高月薪。

2025-09-19 21:01:23 808

原创 Linux,docker知识补充

首先。创建一个test.txt 文件,在里面写如创建信息,格式如下:字段说明:username:用户名password:加密后的密码(可以用 openssl passwd -6 "密码" 生成)UID:用户ID(可选,留空则自动分配)GID:组ID(可选,留空则自动分配)User Full Name:用户全名(可选)/home/username:家目录/bin/bash:默认 shell(可选)然后,newusers test.txt。

2025-08-12 17:29:18 822

原创 Docker大全

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。原理:Docker镜像是由特殊的文件系统叠加而成最底端是bootfs,并使用宿主机的bootfs(内核)

2025-08-09 16:06:15 727 6

原创 go-Context

Go1.7加入了一个新的标准库context,它定义了Context类型,专门用来简化 对于处理单个请求的多个 goroutine 之间与请求域的数据、取消信号、截止时间等相关操作,这些操作可能涉及多个 API 调用。对服务器传入的请求应该创建上下文,而对服务器的传出调用应该接受上下文。它们之间的函数调用链必须传递上下文,或者可以使用WithCancel、WithDeadline、WithTimeout或WithValue创建的派生上下文。当一个上下文被取消时,它派生的所有上下文也被取消。

2025-07-29 10:30:48 467

原创 Go 并发(协程,通道,锁,协程控制)

互斥锁是完全互斥的,但是实际上有很多场景是读多写少的,当我们并发的去读取一个资源而不涉及资源修改的时候是没有必要加互斥锁的,这种场景下使用读写锁是更好的一种选择。M:线程想运行任务就得获取 P,从 P 的本地队列获取 G,当 P 的本地队列为空时,M 也会尝试从全局队列或其他 P 的本地队列获取 G。无缓存通道:只要通道的容量大于零,那么该通道就属于有缓冲的通道,通道的容量表示通道中最大能存放的元素数量。P 的本地队列:同全局队列类似,存放的也是等待运行的G,存的数量有限,不超过256个。

2025-07-22 16:33:17 1155 2

原创 MongoDB简介

索引支持在 MongoDB 中高效地执行查询.如果没有索引, MongoDB 必须执行全集合扫描, 即扫描集合中的每个文档, 以选择与查询语句 匹配的文档.这种扫描全集合的查询效率是非常低的, 特别在处理大量的数据时, 查询可以要花费几十秒甚至几分钟, 这对网站的性能是非常致命的.如果查询存在适当的索引, MongoDB 可以使用该索引限制必须检查的文档数.

2024-11-01 21:30:15 1570

原创 事务,AOP

事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所以的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。Aspect Oriented Programming(面向切面编程,面向方面编程),其实就是面向特定方法编程。

2024-10-25 16:00:46 703

原创 Java会话技术,拦截器,过滤器,登录校验

定义了一种简洁的,自包含的格式,用于在通信双方以json数据格式安全的传输信息,由于数字签名的存在,这些信息是可靠的。

2024-10-18 15:53:48 712

原创 springboot项目有关注解

这些方法通常是相似的,而且比较繁琐。通过上述的配置,我们就可以在设置 gender 字段时,通过 GenderEnum 枚举类给定 Male或者Female,最后写入数据库表时,实际是写入的 code 的值,注意我们声明的 1 -> Male,0 -> Female,所以在数据库表中,gender 实际填入的值是 0/1。框架中定义的一个描述数据层接口的注解,注解往往起到的都是一个描述性作用,用于告诉sprigng框架此接口的实现类由Mybatis负责创建,并将其实现类对象存储到spring容器中。

2024-10-10 17:35:33 710

原创 Maven

Maven通过一个中央仓库来管理项目的依赖关系,并提供了一套标准的项目结构和构建生命周期。项目对象模型(POM):POM是Maven项目的核心文件,它描述了项目的基本信息、依赖关系、构建配置等。生命周期:Maven定义了一套标准的构建生命周期,包括清理、编译、测试、打包、部署等阶段。Maven的核心概念包括项目对象模型(Project Object Model,POM)、依赖管理、插件和生命周期。:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题。

2024-03-10 18:51:00 1636 1

原创 数据库——SQL

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....),(值1, 值2,....);----批量添加数据。INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....);------给指定列添加数据。-----第二个字符是n。INSERT INTO 表名称 VALUES (值1, 值2,....);----给全部列添加数据。SELECT 列名称,列名称... FROM 表名称;

2023-12-14 16:42:05 863 1

原创 集合,可变参数,Collections,Steam流

最初这个链表中没有任何元素。它们可能返回一个非Stream的结果,例如forEach()、count()、collect()等,或者返回一个新的Stream,例如map()和filter()操作的组合。中间操作:中间操作是对Stream进行转换和过滤的操作,它们返回一个新的Stream对象。常见的中间操作包括filter()、map()、sorted()、distinct()等。③所有的key构成的集合是Set:无序的、不可重复的。④所有的value构成的集合是Collection:无序的、可以重复的。

2023-12-08 17:33:15 2009

原创 三种集合遍历方式,数据结构,Hashset和LinkedHashset

1.有序,不重复,无索引2.有序指保证储存与取出元素顺序相同3.底层数据结构为哈希表,每个元素多了一个双链表的机制记录储存顺序。

2023-12-03 11:20:43 1042 1

原创 多线程,泛型与容器类

是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)1、线程同步方法是通过锁来实现,每个对象都有切仅有一个锁,这个锁与一个特定的对象关联,线程一旦获取了对象锁,其他访问该对象的线程就无法再访问该对象的其他非同步方法。定义时,类型参数一般放到返回值的前面。

2023-11-26 10:53:12 1618 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除