- 博客(12)
- 收藏
- 关注
原创 优先级队列(堆)
本文介绍了优先级队列及其基于堆的模拟实现。优先级队列根据元素优先级进行出队操作,不同于普通队列的FIFO原则。堆作为完全二叉树,通过数组存储实现高效操作,文中详细阐述了堆的创建过程(包括向下调整算法和O(n)时间复杂度分析)以及插入删除操作(涉及向上/向下调整)。通过代码示例展示了如何构建大根堆,并演示了插入80和删除堆顶元素的具体实现过程,体现了堆在动态维护优先级顺序中的关键作用。
2025-12-10 16:48:48
939
原创 Redis之String类型常用命令与存储结构
Redis的String类型内部采用三种存储结构:int存储整数、embstr存储短字符串、raw存储长字符串。提供多种操作命令:批量设置/获取(mset/mget)、数值增减(incr/decr)、字符串操作(append/getrange/setrange)等。特别说明UTF-8编码下中文字符占3字节,使用--raw参数可正确显示中文。小数被视为普通字符串存储,数值操作只适用于整数。
2025-08-17 14:59:48
1187
1
原创 Redis常用全局命令
由此我们也可以知道key * 命令就可以查看所有的key。但是这种操作在生产环境上十分危险,因为这种遍历所有的key时间复杂度是O(n),如果key十分多会消费很长的时间。返回存在key的个数。下图我为hxllo设置10秒过期时间,10秒内检查hxllo是存在的,超过10秒检查就不存在了。这个词在ip的报头中也有,了解过的读者一定会熟悉这个ttl的。我们可以在设置key的同时设置过期时间。ex设置秒级别的 px设置毫秒级别的。查看key对应的value的数据类型是什么。
2025-08-13 09:07:35
1375
原创 MySQL数据库约束
可以应用于⼀个或多个列,用于限制列中可接受的数据值,从而确保数据的完整性和准确性。主键必须包含唯⼀的值,且不能包含NULL值 每个表只能有⼀个主键,可以由单个列或多个列组成。指定了唯⼀约束的列,该列的值在所有记录中不能重复,比如⼀个人的身份证号,学生的学号等。default约束用于向列中插入默认值,如果没有为列设置值,那么会将默认值设置到该列。当定义外键后,要求从表中的外键列数据必须在主表的主键或唯⼀列存在或为null。有一项不同就允许插入。外键约束主定义在从表的列上,主表关联的列必须是主键或唯⼀约束。
2025-08-11 19:15:14
848
原创 String类的存储结构与常用方法
本文介绍了Java中String类的特性与常用方法。与C语言不同,Java通过String类存储字符串,具有不可变性,修改操作会创建新对象而非改变原字符串。文章详细说明了字符串常量池机制,解释了"=="和equals()的区别,并通过示例展示了字符串比较、拼接、截取、替换等操作。此外,还介绍了length()、charAt()、indexOf()等获取字符串信息的方法,以及split()、startsWith()等实用功能。重点强调了String类的不可变性和常量池的内存复用优势。
2025-08-11 11:06:03
978
原创 如何下载并在本地运行Nacos以及常见问题的解决
项目文件预览 - Nacos配置中心nacos-server-2.2.3国内镜像下载仓库:- **资源名称**: nacos-server-2.2.3- **资源类型**: Nacos 配置中心- **版本**: 2.2.3 - GitCode。解压后右键用文本编辑器打开nacos-server-2.2.3\nacos-server-2.2.3\nacos\bin\startup.cmd。1.如果出现JDK找不到的问题,如下图,就需要检查环境变量JAVA_HOME是否配置正确。我就是用这个下载的。
2025-08-08 17:53:15
760
原创 http协议的报文格式
注意,我们要访问互联网上的一个资源,或者说一个程序,不仅需要ip地址,还需要程序所在的端口号。当然了,上述我的用词都是“一般”,因为这都不是硬性要求,本质上,GET和POST以及其他的方法都没有本质区别。GET请求要想传递参数一般都是使用URL的query string,(这个query string是什么,在下面就会提到)一般不使用Body。它的作用是对要访问的资源进行补充说明,也是键值对结构,键值对之间用 & 分割,键和值之间用 = 进行分割。http1.1使用的是最多的,是基于TCP开发的。
2025-08-05 10:35:08
1081
原创 JVM——Java虚拟机
JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,它是 Java 平台技术的核心组成部分,是运行 Java 字节码的虚拟计算机。从功能上来说,JVM 主要负责将字节码(.class 文件)解释或编译为特定操作系统能理解的机器码并执行,这也是 Java 语言实现 "一次编写,到处运行",这就是JAVA跨平台特性的关键 —— 相同的字节码可以在安装了对应 JVM 的不同操作系统上运行。
2025-08-03 14:09:01
1010
原创 Cloneable接口与深拷贝浅拷贝
本文介绍了Java中Cloneable接口的使用及深浅拷贝的实现。Cloneable是标志接口,不包含方法,仅用于标识类可克隆。实现clone()需注意三点:处理异常、返回类型转换和实现Cloneable接口。浅拷贝仅复制引用,导致对象共享属性;深拷贝需递归克隆引用对象,如示例中Person和Money类的实现。通过重写clone()方法并调用引用对象的clone(),可实现独立拷贝,避免属性共享问题。
2025-07-31 11:22:20
969
原创 IPv4协议
表示IP协议的版本号,如IPv4,IPv6等。和TCP一样,IP协议首位长度也是以四个字节为单位的。因此我们可以推知IP协议协议头最大长度为60字节。(15*4):3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为 0).4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本.这四者相互冲突,只能选择⼀个。就像IP协议有不同的“形态”一样,可以灵活变化。表示IP协议报携带的数据最大大小。
2025-07-30 11:58:45
925
原创 TCP报文格式与十大核心机制
本文详细介绍了TCP协议的报文格式和十大核心机制。TCP报文包含16位端口号、32位序号/确认序号、4位首部长度、6个标志位(URG/ACK/PSH/RST/SYN/FIN)、16位窗口大小等字段。十大核心机制包括:1)确认应答确保可靠传输;2)超时重传处理丢包;3)三次握手和四次挥手的连接管理;4)滑动窗口提高传输效率;5)流量控制防止接收方过载;6)拥塞控制动态调整窗口大小;7)延时应答提高传输效率;8)捎带应答合并数据包;9)面向字节流引发的粘包问题及解决方案;10)异常情况处理机制(进程崩溃、关机、
2025-07-29 09:34:21
1034
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅