HashMap 原理(数据结构)
基于数组、链表与红黑树的组合结构,HashMap通过key的hashCode定位数组索引实现O(1)存取。因数组容量有限,难免发生哈希冲突,此时用链表串联冲突元素。但链表过长会降低性能,故当链表长度≥8且数组容量≥64时,转为红黑树以提升查找效率至O(log n),避免性能退化;反之删除节点过多则退化回链表。
第四章 数据库
本文详解MySQL核心知识点,涵盖char与varchar区别、事务ACID特性、索引结构(B+树)、聚簇与二级索引、回表查询、索引失效场景及SQL优化策略,结合explain执行计划分析,提升数据库性能调优能力。
说说 Java 中的异常
Java异常体系中,Throwable为顶层父类,Error表示无法恢复的严重错误,Exception表示可处理的异常。Exception分为检查异常(必须显式处理)和非检查异常(即RuntimeException,如空指针、除零等,无需强制捕获)。
你知道的数据结构有哪些
本文简要介绍了常见数据结构,包括线性结构(如动态数组、链表、栈、队列)和非线性结构(如优先级队列、哈希表、红黑树、跳表、B+树),并列举了Java中的典型实现及应用场景,适合初学者快速了解核心概念。
Spring Boot中集成Lucence
本文介绍了Lucene全文检索原理及其在Spring Boot中的集成应用。首先解析了全文检索的核心思想——通过建立索引提升搜索效率,然后详细演示了Lucene的分词、索引构建与查询过程,并结合中文分词、高亮显示等实战功能,展示了其在实际项目中的灵活运用。
数据聚合、自动补全、数据同步
本文介绍了Elasticsearch中数据聚合、自动补全及数据同步的实现。通过聚合功能,可对数据进行分组、统计与分析;利用拼音分词器和Completion Suggester实现搜索框自动补全;结合MQ或监听binlog实现MySQL与Elasticsearch间的数据同步,确保数据一致性,提升搜索体验。
ElasticSearch集群
Elasticsearch集群通过分片与副本机制解决海量数据存储和单点故障问题。分片实现数据水平拆分,副本保障高可用,结合集群监控与故障转移,确保服务稳定可靠。
【SQL优化】不再抓瞎!手把手教你读懂MySQL Explain执行计划
本文详解MySQL执行计划工具EXPLAIN,教你读懂其输出的“天书”表格。重点掌握四个核心指标:`type`(访问类型)、`key`(实际使用索引)、`Extra`(额外信息)和`rows`(扫描行数)。通过实战案例解析慢查询成因与优化方案,助你快速定位SQL性能瓶颈,写出高效数据库查询。