自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 “HashMap 为什么快?99% 的人只知其一,不知其二!”

本文深入解析了HashMap的核心原理。HashMap通过数组+链表+红黑树(JDK8)实现键值对快速存取,其高效性源于无锁设计、优化的哈希计算和扩容机制。重点分析了二次哈希的作用(通过扰动函数使高位参与运算,减少冲突)和位与运算替代取模运算的性能优势。详细阐述了扩容机制:当元素超过负载因子阈值时,进行2倍扩容,通过(e.hash&oldCap)==0判断新位置(原下标或原下标+旧容量),拆分链表提升查询效率。文章还解释了JDK8引入红黑树(链表长度≥8时转换)的空间换时间权衡。

2025-12-03 15:09:05 862

原创 MySQL存储引擎-InnoDB、MyISAM、MEMORY

MySQL存储引擎是表级别的数据存储实现方式,主要包含InnoDB、MyISAM和MEMORY三种。InnoDB作为5.5版本后的默认引擎,支持事务、行级锁和外键,适合高并发写入场景;MyISAM仅支持表锁,读写速度快但不支持事务,适合读密集型应用;MEMORY将数据存储在内存中,速度快但易丢失,多用于临时表。三者主要区别在于事务支持、锁机制和外键约束,实际应用中InnoDB因其高可靠性和性能成为主流选择,而MyISAM和MEMORY逐渐被NoSQL和Redis等替代。选择引擎需根据事务需求、并发性能和数据

2025-08-08 11:42:36 1109

原创 MySQL事务演示以及解决并发事务问题

这里通过一个转账的案例来进行事务的演示首先我们创建一个表,创建对应的字段,我这里表名为account,字段分别是id(主键),name,account,具体的建表语句和示例数据如下然后,我们进行第一种方式的演示MySQL默认是开启自动提交模式的,这意味着每个单独的SQL语句都被视为一个独立的事务并自动提交。你可以通过查询系统变量来检查当前的自动提交状态,这里执行代码MySQL默认该值为1,也就是说我们写的每一条SQL语句执行完都会自动提交。这里我们可以修改其值为0。

2025-08-07 22:45:15 2188

原创 JAVA八股--集合

对JAVA面试中集合方面的知识做了系统性的总结

2025-08-07 16:41:06 1595 2

原创 Redis哨兵(Sentinel)-剖析其作用与原理

在Redis中,如果一个从节点宕机,那么其可以去找主节点同步数据,那么当一个主节点宕机后,此时Redis只能进行从节点的读操作而无法进行写操作,如果此时主节点长时间不能恢复,那势必会造成严重的影响(长时间不能向Redis中进行写操作),为了解决这一问题,Redis哨兵应运而生。哨兵的作用体现在三个方面:1.监控:Sentinel会不断的监控Redis当中的主节点以及从节点,判断其是否按照预期进行工作2.自动故障恢复:当主节点故障时,Sentinel会在从节点中选取一个slave(从节点)并将其提拔成mast

2025-08-04 17:57:54 456

空空如也

空空如也

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

TA关注的人

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