
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Redis数据结构的底层实现,始终围绕“性能优先、内存优化”的核心思想,总结为3点:分层设计:对外提供简洁的逻辑类型接口,对内根据数据特征动态选择最优底层编码,兼顾易用性与性能。动态适配:同一逻辑类型在不同数据量、数据类型下,自动切换底层编码(如Hash的listpack→hashtable),平衡内存与效率。极致优化:针对不同场景设计专属结构(如SDS解决C字符串缺陷、quicklist兼顾链表
习惯 C 手动 malloc/free,Java 自动 GC,看不到内存操作,感觉 “黑盒”;C 区分结构体值和指针,Java 只有引用类型,无值拷贝混淆;C 能打印指针地址、指针运算,Java 屏蔽底层内存,只能用访问属性;C 空指针直接崩溃,Java 空引用抛 NPE,异常可控;Java 构造函数封装节点创建,C 需要手动分配 + 赋值,步骤繁琐。
查找(搜索)是笔试、机试、面试核心考点,分为静态查找(数据集不变)、动态查找(支持增删)两大类。算法原理时间 / 空间复杂度优缺点与适用场景完整可运行 C++ 代码细节易错点说明二分查找必须有序,只适用于数组,链表不能二分;BST 退化根源:有序数据连续插入,平衡树解决该问题;哈希查找优势是平均常数级,但存在哈希冲突最坏退化;AVL 平衡因子严格 ±1,旋转多;红黑树放宽平衡条件,工业更常用;跳表
JVM 底层禁止反射枚举构造方法,天然杜绝反射、序列化、多线程问题。
本地 IDEA Maven 打包 → MobaXterm 远程连接 Linux 服务器 → 拖拽上传 Jar 包 → nohup 后台常驻启动 SpringBoot → 防火墙 + 云安全组放行 80、8080 端口 → 安装 Nginx、编写反向代理配置、重载生效 → 域名购买备案 + DNS 解析绑定服务器公网 IP → 纯域名无端口公网访问,项目正式上线。
app.jar(编译好的 springboot 包)Dockerfile(无后缀)bash。
文本文件,定义如何从零打包自己的项目镜像。示例 SpringBoot 项目 Dockerfile:dockerfile# 基础镜像JDK17# 拷贝Jar包到容器# 启动命令执行构建自定义业务镜像。环境标准化,彻底消除环境不一致问题;资源占用极低,一台服务器可部署数十个服务;部署、迁移、扩容效率极高,一键启停;资源隔离,服务之间互不冲突、安全隔离;完美适配 CI/CD 自动化流水线;镜像版本管理,
无域名可暂时不用 HTTPS,仅开放 80 端口。,生成 dist 文件夹,上传到服务器。,target 下 jar 上传到。微信支付 pem 证书放入。域名 SSL 证书放到。启动 Nginx 容器时。
哈希冲突是指不同的 Key 经过哈希运算后,得到了相同的数组下标。因为数组长度有限,而 Key 的取值范围无限,所以哈希冲突无法避免,HashMap 采用拉链法(数组 + 链表)解决。HashMap 的设计堪称 Java 数据结构中的经典,处处体现着 “平衡” 的设计哲学:数组保证快速查询,链表解决哈希冲突,红黑树兜底长链表性能;0.75 的负载因子平衡空间与效率,16 的初始容量、8 和 64
RocketMQ:高可靠、高吞吐、功能全、适配金融电商,国内企业首选Kafka:极致高吞吐,适合海量日志、大数据流式处理,事务能力弱RabbitMQ:易用性高、延迟低,适合中小型业务,高吞吐能力较弱RocketMQ 凭借高可靠、高吞吐、功能完备、运维简单的特性,成为国内企业级消息队列的标杆。新手入门只需掌握组件架构、基础消息类型、生产消费逻辑;开发落地核心吃透事务消息、延时消息、消息重试与幂等、堆







