- 博客(138)
- 收藏
- 关注
原创 【设计模式】23种设计模式概览及应用示例
设计模式是软件工程中用于解决特定问题的一系列最佳实践,它们帮助开发者在面对常见问题时做出更好的设计决策。设计模式不是现成的代码,而是一套指导原则,用来指导开发者如何组织代码结构,以便于更好地应对变化和提高代码的可维护性。本总结将对设计模式进行分类,并提供每种模式的关键特点、优缺点、适用场景以及代码示例,以帮助理解设计模式的实用性和应用方法。
2024-05-13 14:12:48
10331
3
原创 【代码笔记】高并发场景下问题解决思路
高并发指的是在单位时间内,瞬时流量激增,系统需要同时处理大量并行的请求或操作。这种情况通常出现在面向大量用户或服务的分布式系统中,尤其是当用户请求高度集中时,比如促销活动、秒杀活动、注册抢课、热点事件、定时任务调度等。
2024-05-10 22:51:21
1798
2
原创 【Spring】6.深入解析分布式事务:CAP理论、一致性模型与容错机制
本篇博客将深入探讨分布式事务的基本概念、CAP理论、一致性模型以及在分布式系统中处理事务失败和系统故障时可采用的容错机制。
2024-05-03 14:44:01
1599
原创 【网络】不同使用场景下带宽如何计算?
本文尝试拆解家庭、直播、企业、IoT 四大核心场景下的网络带宽的计算方法。所有公式都附 “人话解读”,所有参数都给 “实际参考值”,看完就能套用。
2025-08-22 10:04:52
2833
原创 离职时如何搞定Windows系统重置与磁盘格式化?
用电脑久了,难免遇到系统卡顿、垃圾太多清不干净,甚至想卖掉旧电脑又怕数据泄露的情况。这时候,格式化、恢复出厂设置、系统重置这些操作就派上用场了。但很多人分不清它们的区别,要么用错了导致数据丢失,要么操作到一半卡壳。今天就结合实际场景,一步步教你怎么用这些功能,避开那些容易踩的坑。
2025-08-06 14:06:09
1913
原创 【Java】开发中如何优雅地实现参数校验?
JSR 380( Bean Validation 2.0)是 Java 社区进程(JCP)发布的**数据验证领域首个国际标准(Java Specification Request),由 Hibernate、Apache 等企业及专家共同制定。它通过声明式注解语法**定义校验规则,结合框架(如 Hibernate Validator、Spring Validation)实现自动校验,彻底解决了传统校验的痛点。本文将从标准规范、集成实践到高级扩展,系统解析 JSR 380 的核心能力与应用方法
2025-08-05 10:58:54
882
原创 【Redis】移动设备离线通知推送全流程实现:系统推送服务与Redis的协同应用
在移动应用开发中,应用未启动时的通知推送是提升用户体验的核心需求之一。当用户未主动启动 App 时,如何通过手机通知栏触达用户,确保关键信息(如订单提醒、系统警报)不丢失?本文将尝试解析从 系统推送服务集成 到 消息存储与唤醒 的全链路实现方案,涵盖 Android(FCM)、iOS(APNs)、Spring Boot 服务端与 Redis 存储的完整技术栈。
2025-08-04 14:40:12
912
原创 【Redis】如何使用 Redis 实现限时限购功能?
限时限购(如“限时秒杀”“活动期间限购1件”)是电商、零售等场景的核心功能,核心需求是在指定时间段内限制用户购买数量。Redis 凭借其高性能、原子操作、过期键机制,是实现该功能的最佳选择。本文将以“电商商品限时限购”为例,记录一下该需求基于 Redis + Spring Boot 的实现。
2025-08-02 17:16:00
1068
原创 【Java】对象类型转换(ClassCastException)异常:从底层原理到架构级防御,老司机的实战经验
解决ClassCastException的最佳方式不是"如何安全转换",而是**尽量减少强制转换的场景**。通过多态替代类型判断、按功能拆分接口、严格泛型使用、封装第三方调用等手段,能从源头减少类型转换需求。即使必须转换,也要遵循"先检查后转换"的原则,辅以工程化工具保障,才能彻底根治这个顽疾。好的代码应该让类型关系清晰可见,让转换操作安全可控。
2025-07-25 09:43:09
1242
原创 【Java】空指针(NullPointerException)异常深度攻坚:从底层原理到架构级防御,老司机的实战经验
解决空指针的终极办法不是“怎么处理`null`”,而是**尽量让代码里少出现`null`**。通过空对象模式替代`null`返回值,用`Optional`明确标记可能为`null`的场景,再加上编码规范和工具保障,空指针异常的出现频率能降低90%以上。好的代码不是靠“加判断”堆出来的,而是靠合理的架构设计和编码规范,从源头减少`null`的生存空间。
2025-07-24 14:29:47
1119
原创 【MySQL】脚本化快速搭建跨平台、可定制的MySQL数据库
这篇博客从环境准备到验证,覆盖了 **MySQL Docker 环境搭建的全流程**,脚本支持主流 Linux 发行版和 macOS,兼容 MySQL 5.7/8.0/8.1 版本。无论你是新手还是运维人员,都能通脚本快速完成MySQL搭建,无需手动调整复杂配置。
2025-07-24 10:07:54
1058
原创 电商拆单业务:从思路到落地的技术拆解
电商拆单系统是电商业务中解决复杂订单履约问题的核心技术工具。它通过规则驱动的多维度分组逻辑,将原始订单拆分为多个独立子订单,最终实现物流降本、库存精准、履约提效的目标。本文将从“是什么、为什么、怎么做”三个维度,深入解析其技术逻辑与实现细节。
2025-07-22 09:44:52
1054
原创 【Java】从0到1实现DAG+Quartz分布式任务调度系统
全文覆盖DAG解析、拓扑排序、Quartz集成、状态管理、失败重试与熔断等核心模块,提供可直接复用的Spring Boot代码,并深度解析底层原理(如Kahn算法、Quartz集群机制)。无论你是解决业务调度难题的开发者,还是探索分布式系统的技术爱好者,本文都将为你提供清晰的实践路径与实用经验,助你掌握“用DAG定义任务关系,用Quartz驱动执行”的核心能力。
2025-07-21 14:09:40
1137
原创 【HTTP性能优化】 从“卡到崩溃”到“丝滑加载”的实战指南
本文针对电商大促等典型高并发场景中常见的HTTP性能问题,提出一套可落地的解决方案。通过协议升级+连接优化+服务器调优组合方案,可显著提升系统吞吐量,降低90%的握手延迟,有效应对高并发场景。
2025-07-17 14:18:02
1019
原创 【Spring Boot】全局异常处理:从0到1实战,手把手带你搞定
本文针对开发中常见的异常处理痛点,介绍如何通过Spring Boot全局异常处理实现代码优化。文章首先分析了传统try-catch方式的弊端:代码冗余、响应混乱、异常漏捕和日志难查。随后详细展示了从0到1搭建全局异常处理的完整流程。
2025-07-17 10:40:26
945
原创 【Kafka】Kafka面试和工作中十有八九会遇到的15个问题
Kafka是一个分布式流处理平台,适用于需要实时数据处理的各种场景,如日志聚合、事件源、监控和分析。Kafka的设计采用了发布-订阅模型,允许生产者发布消息到Topics,消费者订阅并处理这些消息,同时支持数据持久化、分区、副本机制以及灵活的数据保留策略和安全性配置,以确保高可靠性和系统容错性。
2024-05-17 17:49:56
1251
原创 【Redis】Redis面试和工作中十有八九会遇到的问题
Redis的Key都是RedisObject,当启用LRU算法后,Redis会在Key的头信息中使用24个bit记录每个key的最近一次使用的时间lru。每次需要内存淘汰时,就会抽样一部分KEY,找出其中空闲时间最长的,也就是now - lru结果最大的,然后将其删除。缓存击穿是指当一个非常热门的缓存数据在某个时间点过期时,大量的请求几乎同时到达,这些请求发现缓存中的数据已经不存在,就会直接向数据库请求数据,这可能导致数据库在瞬间承受巨大的压力,从而可能导致数据库服务变慢甚至宕机。
2024-05-15 19:39:13
1006
原创 【Kafka】2.深入理解Kafka事件流平台及其核心概念
Kafka是一个分布式事件流平台,为构建实时、自动化的业务系统提供技术支撑。它能够处理来自数据库、传感器、移动设备等的实时数据,适用于金融、物流、IoT等多个行业。Kafka集群具有高可扩展性和容错性,确保了数据的持久化存储和高可用性。通过丰富的客户端支持,Kafka允许开发者构建分布式应用程序,实现大规模的事件读取、写入和处理。其核心概念包括事件流、主题、分区和副本,这些特性共同确保了Kafka在现代数据架构中的关键作用。
2024-05-15 14:40:27
1039
翻译 【Spring Cloud】Spring Cloud Gateway操作手册(中文版)
要将 Spring Cloud Gateway 包含在您的项目中,请使用带有 group ID 和 artifact ID 的启动器。有关如何使用当前 Spring Cloud Release Train 设置构建系统的详细信息,请参见 Spring Cloud 项目页面。如果您包含了启动器但不希望启用网关,可以设置 。路由 (Route): 网关的基本构建块。它由 ID、目标 URI、断言集合和过滤器集合定义。如果聚合断言为真,则匹配该路由。断言 (Predicate): 这是一个 Java 8 函数
2024-05-12 22:39:06
778
原创 【MySQ】9.构建高可用数据库:MySQL集群模式部署大全
为了应对单实例的局限性与风险,MySQL集群通过在多个服务器间分散数据和负载,提供了一种高可用性、可扩展和容错性强的数据库解决方案。它支持多种模式,包括主从复制、MySQL Group Replication、MySQL NDB Cluster和InnoDB Cluster,以及双主模式,以满足不同的业务需求。每种模式都有其独特的优点和局限性,选择合适的集群模式需要考虑业务场景、性能要求、维护成本和系统复杂性。通过精心配置和优化,MySQL集群能够显著提升数据库系统的整体性能和可靠性。
2024-05-11 20:37:49
3896
原创 【MySQL】8.数据安全防线:MySQL的数据备份与恢复策略
本文将深入探讨MySQL备份的本质、恢复的关键点,以及如何选择和实施恰当的备份策略,确保在面临数据丢失或损坏时,能够迅速、准确地恢复数据。
2024-05-09 12:26:39
1140
原创 【MySQL】7.MySQL性能优化的六大核心策略
本文将深入探讨MySQL性能优化的本质,详细解析六大优化维度,并提供具体的实施策略和示例,帮助您构建高效、稳定且可扩展的数据库系统。
2024-05-08 13:53:28
1786
原创 【Kafka】1.Kafka核心概念、应用场景、常见问题及异常
Kafka 是一个分布式流处理平台,是 Apache 软件基金会的顶级项目。它主要用于构建实时数据管道和流式应用程序。它能够高效地处理高吞吐量的数据,并支持消息发布和订阅模型。Kafka 的主要用途包括实时分析、事件源、日志聚合等。
2024-05-07 17:24:48
1320
原创 【MySQL】6.强化数据防线:MySQL安全机制的配置与应用
数据库作为企业数据的核心存储地,其安全性直接关系到企业的命脉。MySQL,作为广泛使用的开源数据库管理系统,提供了一套全面安全机制来保护数据免受未授权访问和各种潜在威胁。本文将深入探讨MySQL安全机制的组成要素、实际应用以及它们在保障数据安全中的作用。
2024-05-07 15:18:53
1292
1
原创 【MySQL】5.MySQL的高级特性:存储过程、函数与触发器的解析与应用
在本文中,我们将深入探讨 MySQL 中存储过程、函数和触发器的概念、用途、优缺点以及它们在实际项目中的应用示例。
2024-05-07 14:57:02
1267
原创 【MySQL】4.MySQL的InnoDB引擎深度解析:事务、索引、MVCC、锁机制与性能优化等
通过本文的全面探索,我们深入了解了InnoDB存储引擎的工作原理和特性,包括其对ACID属性的支持、MVCC机制、锁系统、缓冲池管理、日志系统以及表空间的使用。我们还讨论了如何通过各种监控工具和命令来分析和优化InnoDB性能,确保数据库的高效运行。最后,我们强调了制定合理的备份和恢复策略的重要性,以及如何处理数据库崩溃恢复的情况。InnoDB的复杂性和功能丰富性要求我们不断学习和实践,以便更好地利用其提供的工具和特性。
2024-05-05 17:08:50
1282
原创 【MySQL】3.MySQL核心概念解析:数据完整性、事务处理、索引及聚簇索引与非聚簇索引
要深入探索MySQL的内部机制,理解数据完整性、事务处理、索引策略以及聚簇索引与非聚簇索引的区别是至关重要的。这些概念构成了数据库设计和优化的基石,对于确保数据的准确性、提高查询效率、维护数据的一致性和实现复杂的数据库操作至关重要。本文将逐一剖析这些核心概念,并提供实用价值的示例操作。
2024-05-05 13:07:05
1035
原创 【MySQL】2.深入理解MySQL:数据类型、DDL与DML语句全解析
数据类型、DDL(数据定义语言)和DML(数据操纵语言)语句构成了数据管理和操作的核心。从精心选择数据类型以优化存储和查询性能,到运用DDL语句设计和调整数据库结构,再到使用DML语句对数据进行日常的增删改查,每个环节都至关重要。
2024-05-05 12:21:37
1297
原创 【MySQL】1.数据库设计:ER模型、范式与反范式的平衡之道
本文将深入探讨数据库设计中的三个关键概念:实体-关系(ER)模型、规范化(Normalization)以及反规范化(Denormalization),揭示它们如何共同塑造了现代数据库设计的理念。
2024-05-05 11:50:02
1927
1
原创 【Spring】8.深入探索Spring Context:由浅入深直击Spring的心脏
本文从Spring Context的基本作用讲起,逐步深入到其背后的源码实现,揭示如何通过AbstractApplicationContext和DefaultListableBeanFactory等核心类来管理Bean的生命周期、事件发布、资源访问等高级特性。
2024-05-04 15:02:58
2406
原创 【Spring】7.深入理解Spring MVC:从基础概念到高级特性的全面解析
Spring MVC作为一个功能强大且灵活的Web框架,为Java开发者提供了构建高效、可维护Web应用的坚实基础。从基础的MVC模式到高级的异步处理和格式化,Spring MVC不断扩展其能力,以适应快速变化的Web开发需求。同时,Spring Boot的出现进一步简化了Spring MVC的应用,让开发者能够更加专注于业务逻辑的实现。随着技术的不断进步,Spring MVC仍将继续演进,为Java Web开发领域带来更多创新和可能性。
2024-05-04 00:06:14
1851
原创 【Spring】5.Spring事务中的@Transactional注解剖析
深入探讨Spring的@Transactional注解,包括它的工作原理、可用属性、如何配置以及在嵌套事务场景下的应用。此外,还讨论将@Transactional注解应用于类与方法时的异同,以及如何选择适当的使用方式。
2024-05-01 17:27:51
1479
1
原创 【Spring】4.Spring的事务管理解析
在Spring框架中,事务通常指的是一段代码,这段代码要么完全执行,要么完全不执行,不会出现部分执行的情况。Spring提供了事务管理的机制,允许开发者以声明式或编程式的方式来控制事务的边界和行为。
2024-04-30 22:05:00
1421
4
原创 【Spring】3.深入浅出Spring AOP的使用及优化
从AOP的基本概念出发,逐步介绍Spring AOP的核心组件、运行机制、与Spring其他模块的集成方法,以及如何在实际项目中有效运用AOP。
2024-04-30 17:42:26
769
1
原创 【Spring】2.Spring中Bean的生命周期管理及定义
Spring框架中的Bean是构成应用核心的对象,由IoC容器负责其生命周期管理。Bean的生命周期包括实例化、属性设置、初始化、使用和销毁。开发者可以通过XML配置或注解定义Bean,并使用`InitializingBean`、`DisposableBean`接口或`@PostConstruct`、`@PreDestroy`注解来管理Bean的初始化和销毁行为。此外,Bean的作用域(如单例、原型、请求、会话、应用)决定了Bean实例的生命周期和可见性范围,可以通过XML配置中的`scope`属性进行设置
2024-04-29 15:01:53
1112
2
原创 【Spring】1.Spring中IOC与DI全解析
控制反转(IOC)和依赖注入(DI)是Spring框架的核心概念。IOC通过DI实现,将对象的创建、配置和管理交给Spring容器,降低代码耦合度,提高复用性和可测试性,但可能增加小型项目的复杂性。DI是实现IOC的方法,通过Spring容器自动创建并注入依赖。Spring的IOC和DI主要有三种使用方式:XML配置方式、注解方式和Java配置方式,各有优缺点。
2024-04-29 00:10:58
1090
1
原创 【Nginx】(七)HAProxy+Nginx实现高可用
使用HAProxy创建一个active-active模式的分布式高可用Nginx集群,需要在每台Nginx节点上安装并配置Nginx,然后安装HAProxy作为负载均衡器分发流量到这些节点上。
2024-04-28 15:16:22
619
1
原创 【Nginx】(六)Nginx性能调优
Nginx性能调优是一个需要根据服务器的硬件配置、网络环境和业务需求综合考虑的过程。通过细致地调整上述配置项,可以显著提升Nginx服务器的性能,为用户提供更快速、更稳定的服务。务必在生产环境中进行充分的测试,以确保配置更改的安全性和有效性。
2024-04-28 14:44:44
690
1
原创 【Nginx】(五) Nginx作为微服务API网关的配置与应用
在微服务架构中,API网关是一个至关重要的组件,它不仅负责路由请求到正确的服务,还提供负载均衡、认证授权、限流、监控和日志记录等功能。在本博客中,我们将探讨一个在线教育平台如何使用Nginx作为API网关来解决流量管理和安全问题。
2024-04-25 20:45:25
1714
2
Java Web响应结果工具类
2024-04-29
Java Web分页工具类
2024-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅