- 博客(17)
- 收藏
- 关注
原创 Spring Controller深入解析
本文详细解析了Spring Boot中Controller的核心机制。通过理解@Controller和@RestController的区别、DispatcherServlet的工作流程、参数绑定原理以及常用注解的工作方式,开发者可以更深入地掌握Spring Boot的Web开发能力,构建出更健壮、可维护的Web应用程序和API服务。无论是传统的服务端渲染应用还是现代化的前后端分离架构,Spring Boot都提供了强大而灵活的支持,使开发者能够根据具体需求选择最合适的技术方案。
2025-11-19 19:58:31
690
原创 Spring配置文件
Spring配置加载的核心在于Environment环境抽象和PropertySource机制,通过有序加载各类配置源实现优先级覆盖。SpringBoot启动时按特定顺序加载配置文件,支持Profile机制实现多环境配置。配置注入方式包括@Value和@ConfigurationProperties,使用时需注意静态变量、常量字段等特殊场景。最佳实践包括敏感信息管理、多环境配置和自定义配置文件加载。理解配置加载原理及优先级对正确使用和问题排查至关重要。
2025-11-19 19:54:01
528
原创 linux配置文件
Linux系统的核心特性之一是通过文本文件进行系统配置。主要配置文件集中在/etc目录(系统级)和用户主目录的"点文件"(用户级)中,包括环境变量、用户账户、网络设置等。修改配置文件后,使用source命令(或点号.)可在当前Shell会话中立即生效,而sh/bash命令会在新进程中执行且不影响当前环境。系统启动时会自动读取全局配置文件。应注意:修改系统级配置需谨慎,避免影响系统稳定性。正确使用配置文件是Linux系统管理的基础技能。
2025-11-13 22:00:26
306
原创 linux存储系统
摘要:本文系统介绍了Linux存储体系结构,从物理磁盘到文件系统的层次化设计。重点讲解了磁盘分区(MBR/GPT)、文件系统(ext4/XFS/Btrfs)的格式化原理,以及挂载机制。详细分析了RAID技术的不同类型(0/1/5/10)及其特性,阐述了LVM(逻辑卷管理)的PV/VG/LV三层架构优势。同时解析了Linux启动时的挂载流程和文件系统核心概念(inode/超级块)。最后总结了常用存储管理命令(df/du/fdisk等)的使用方法及注意事项,包括文件删除后的空间回收机制。全文构建了一套完整的Li
2025-11-13 21:46:15
545
原创 docker-compose
摘要:Docker Compose是一个用于管理多容器应用的工具,通过docker-compose.yml文件配置服务。安装过程包括下载二进制文件并添加到系统路径。核心配置包含版本、网络模式(bridge/host/none/overlay)、服务定义(镜像、端口映射、数据卷等)和资源限制(CPU/内存)。部署时支持依赖管理、健康检查等功能。常用命令包括up/down(启停服务)、ps(查看状态)、logs(查看日志)等。适用于单机开发和小型部署,相比Kubernetes更轻量,可与Swarm集群配合使用。
2025-11-03 20:17:11
807
原创 java中Semaphore底层原理
Java中的Semaphore是一款基于AQS的并发控制工具,通过许可机制管理资源访问。它支持公平/非公平模式,核心方法包括acquire()和release(),适用于资源池管理、限流等场景。使用时需注意在finally中释放许可以防泄漏,并根据吞吐量或公平性需求选择合适的模式。Semaphore与ReentrantLock等工具的区别在于其共享模式特性,能够精细控制多线程对资源的并发访问量。
2025-10-20 17:01:24
941
原创 T-Digest算法
T-Digest 通过质心聚类和线性插值,辅以非均匀的精度控制策略,实现了在大数据场景下高效、精确地计算百分位数。它的流式处理能力、固定内存占用和可合并特性,使其成为分布式系统中计算指标(如延迟TP99)的理想选择。
2025-10-16 14:57:25
862
原创 Spring Controller深入解析
本文深入解析了SpringBoot中Controller的核心机制,重点对比了@Controller与@RestController的区别:前者用于传统服务端渲染,依赖ViewResolver解析视图;后者专为RESTful API设计,自动通过HttpMessageConverter序列化返回数据。文章详细剖析了DispatcherServlet的请求处理流程,包括处理器映射、适配、执行及结果处理等关键环节。
2025-10-13 20:04:43
687
原创 并查集(Union Find)详解:使用、原理和应用
并查集是一种高效处理不相交集合合并与查询问题的数据结构。本文介绍了并查集的基本概念、工作原理、Java实现及优化技巧,并探讨了其实际应用场景。并查集的核心优势在于其高效性,通过路径压缩和按秩合并优化,操作时间接近常数级别。它的实现相对简单,只需要数组即可实现,但功能强大,适用于多种场景。在实际应用中,选择并查集时需要考虑以下因素:数据规模大小、是否需要动态合并操作、连通性查询的频率等。对于需要频繁合并和查询连通性的场景,并查集通常是理想选择
2025-09-30 18:30:02
859
原创 CountdownLatch详解
摘要:CountDownLatch是Java并发工具包中的同步辅助类,基于AQS构建,用于协调线程执行顺序。它通过计数器机制实现线程等待,主线程调用await()等待,工作线程完成时调用countDown()递减计数。当计数归零时,阻塞线程被唤醒。核心实现依赖AQS的共享锁模式,使用CAS保证线程安全。需注意其一次性使用特性,建议设置await超时防止死锁。典型应用于并行任务汇总、服务启动检查等场景,相比CyclicBarrier和Semaphore更适合"一等多"的协作模式。
2025-09-26 00:12:20
1029
原创 MYSQL DDL介绍
摘要:DDL(数据定义语言)用于管理数据库结构,包含CREATE、ALTER、DROP三类核心语句。MySQL的OnlineDDL通过INPLACE(减少锁表)、COPY(重建表)和INSTANT(仅改元数据)三种算法实现最小化影响。PT-OSC工具则采用影子表和触发器机制,通过分块拷贝实现无锁变更,但需主键且消耗更多资源。两者对比:OnlineDDL内核支持开销小但部分操作仍锁表,PT-OSC对从库延迟影响小但需要额外存储空间。(149字)
2025-09-24 23:48:25
371
原创 MySQL统计信息查询
MySQL自增字段与统计信息查询方法对比 在MySQL中,获取自增字段和表统计信息主要有四种方案: 直接查询系统表:通过JOIN查询INFORMATION_SCHEMA获取信息,但在5.7版本中可能因动态收集元数据导致性能问题,8.0版本有所改善但仍较重。 拆分系统表查询:分两步先获取表信息再查询列信息,减轻单次查询压力,但全库扫描在5.7中仍有性能影响。 SHOW CREATE TABLE:推荐方案,通过解析DDL语句获取准确的自增值,对业务影响小,5.7需读.frm文件,8.0直接从数据字典获取。 SH
2025-09-23 21:37:23
899
原创 MySQL批量插入方案
MySQL批量插入技术对比与选型指南 摘要:本文对比分析了MySQL四种批量插入技术方案:单条多值INSERT、JDBC批处理、MyBatis批处理和LOAD DATA INFILE。通过性能、实现复杂度、内存消耗等维度的比较,指出JDBC批处理(需配置rewriteBatchedStatements)适用于常规业务场景,而LOAD DATA INFILE适合海量数据离线导入。文章还提供了通用优化策略,包括批次大小控制(500-5000条)、事务管理和索引优化等。根据实际业务需求和场景特点,选择最合适的批量
2025-09-23 21:36:15
1193
原创 MySQL分页机制深度解析
摘要:本文深入分析了MySQL分页机制的原理与性能问题。首先揭示了传统LIMIT分页在深度分页时存在的性能瓶颈,包括无效数据扫描、回表开销和缓存污染等问题。随后详细介绍了游标分页方案,通过唯一有序字段定位数据,实现O(logN)的查询效率。文章还剖析了MyBatis PageHelper插件的工作原理,指出其在深度分页时的性能缺陷。最后给出优化建议:非随机翻页场景优先使用游标分页,必须使用LIMIT时可考虑子查询优化或Redis缓存方案,使用PageHelper时需注意其底层仍依赖LIMIT分页。
2025-09-23 21:33:32
937
原创 Spring Scheduler原理
Spring Scheduler 是一个基于注解和线程池的轻量级单机定时任务解决方案。其核心原理在于利用 进行任务收集,并通过 实现调度。要安全高效地使用它,关键在于:显式配置线程池,避免任务阻塞。处理好任务幂等性和异常。在分布式环境中,借助外部工具防止任务重复执行。对于简单的单机定时任务,Spring Scheduler 因其开箱即用、无缝集成的特点,是一个非常好的选择。但对于复杂的分布式调度需求,建议评估更专业的框架。
2025-09-10 22:19:41
796
原创 Debezium原理学习
Debezium是一款开源实时数据变更捕获(CDC)工具,通过监控数据库事务日志(如MySQL的binlog)捕获数据变更,并将其转换为有序事件流。核心特性包括:低侵入性日志监控、严格有序事件流、Schema变更支持、多种部署模式、快照机制和精确过滤。典型应用场景涵盖实时数据集成、缓存更新、微服务解耦和CQRS模式实现。工作原理分为初始快照和增量同步两阶段,通过Kafka Connect实现分布式部署,确保数据一致性。支持多种消息格式转换,特别推荐Avro格式以获得最佳性能和压缩效率。
2025-09-09 22:03:36
353
原创 Kafka
Apache Kafka是一个高吞吐、低延迟的分布式流式数据处理平台,核心架构基于生产者-消费者模型,通过分区(Partition)和副本(Replica)机制实现水平扩展与高可用。其特性包括:消息持久化存储、支持多订阅者消费、通过消费者组实现负载均衡,以及提供三种消息可靠性保证(at-least-once、at-most-once和exactly-once)。Kafka采用Leader-Follower副本模型和ISR机制确保数据一致性,适用于日志收集、实时监控、事件溯源等场景。
2025-09-07 23:51:28
890
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅