自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap链表长度超过8时,为什么使用红黑树而不是alv树?

HashMap采用“链表转树”机制优化查询性能,将O(n)链表查询提升为O(logn)树查询。相比AVL树,红黑树因其近似平衡特性,在插入/删除操作时维护成本更低(最多2次旋转),且空间开销更小(仅需1位颜色标记)。由于哈希冲突导致的长链表概率极低(JDK1.8阈值8对应概率仅千万分之一),红黑树在综合性能和空间效率上更适配HashMap高频动态操作的特点,其略低的查询效率对整体影响微乎其微,而AVL树的严格平衡优势在HashMap场景中难以体现。

2025-10-09 10:14:24 537

原创 Redis基础学习

Redis提供了5种核心数据结构:String(字符串)用于存储单个值,支持计数器操作;Hash(哈希)适合存储对象型数据,支持字段级操作;List(列表)实现有序队列,支持两端操作;Set(集合)提供去重能力和集合运算;SortedSet(有序集合)通过分数实现自动排序,适用于排行榜等场景。每种结构都有其独特优势:Hash适合存储用户信息等对象,支持部分更新;List可用于消息队列和最新数据列表;Set能高效处理共同好友等关系计算;SortedSet则是实时排行榜的最佳选择。开发者应根据业务场景选择最合适

2025-09-29 18:37:49 937

原创 MySQL索引优化与存储引擎

MySQL索引优化与存储引擎 摘要:本文深入探讨了MySQL索引的数据结构选择、存储引擎实现和SQL优化策略。索引采用B+树结构而非二叉树,因其能有效降低树高;MyISAM采用非聚集索引,InnoDB则使用聚集索引存储数据和索引。联合索引遵循最左前缀原则,通过减少开销、覆盖索引和高效筛选提升性能。SQL优化建议包括全值匹配、避免索引列操作、合理使用范围查询和覆盖索引等,以提升查询效率。

2025-09-16 08:58:30 864

原创 深入剖析HashSet

将高16位与低16位异或,**混合原始哈希码的高低位**,减少哈希冲突(例:`"A".hashCode=65 (0x41)` → `0x41 ^ 0x00 = 0x41`)。新位置 = **原位置** 或 **原位置 + 旧容量**,只需判断哈希值新增bit是0还是1(无需重新计算`hash % n`)。当λ=0.5(理想哈希冲突率),链表长度k≥8的概率仅 **0.00000006**(亿分之六)。// 前驱节点(删除时快速定位)// 1. 计算新容量(原容量*2)和新阈值(原阈值*2)

2025-06-28 07:29:15 811

原创 Git版本工具使用指南(小白版)

本文为代码小白提供了一份详细的 Git 使用指南,涵盖了从安装配置到远程仓库协作的全过程。Git 是一个强大的分布式版本控制系统,它帮助开发者高效管理代码版本、支持团队协作和代码备份。通过掌握基本命令(如 add、commit、push、pull 等),你可以轻松上手 Git,实现代码的版本控制和团队协作。

2025-04-14 10:48:27 675

原创 git上传项目方法

3、把所有文件放入缓存。根据提示设置邮箱和名字。

2024-05-28 10:58:41 386

原创 计算机网络期末复习简答要点

为网络中的数据交换而建立的规则、标准或约定成为网络协议。三要素:语法、语义、时序(同步)

2024-01-12 21:25:30 485 1

空空如也

空空如也

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

TA关注的人

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