dingdangmaoup dingdangmaoup`s blog

HTTP 请求幂等性详解

本文深入探讨了 HTTP 请求幂等性的核心概念、方法分类、实现策略及其在分布式系统中的关键应用价值。

DINGDANGMAOUP Published on 2025-08-29

HTTP 与 HTTPS 详解

本文详细对比了 HTTP 和 HTTPS 协议,并深入解析了 TCP 三次握手与四次挥手、TLS 握手过程,以及它们在性能与安全方面的考量。

DINGDANGMAOUP Published on 2025-08-29

线程安全单例模式

本文介绍了线程安全的单例模式及其多种实现方法,包括懒汉式、饿汉式、静态内部类和枚举,并讨论了其线程安全考虑因素、适用场景和注意事项。

DINGDANGMAOUP Published on 2025-08-29

数据库连接池详解

本文全面介绍了数据库连接池的工作原理、主要优势、常见实现方案(如 HikariCP, DBCP)、关键配置参数、监控调优方法以及最佳实践,旨在帮助开发者高效管理数据库连接资源,提升系统性能与稳定性。

DINGDANGMAOUP Published on 2025-08-29

Spring 事务传播机制详解

本文详细解析了 Spring 事务的 7 种传播行为类型、配置方式、最佳实践及常见问题,帮助开发者构建健壮的事务管理策略。

DINGDANGMAOUP Published on 2025-08-29

Redis 缓存问题详解

本文详细解析了 Redis 缓存使用中常见的三大问题:缓存雪崩、缓存击穿和缓存穿透,并提供了相应的解决方案与最佳实践。

DINGDANGMAOUP Published on 2025-08-29

ShardingSphere 集成实战

本文详细介绍了如何在 Spring Boot 3 项目中集成 ShardingSphere 与 MyBatis-Plus, 实现多数据源配置、分表分库以及读写分离, 并提供了完整的 Maven 依赖、YAML 配置、实体类、Mapper、Service 代码示例以及增删改查的测试用例。

DINGDANGMAOUP Published on 2024-06-26

Quarkus 日志切面实现

本文介绍了在 Quarkus 框架中如何使用拦截器实现日志切面功能,包括定义事件类型、创建注解、编写拦截器以及观察者模式的事件处理。

DINGDANGMAOUP Published on 2024-06-24

Caffeine 缓存 详解

Caffeine缓存是由Ben Manes开发的高性能Java内存缓存库,结合了Guava缓存和ConcurrentLinkedHashMap的优势。其核心特点包括:1)高性能,通过LongAdder计数、混合存储结构和内存屏障优化实现高吞吐;2)线程安全,基于ConcurrentHashMap和读写锁保证并发访问;3)内存友好,支持基于大小、时间或权重的自动清理策略,防止内存溢出;4)API简洁易用,支持灵活的缓存配置。典型用法可通过链式调用设置容量和过期策略,并提供put、get、invalidate等基础操作。Caffeine适用于需要快速数据访问和高并发处理的场景,能有效提升应用性能。 (字数:198)

DINGDANGMAOUP Published on 2024-06-21

多个线程任务批量提交

这段Java代码展示了如何使用线程池和CompletableFuture实现异步并发任务处理。首先创建了一个固定大小为4的线程池,核心线程数和最大线程数均为4,线程空闲存活时间为60秒,使用无界阻塞队列。然后通过循环创建10个异步任务,每个任务打印执行它的线程名称和任务编号。所有任务被添加到CompletableFuture列表中,通过CompletableFuture.allOf().join()等待所有任务执行完成,最后关闭线程池。这种模式适用于需要并行处理多个独立任务的场景,能有效利用多核CPU资源,提高程序执行效率。

DINGDANGMAOUP Published on 2024-06-21