- 博客(258)
- 资源 (92)
- 收藏
- 关注
原创 JavaParser 入门指南_解析与操作 Java 代码的利器
[JavaParser]是一个开源库,它允许你将 Java 源代码解析成 AST(Abstract Syntax Tree,抽象语法树),并提供 API 来访问、修改和生成 Java 代码。
2025-06-09 21:10:55
663
原创 彻底搞懂 TransmittableThreadLocal_如何优雅地处理线程池中的上下文传递
在多线程编程中,我们经常需要将一些上下文信息(如用户身份、Trace ID、事务信息等)在线程之间传递。然而,在使用线程池时,由于线程的复用机制,传统的 `ThreadLocal` 和 `InheritableThreadLocal` 无法正确传递上下文,导致数据污染或丢失。
2025-06-09 21:00:57
741
原创 轻松应对大数据挑战_MyBatis Plus 高性能查询指南
[MyBatis Plus]是基于 MyBatis 的增强工具,简化了数据库操作、提高了开发效率,广泛用于 Spring Boot 项目中。
2025-06-08 11:36:24
920
原创 探究 Java SPI 原理与实战_打造高扩展性的应用架构
Java 提供了多种机制来支持这种设计,其中 **SPI(Service Provider Interface)** 是一种轻量级的服务发现机制,广泛用于构建插件化系统。
2025-06-08 11:10:54
904
原创 使用Prometheus实现微服务架构的全面监控
随着微服务架构的普及,系统的复杂性显著增加。每个服务独立部署、独立运行,使得传统的单体应用监控方式难以满足需求。微服务之间频繁的通信、动态扩缩容、故障隔离等问题都对监控系统提出了更高的要求。
2025-06-04 20:21:34
674
原创 企业级开发中的 maven-mvnd 应用实践
`maven-mvnd`(Maven Daemon)是 Apache 官方推出的守护进程版本,它通过以下方式解决上述问题:- **JVM 复用**:一次启动后持续运行,避免重复 JVM 初始化;- **增量构建支持**:仅构建发生变化的部分;- **并行任务调度**:利用多核 CPU 提升构建效率;- **缓存机制增强**:减少插件和依赖的重复加载。因此,`maven-mvnd` 成为企业级项目提升构建效率的理想选择。
2025-06-02 22:35:08
1183
原创 别再忽略API安全了!Spring Boot三大防御手段全解析
随着微服务、前后端分离、Serverless等架构的普及,API 已成为系统间通信的核心方式。无论是移动端、Web端还是第三方接入,都依赖 API 接口完成数据交互。API 安全是现代系统不可忽视的一环。本文介绍了 Spring Boot 中三种常用且有效的接口防护手段:- **限流**:防止系统过载- **防重放攻击**:防止历史请求伪造- **签名验证**:防止参数篡改和非法调用
2025-06-02 10:58:28
1044
原创 GraalVM加持下的Quarkus极速启动
随着云原生架构的普及,传统Java应用在部署效率、资源消耗和冷启动性能方面逐渐暴露出短板。Spring Boot等框架虽然功能强大,但在Serverless、边缘计算等场景下表现乏力。Quarkus 是 Red Hat 推出的一个专为云原生设计的 Java/Kotlin 框架,支持标准 Java 技术栈(如 JPA、CDI、REST),并深度集成 GraalVM,实现极低的内存占用和毫秒级启动速度。
2025-05-30 22:58:40
661
原创 Mustache 模板引擎详解_轻量、跨语言、逻辑无关的设计哲学
Mustache 是一种“逻辑无关(logic-less)”的模板引擎,强调模板本身不包含任何控制结构或函数调用,而是依赖传入的数据驱动渲染。它的设计哲学包括:轻量级:无依赖,易于集成跨语言支持:适用于 Java、JavaScript、Python、Ruby 等多种语言逻辑无关:模板中不应包含 if、for、function 等逻辑语句
2025-05-25 08:41:12
946
原创 一条SQL语句的旅程:解析、优化与执行全过程研究
本文将以一个完整的 SQL 示例为主线,详细剖析 SQL 从用户输入到最终返回结果的全过程,包括**解析(Parsing)、优化(Optimization)和执行(Execution)**等关键阶段。通过深入分析每个步骤的技术细节,并结合实际案例,帮助读者全面理解数据库是如何处理 SQL 查询的。
2025-05-23 19:54:43
2298
原创 优化 Spring Boot 应用启动性能的实践指南
Spring Boot 以其“开箱即用”的特性深受开发者喜爱,但随着项目复杂度的增加,应用的启动时间也可能会变得较长。对于云原生、Serverless 等场景而言,**快速启动**是一个非常关键的指标。
2025-05-18 21:48:51
953
原创 使用 LiteFlow 实现灵活的业务逻辑解耦
LiteFlow 是基于 Java 的轻量级规则引擎和流程编排框架,支持顺序、并行、条件分支等复杂流程结构,并具备热加载能力。
2025-05-15 19:00:03
600
原创 无侵入式弹窗体验_探索 Chrome 的 Close Watcher API
在网页开发中,弹窗(Popup)是一种常见的交互方式,用于提示用户进行操作、确认信息或展示关键内容。然而,传统的 JavaScript 弹窗方法如 `alert()`、`confirm()` 和 `prompt()` 存在诸多问题,包括阻塞主线程、样式不可定制等。为了解决这些问题,Chrome 浏览器引入了 **Close Watcher API**,它允许开发者以更现代、非侵入式的方式管理模态对话框和弹窗行为。本文将深入探讨该 API 的原理、使用方式,并通过丰富的代码示例帮助你快速掌握这一新特性。
2025-05-11 20:07:34
1219
原创 前端敏感数据处理指南_JavaScript 加密方法全解析
在现代 Web 应用中,前端承担了越来越多的业务逻辑和数据处理任务。用户输入的数据(如密码、手机号、身份证号)往往需要在发送到后端前进行初步加密,以防止中间人攻击(MITM)、日志泄露等问题。虽然 HTTPS 已成为标配,但仅靠 HTTPS 并不能完全保证数据安全。在某些场景下(如登录密码、支付信息),我们仍需在前端对敏感数据进行加密或签名。
2025-05-10 10:00:24
759
原创 在企业级项目中高效使用 Maven-mvnd
Maven-mvnd 是 Apache Maven 的一个实验性扩展工具(也称为 `mvnd`),基于守护进程(daemon)模型构建,目标是显著提升 Maven 构建的速度和效率。它由 Red Hat 推出,通过复用 JVM 进程来减少每次构建时的启动开销。
2025-05-09 19:24:23
381
原创 函数级重构:如何写出高可读性的方法?
在软件开发中,方法(函数)是程序逻辑的基本单元。一个高质量的方法不仅决定了程序是否能正常运行,更直接影响到:函数级重构的目标是:写出简洁、清晰、职责单一、易于理解的方法。方法名应像一句完整的句子,说明“它做了什么”,而不是“怎么做的”。一个方法只做一件事,并做好它。避免在一个方法里同时处理多个任务。理想情况下,一个方法不超过 20 行,最长不应超过 50 行。建议控制在 3 个以内,否则考虑封装成对象。返回类型统一,避免 null,尽量使用 Optional。避免多层 if/else,减少条件判断复杂度。
2025-05-08 19:04:53
1183
原创 代码异味(Code Smell)识别与重构指南
异味道出了代码演进过程中的自然产物识别与重构是一种工程素养持续改进才能让系统具备可持续发展能力🧭 代码异味不是要消灭的敌人,而是指引你写出更好代码的导航仪。每一次重构,都是对未来的投资。
2025-05-05 23:57:36
1302
原创 API 接口重构_向后兼容的设计技巧
API 本质是服务提供者与消费者之间的数字契约。重构的难点在于:如何在保证现有消费者不受影响(契约稳定)的前提下,实现技术升级和功能扩展(契约演进)。某金融平台将交易流水 ID 从int升级为UUID。
2025-05-05 08:45:54
1099
原创 深入理解 HttpExchange_Java 中构建 HTTP 服务的基础组件
随着微服务、工具类应用和嵌入式系统的兴起,开发者对轻量级 HTTP 服务的需求日益增长。相比引入庞大的框架(如 Spring Boot),使用 JDK 原生 API 构建 HTTP 服务成为一种快速、低依赖的替代方案。JDK 提供了 `com.sun.net.httpserver` 包,其中的核心类 `HttpExchange` 允许我们以极低的成本实现 HTTP 请求与响应的交互逻辑。虽然它不如现代 Web 框架强大,但在小型服务、调试工具、本地代理等场景下非常实用。
2025-05-03 10:26:22
1011
原创 重构之道:识别并替换不合适使用的箭头函数
JavaScript 自 ES6 引入了箭头函数(Arrow Function)后,因其简洁的语法和对 `this` 的词法绑定机制,迅速成为开发者喜爱的写法之一。然而,**并不是所有场景都适合使用箭头函数**。
2025-05-02 23:06:11
1458
原创 使用 Spring Boot Actuator 实现应用实时监控
Spring Boot Actuator 是 Spring Boot 提供的一组生产级功能模块,用于帮助开发者对 Spring Boot 应用进行监控和管理。它提供了一系列 REST API 端点(Endpoints),可以获取应用程序的运行状态、健康检查、度量指标等信息。这些端点开箱即用,适用于本地开发、测试环境以及生产部署。在微服务架构中,系统复杂度高、服务数量多且分布广泛。为了快速定位问题、优化性能、保障系统稳定性,必须具备完善的监控能力。Spring Boot Actuator 提供了以下关键优势:
2025-05-01 09:06:33
1606
1
原创 解锁 SpringEvent_构建高效事件驱动系统
自定义事件类,继承 ApplicationEventSpringEvent 提供了一种优雅的方式实现事件驱动架构,能够显著提升系统的解耦性和灵活性。通过本文的学习,读者应能熟练掌握 SpringEvent 的基本用法及高级特性,并将其应用于实际项目中。未来,随着微服务架构的普及,事件驱动模型将变得更加重要。SpringEvent 将在分布式系统中扮演更重要的角色,结合消息队列等技术实现跨服务的事件通信。
2025-04-20 09:29:11
936
原创 Spring Boot + Caffeine:打造高性能缓存解决方案
Spring Boot的核心特性:Spring Boot是一个快速开发框架,提供了自动配置、嵌入式服务器和依赖注入等功能,简化了Java应用的开发过程。Caffeine缓存的特点与优势:Caffeine是一款高性能的本地缓存库,支持LRU、TTL等淘汰策略,并具有线程安全性和低延迟特性。高性能:基于Segmented Lock实现线程安全。灵活的淘汰策略:支持LRU(最近最少使用)、LFU(最不常使用)和TTL(过期时间)。易于集成:支持与Spring Cache无缝结合。
2025-04-19 09:46:56
1131
原创 Java性能剖析工具箱
类加载器(ClassLoader):负责加载字节码。运行时数据区:包括堆、栈、方法区等。执行引擎:解释或编译字节码为机器码。JConsole用于监控JVM的内存、线程、类加载等信息。示例:启动JConsolejconsole。
2025-04-17 23:58:07
1029
原创 Spring Boot 中集成 Disruptor_高性能事件处理框架
Disruptor 是一个高性能的事件处理框架,广泛应用于金融交易系统、日志记录、消息队列等领域。它通过无锁机制和环形缓冲区(Ring Buffer)实现高效的事件处理,具有极低的延迟和高吞吐量的特点。
2025-04-11 10:27:34
1266
原创 JGraphT 在 Spring Boot 中的应用实践
JGraphT 是一个用于处理图数据结构和算法的 Java 库,提供了丰富的图类型和算法实现。
2025-04-07 23:09:37
1159
原创 JVM 参数调优指南_优化 Java 应用性能
JVM 参数调优是指通过调整 Java 虚拟机的各种参数,以优化 Java 应用程序的性能和稳定性。
2025-04-06 09:30:03
829
原创 ANTLR 实战_从零开始构建自定义语言解析器
ANTLR(Another Tool for Language Recognition)是一个强大的解析器生成器,用于构建语言解析器、编译器和解释器。
2025-04-05 09:07:08
1024
原创 Spring Boot 中利用 Jasypt 实现数据库字段的透明加密解密
Jasypt(Java Simplified Encryption)是一个用于简化 Java 应用程序中加密操作的库。
2025-04-05 08:51:24
1059
原创 Web Workers 技术解析与应用
Web Workers 是一种在后台线程中运行 JavaScript 的机制,允许网页在不阻塞用户界面的情况下执行复杂计算或数据处理任务。
2025-04-04 10:18:59
952
1
原创 深入 OpenPDF:高级 PDF 生成与操作技巧
OpenPDF 是一个用于创建和操作 PDF 文档的 Java 库。它支持多种功能,包括文本、图像、表格、图表、分页和安全性设置等。学习了 OpenPDF 的核心特性和高级功能。掌握了如何生成和操作复杂的 PDF 文档。实现了一个功能丰富的 PDF 生成工具。
2025-03-30 10:41:50
1144
原创 Vue3 与 Bpmn-js:打造现代化 BPMN 流程设计器
随着业务流程的复杂化,流程设计器成为企业级应用中不可或缺的一部分。BPMN(Business Process Model and Notation)是一种标准的业务流程建模语言,广泛应用于业务流程管理。本文将介绍如何使用 Vue3 和 Bpmn-js 打造一个现代化的 BPMN 流程设计器。
2025-03-28 23:33:10
1035
原创 SpringBoot集成Couchbase开发与实践
Couchbase 是一个高性能的 NoSQL 数据库,支持文档存储、内存缓存和分布式计算。它结合了内存数据库的速度和灵活性与传统数据库的持久性和查询能力。
2025-03-23 18:44:11
1109
原创 Deflate和Gzip压缩在HTTP响应中的作用与实现
Deflate是一种无损数据压缩算法,结合了LZ77算法和哈夫曼编码。它通常用于压缩文件和网络传输。Gzip是一种基于Deflate算法的文件压缩格式,由GNU项目开发。它在Deflate的基础上增加了文件头和校验和,提供了更好的文件完整性检查。SpringBoot默认不直接支持Deflate压缩,但可以通过自定义过滤器来实现。创建一个自定义过滤器来处理Deflate压缩。
2025-03-19 21:37:57
814
原创 MySQL 8主从复制配置最佳实践
主从复制是MySQL中用于提高数据冗余性和可用性的技术。通过将主库的数据复制到一个或多个从库,可以在主库故障时快速切换到从库,保证服务的连续性。此外,主从复制还可以用于负载均衡,将读操作分发到从库,减轻主库的压力。
2025-03-18 21:26:01
1019
原创 服务器发送事件(Server-Sent Events,SSE)详解
服务器发送事件(SSE)是一种简单且有效的技术,适用于需要从服务器向客户端推送实时更新的场景。通过本文的介绍,读者可以了解 SSE 的工作原理、使用场景、实现方法以及实际应用案例,从而更好地利用 SSE 提升应用的实时性和用户体验。
2025-03-17 07:55:25
1429
原创 使用OpenResty(基于Nginx和Lua)优化Web服务性能
通过 Lua 脚本实现请求过滤和限流。通过本文的介绍,我们了解了如何使用 OpenResty 优化 Web 服务性能。通过合理配置和优化 Lua 脚本,可以显著提高系统的处理能力和响应速度。希望本文能为读者提供有价值的参考和指导。
2025-03-16 16:50:45
1158
原创 使用 Nginx 进行前端灰度发布的策略与实践
灰度发布是一种有效的软件发布策略,可以帮助开发者在降低风险的同时,逐步推出新版本。Nginx 提供了强大的配置功能,使得实现前端灰度发布变得简单而高效。
2025-03-15 21:53:25
905
原创 Spring Boot与Apache Ignite集成:构建高性能分布式缓存和计算平台
Apache Ignite是一个高性能的分布式内存计算平台,支持内存缓存、分布式计算、流处理和机器学习等功能。它提供了低延迟的数据访问和强大的计算能力,适用于需要高性能和可扩展性的应用。将Apache Ignite集成到Spring Boot应用中,可以显著提高应用的性能和可扩展性。Spring Boot的简单配置和Ignite的强大功能相结合,使得开发和部署更加高效。首先,创建一个新的Spring Boot项目。可以通过Spring Initializr(https://start.spring.io/)
2025-03-14 21:59:10
1648
原创 Spring Boot 集成 Lua 脚本:实现高效业务逻辑处理
Lua是一种轻量级、高性能的脚本语言,常用于游戏开发、嵌入式系统、配置文件解析等领域。Lua语法简洁,易于学习和使用,且具有强大的扩展性。
2025-03-13 22:53:33
1213
异质多数据源开发手册
2018-05-02
Swing Hacks
2013-08-21
Apress.Practical.API.Design
2013-08-13
测试驱动开发
2017-09-03
实现领域驱动设计
2017-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人