Ekko Blog

路漫漫其修远兮 ,吾将上下而求索

Maven详解

从项目结构、POM、依赖管理到生命周期的 Maven 实用笔记

这篇笔记用于梳理 Maven 的核心模型:标准目录结构、pom.xml、依赖管理、构建生命周期、插件机制与多模块工程。它适合作为 Java 项目的 Maven 入门与回查手册,而不是覆盖所有冷门配置项的完整手册。 文章重点放在日常开发最常见的用法上,例如如何组织项目、如何声明依赖、什么时候改 settings.xml、为什么 mvn clean package 能完成一整套构...

Linux常用命令

Linux 与 Java 生产排障常用命令速查

这篇笔记主要整理 Linux 日常使用和 Java 生产排障里最常见的一批命令,重点放在“先定位进程、再看端口、再看日志、最后看线程和堆栈”这条高频排查路径上。 它更偏向速查和结构化梳理,不展开内核原理,也不替代完整的 man 手册;重点覆盖进程、端口、日志、systemd 服务状态以及 JVM 诊断工具之间的衔接关系,适合作为上线后排查 Java 服务问题时的第一份命令清单...

MessagePack

Java 序列化、Jackson 数据绑定与 Redis 集成说明

这篇笔记的目标是把 MessagePack 放到 Java 实际开发语境里重新梳理一遍:它是什么、为什么会比 JSON 更紧凑,以及在 Jackson、ObjectMapper 和 RedisTemplate 里应该怎么使用。 重点放在可直接落地的序列化方案和常见误区上,尤其是依赖选择、ObjectMapper 的正确配置、数值类型的精度边界,以及 “看起来用了 Messag...

Elasticsearch入门

围绕倒排索引、分片副本与写入查询链路理解 Elasticsearch

这篇笔记的目标是从入门视角把 Elasticsearch 最常见的一组知识点串起来,包括倒排索引、分词器、分片与副本、写入与查询链路,以及使用时最容易混淆的版本差异。 正文以前半部分的现代 Elasticsearch 通用概念为主,尽量避免把 2.x、7.x、8.x 的行为混在一起;文末只保留一段旧版 Java API 附录,用来识别历史接口和兼容老项目,不作为新版本写法参考...

Quartz 入门

Job、Trigger、Scheduler 与 Cron 表达式

这篇笔记用于梳理 Quartz 的核心模型,包括 Job、JobDetail、Trigger、Scheduler、JobDataMap 以及 CronTrigger 的基本用法。重点不是展示一个最短可运行 Demo,而是把调度框架内部各个角色的分工和协作关系讲清楚。 Quartz 经常与 Timer、ScheduledExecutorService、Spring 的 Task...

mall 项目框架整合

mall 项目中 MyBatis、Redis、ES、MQ、MongoDB、OSS 等基础组件的整合记录

这篇笔记围绕 mall 项目的基础框架整合过程展开,核心目标是梳理一个电商后端在搭建初期通常会接入的基础设施,包括 ORM、接口文档、缓存、认证授权、定时任务、搜索、文档存储、消息队列以及对象存储等组件。 文中的代码与依赖版本对应 mall 早期技术栈,重点在于说明各组件在系统中的职责划分、整合方式与典型配置项。涉及版本演进较快的组件时,需要结合当前项目实际版本调整实现细节。...

Java 常见面试问题整理 II

Spring、并发、索引与事务高频问题梳理

这篇笔记主要整理 Java 面试里经常出现的几类问题,包括 Spring AOP、Bean 生命周期、并发基础、数据库索引与事务隔离。内容重点不是背答案,而是把几个高频考点背后的机制、适用边界和常见追问串起来。 面试类笔记很容易停留在“概念名词对答案”的层面,但真正容易失分的地方往往是追问:为什么这样设计、哪些说法只在特定实现中成立、哪些结论放到 Spring 或 MySQL...

RabbitMQ 入门

AMQP 模型、核心组件与消息路由

这篇笔记用于梳理 RabbitMQ 的 AMQP 模型、核心组件和常见交换器类型,重点不是安装步骤或客户端 API,而是把 Producer、Exchange、Queue、Binding、Broker 之间的关系放到同一条消息链路中理解。 RabbitMQ 既可以用来做系统解耦和异步削峰,也可以承载较细粒度的业务路由;真正容易混淆的地方往往不是“它能不能发消息”,而是“消息到...

RocketMQ入门

围绕消息模型、架构设计与存储机制理解 RocketMQ

这篇笔记的主线是把 RocketMQ 本身的核心知识点和原理机制串起来,包括消息模型、架构角色、消费语义、顺序消息、事务消息和存储设计等几个层面。 Kafka 对比只作为学习过程中的辅助参照,用来澄清 Topic、Queue、顺序语义和存储组织这些容易混淆的概念,而不是本文唯一的关注点。文章重心仍然放在 RocketMQ 自身的知识体系与设计思路上。 参考资料: ...

消息队列

MQ 的核心价值、可靠性问题与常见机制梳理

内容围绕消息队列在分布式系统中的角色展开,重点梳理解耦、异步、削峰、事件驱动,以及重复消费、顺序消费、消息丢失和分布式事务等核心问题。 文章偏向基础总览,关注常见概念之间的联系,以及工程实践中最容易踩到的边界条件。 参考资料: 官方文档:Jakarta Messaging 3.1 、 RabbitMQ AMQP 0-9-1 Model 、 RabbitMQ...