- 博客(205)
- 资源 (7)
- 收藏
- 关注
原创 Spring Boot实现加密字段模糊查询的最佳实践
本文探讨了Spring Boot环境下实现加密字段模糊查询的解决方案。针对传统加密方式无法支持模糊查询的问题,重点介绍了格式保留加密(FPE)技术,该技术能保持数据格式不变,支持模糊匹配。文章分析了各种加密方案的优缺点,并提供了基于Google Tink库的FPE实现代码示例,包括密钥配置、加密解密方法等核心功能。这种方案在保证数据安全性的同时,兼顾了业务查询需求,适用于需要保护敏感数据但又要支持模糊查询的企业级应用场景。
2026-02-12 16:55:34
569
1
原创 SpringBoot 使用Docx4j实现 DOCX 转 PDF
本文介绍了一种基于Docx4j的纯Java实现DOCX转PDF方案。该方案具有纯Java实现、开源免费、样式保真度高和易于集成等核心优势,适合企业级应用。文章详细展示了项目依赖配置、核心工具类封装及测试用例,重点解决了中文字体乱码问题,提供了Windows和Linux环境下的具体解决方案。通过完整的代码示例和操作步骤,帮助开发者快速实现高效稳定的文档格式转换功能。
2026-02-04 17:58:11
483
1
原创 ShardingSphere 分库分表技术详解与 Spring Boot 实践
本文探讨了ShardingSphere分库分表原理及其Spring Boot集成方案。首先介绍了分库分表的基本概念,包括垂直分库和水平分表两种方式。随后分析了ShardingSphere的架构组成和核心组件,详细阐述了SQL解析、分片路由、SQL改写、结果归并和事务管理等关键技术原理。最后提供了Spring Boot集成ShardingSphere的实践方案,包括Maven依赖配置、YAML文件设置以及完整的测试用例。通过userId作为分片键的示例,展示了如何实现数据在不同数据源和物理表之间的自动路由,为
2026-01-30 17:25:51
760
2
原创 公众号二维码批量导出并选择性合并Logo技术实现详解
本文介绍了微信公众号二维码批量导出功能的技术实现方案。该功能支持用户选择多个二维码记录,自定义图片尺寸、边框效果和LOGO合成,最终打包成ZIP文件下载。系统采用分层架构设计,包含请求处理、业务逻辑、图片处理和文件打包四个核心流程。关键技术亮点包括:使用Graphics2D进行高质量图像处理、异常处理机制确保流程稳定性、内存优化管理避免临时文件。功能适用于微信营销活动和企业推广场景,提供灵活的配置选项和安全的文件处理机制。
2026-01-20 17:55:22
590
1
原创 基于时间片划分的提醒算法设计与实现
本文提出了一种基于时间片划分的智能提醒算法,通过将时间轴划分为固定长度的时间片区间,确保每个时间段内只进行一次提醒。算法支持分钟、小时、天、周、月、年等多种时间粒度,采用整除运算精确计算时间片边界,并针对周、月、年等特殊边界情况进行专门处理。核心数据结构包括提醒类型枚举、系统配置类和客人提醒记录类,通过时间片计算算法实现精确的周期性提醒控制,有效解决了传统提醒机制中存在的重复提醒或遗漏提醒问题,提高了提醒系统的精确性和用户体验。
2026-01-07 15:57:38
898
1
原创 跨自然周期提醒算法:基于时间边界的智能提醒系统
本文提出了一种基于自然周期的智能提醒算法,支持自然日、周、月、年四种周期类型。该算法通过精确计算周期边界时间,实现灵活的周期性提醒功能。核心功能包括自定义频率配置、精确周期计算和状态自动重置机制。算法采用Java实现,通过计算读取时间所在周期的起始点,加上指定频率后确定下次提醒时间。该方案能准确处理月末、闰年等特殊情况,适用于各类业务系统的周期性提醒场景,相比传统固定天数算法具有更高的精确性和灵活性。
2025-12-24 17:46:54
393
原创 Java 多线程核心组件深度对比与实战指南
Java多线程核心组件对比与选型指南 摘要:本文系统对比了Java多线程编程中的核心组件,包括Runnable与Callable的任务抽象差异、Future与CompletableFuture的异步处理演进、ExecutorService线程池体系、并发工具类(CountDownLatch/CyclicBarrier/Semaphore)以及ConcurrentHashMap的性能优化。通过分析各组件的设计原理、适用场景和性能特性,帮助开发者在不同并发场景下做出合理的技术选型。文章特别强调生产环境中应避免使
2025-12-18 18:11:02
998
1
原创 自动化与AI开发平台大PK:n8n、dify、coze技术选型指南
摘要 2025年AI技术快速发展,n8n、Dify、Coze三大平台成为企业数字化转型的关键工具。n8n以开源自动化见长,支持400+节点实现多系统集成;Dify专注企业级AI开发,提供RAG框架和LLMOps能力;Coze则主打零代码快速搭建智能体,拥有10000+插件生态。技术对比显示,n8n适合流程自动化,Dify擅长定制AI应用,Coze侧重轻量化内容生成。部署方式上,n8n和Dify支持私有化,Coze仅限云端。选型需综合考虑功能需求、技术门槛和成本,如数据敏感型企业优选n8n/Dify,中小团队
2025-12-10 11:50:05
740
1
原创 Spring Boot 3.0与4.0大PK:全面解析新特性与程序员实战指南
摘要 Spring Boot 3.0和4.0是Java生态现代化的重要里程碑。3.0版本于2022年发布,最低要求Java 17,支持GraalVM原生镜像编译,显著提升启动速度和内存效率。2025年发布的4.0版本进一步优化性能,深度整合JDK 21虚拟线程特性,并发处理能力提升数倍,同时改进API版本管理和空安全防护。4.0还重构模块化架构,增强云原生支持,并引入声明式HTTP客户端替代Feign。通过虚拟线程实战案例展示,4.0能轻松实现高性能IO密集型服务,标志着Java开发进入云原生2.0时代。
2025-12-01 17:20:09
1606
1
原创 如何实现高效且正确的并发处理?同业务顺序执行多线程方案设计与实现
在高并发分布式系统中,我们经常面临既要保证业务处理效率,又要维护业务逻辑正确性的挑战。特别是在处理具有强业务关联性的数据时,如何在保证同一业务实体操作顺序的前提下充分利用多核CPU资源,成为了系统设计的关键问题。本文将详细介绍一种基于业务属性的同业务顺序执行多线程方案,通过实际的业务处理案例展示如何实现高效且正确的并发处理。
2025-11-24 17:29:27
866
1
原创 RocketMQ顺序消息实战:保障消息顺序性与可靠性
本文探讨了在Spring Boot应用中实现RocketMQ顺序消息的完整方案。RocketMQ通过将相同业务标识的消息发送到同一MessageQueue,并按顺序存储和消费来保证消息顺序性。文章详细介绍了全局顺序消息和局部顺序消息的实现方式,包括生产者使用syncSendOrderly方法发送消息,消费者通过@RocketMQMessageListener注解配置顺序消费模式。同时强调了消息丢失防护策略,如发送失败重试机制和消费确认机制。通过合理的队列分配和严格的消息处理流程,可以有效保障关键业务场景下的
2025-11-17 15:04:43
853
1
原创 DatabaseRedisExecutor:统一数据库与Redis操作的工具类实现
本文介绍了一个统一工具类DatabaseRedisExecutor的设计与实现,它整合了关系型数据库和Redis的操作功能。该工具类主要提供批量执行SQL语句(支持事务)和Redis命令的能力,并统一返回结果格式。关键特性包括:自动区分SQL语句类型、事务处理、异常回滚机制、Redis特殊命令支持等。通过依赖注入DataSource和StringRedisTemplate,实现了数据库与Redis操作的统一管理,简化了多数据源应用开发。
2025-11-03 11:53:43
907
1
原创 Cursor AI 技术架构、核心模型与技术参数全解析
Cursor 1.0正式版发布,深度集成GPT-4等AI模型,实现人机协作编程。具备100万token上下文窗口,支持Python等主流语言,通过强化学习优化代码补全模型,建议接受率提升28%。采用三层架构设计,结合多模型调度系统,代码生成准确率达87.6%。Max Mode可处理3000页代码,使AI首次具备理解完整项目架构能力。实际应用显示,开发效率提升35-52%,成为科技公司标配工具。支持本地部署开源模型,满足数据合规要求。未来计划引入多模态交互,进一步革新编程范式。
2025-10-21 17:03:49
894
1
原创 实战基于一次性密码的双因素认证OTP服务实现
本文介绍了基于一次性密码(OTP)的双因素认证技术,重点分析了TOTP和HOTP两种实现原理及其优缺点。文章对比了OTP认证器与短信验证码的安全性差异,推荐使用认证器App作为高安全需求账户的二次验证方式。实战部分展示了基于Java的OTP服务实现,包含密钥生成、二维码创建、验证等核心功能,采用ConcurrentHashMap存储用户密钥以保证线程安全。该系统适用于轻量级应用场景,为开发者提供了一套完整的OTP集成方案。(149字)
2025-09-28 11:50:06
1222
1
原创 创建一个Spring Boot Starter风格的Basic认证SDK
Spring Boot作为当前最流行的Java开发框架之一,其Starter机制为开发者提供了极大的便利,使得集成各种功能变得更加简单。为了帮助开发者快速实现基于AppID和AppSecret的应用认证功能,我们设计并实现了这个认证SDK。该SDK遵循Spring Boot Starter的最佳实践,可以无缝集成到Spring Boot应用中,提供开箱即用的Basic认证功能。
2025-09-12 18:11:27
831
2
原创 使用Java操作微软 Azure Blob Storage:上传和下载文件
在现代云原生应用开发中,存储和管理大量数据是常见的需求。Azure Blob Storage是微软Azure提供的一个高扩展性、高可用性的对象存储服务,特别适合存储大量非结构化数据,如文本、图片、视频等。本文将介绍如何使用Java SDK上传和下载文件到Azure Blob Storage。
2025-08-27 11:10:55
1234
1
原创 大厂算法实战:推荐系统中的协同过滤算法实现
协同过滤算法基于"物以类聚,人以群分"的思想,通过分析用户的历史行为数据,发现用户之间的相似性或者物品之间的相似性,从而为用户推荐可能感兴趣的物品。本文将深入探讨协同过滤算法的原理,并通过实际代码实现一个完整的推荐系统,帮助读者理解这一经典算法在大厂中的实际应用。
2025-08-21 15:54:09
752
1
原创 阿里巴巴高级Java工程师面试算法真题解析:LRU Cache实现
在互联网行业的技术面试中,尤其是针对高级Java工程师岗位,算法和数据结构的考察往往是决定性的一环。作为BAT(百度、阿里巴巴、腾讯)等一线互联网公司面试中的经典题目,LRU(Least Recently Used)缓存机制不仅体现了候选人对基础数据结构的掌握程度,更考察了其在实际场景中解决复杂问题的能力。
2025-08-08 14:46:39
1154
1
原创 Java Validator自定义日期范围验证注解:实现不超过一年的时间跨度校验
在实际的业务开发中,我们经常需要对用户输入的时间范围进行校验,比如限制查询时间跨度不能超过一年。虽然Java提供了丰富的日期时间API,但针对特定业务规则的验证仍然需要我们自定义实现。这不,在最近的工作中需要实现dataTracking相关功能,免不了对数据处理跨度进行限制。为了方便在多个VO类中进行复用验证,我们实现了验证注解以满足实际业务需求。本文将详细介绍如何通过自定义注解和验证器来实现"时间跨度不超过一年"的校验逻辑,并探讨其中涉及的日期计算理论。
2025-08-01 16:03:25
1060
1
原创 华为高频算法题:最长连续递增子序列(Longest Continuous Increasing Subsequence)
在各大互联网公司的算法面试中,数组类题目一直是考察的重点,尤其是对于应届生和初级工程师的面试来说更是常见题型。华为作为国内顶尖的科技企业,在校招和社招中也经常考察这类基础但极具代表性的题目。本题“最长连续递增子序列”是一道典型的数组遍历与状态维护问题,虽然难度适中,但却能很好地考察候选人对边界条件的处理能力、逻辑思维的严谨性以及代码的简洁性和可读性。
2025-07-23 14:58:17
731
1
原创 Spring Boot 中 META-INF 的作用与功能详解
META-INF 虽然只是一个小小的目录,但它承载了 Spring Boot 模块化、自动化装配、可扩展性等重要特性。掌握其使用方法,有助于我们更深入地理解 Spring Boot 内部机制,并构建高质量的 Starter 模块。如果你正在开发自己的 Spring Boot Starter,务必合理利用 META-INF 中的各种机制来提升模块的可集成性和易用性。
2025-07-17 15:06:22
2069
1
原创 分布式集群雪花 ID:基本结构与原理、推荐与使用策略
雪花算法是分布式系统中生成唯一ID的经典方案,它通过64位结构(41位时间戳+10位机器标识+12位序列号)实现高性能、趋势递增的全局唯一ID。该算法具有本地生成、有序性强等优势,但也面临时间回拨、workerId分配等挑战。改进版本如百度的UidGenerator增加了时间回拨容错机制。文章提供了原生Java实现示例和基于UidGenerator的实践方案,包括Maven依赖和数据库表设计,适用于大规模分布式系统部署。
2025-07-03 15:38:06
721
原创 实战使用 Docker Compose 搭建 Redis Cluster 集群
通过本文的实践,我们成功地使用Docker Compose搭建了一个Redis Cluster集群。这个过程不仅帮助我们理解了Redis Cluster的基本原理,还掌握了如何利用Docker Compose简化多容器应用的部署。其中重要的是Redis Cluster解决了分布式储存和提升高并发性能的瓶颈,大大提升了中间件和应用系统的高可用,简直不要太爽。
2025-06-25 18:38:27
779
1
原创 实战使用Docker compose搭建Redis哨兵(Sentinel)模式集群
本文介绍了使用docker-compose快速搭建Redis主从+哨兵集群的方法。Redis哨兵模式通过独立哨兵进程监控主从节点状态,实现自动故障转移,包含监控、选主和通知三大功能。文章详细讲解了哨兵的工作流程和选主机制,同时指出哨兵模式仍存在从节点无法自动故障转移和写操作负载不均等局限性。实战部分展示了一主二从三哨兵的部署架构,并提供了主从节点的关键配置参数,包括端口绑定、数据持久化、密码设置和主从复制等核心配置项。
2025-06-19 11:36:35
1675
5
原创 实战使用docker compose 搭建 Redis 主从复制集群
为了提升 Redis 的可用性和读写性能,通常采用主从复制架构来实现读写分离。本次实战通过 Docker Compose 快速搭建一个 Redis 主从复制集群,模拟生产环境中 Redis 高可用架构的基础部署方式。通过该实践,可以更好地理解 Redis 主从复制机制、Docker 容器编排以及服务间通信原理。
2025-06-11 16:04:04
1735
4
原创 SpringBoot高并发抽奖系统设计与实现,严格控制库存与中奖概率
在高并发场景下,抽奖系统的难点在于防止超发库存、保证中奖公平性以及高性能响应。本文将从架构设计到核心 Java 实现,逐步讲解如何构建一个可扩展的抽奖系统,并特别强调同步写入中奖记录和双重库存验证机制。
2025-05-28 11:51:58
1296
1
原创 Apache JMeter API 接口压测技术指南
Apache JMeter 压测接口还是比较简单的,主要分为线程组压测和逐步加压压测。如果我们需要验证接口的最大并发量推荐选择逐步加压压测,这样对接口的并发量会有个明确的结论。当前,如果能够预估接口并发量则可以直接使用线程组以最大并发量压测,这样会简单很多。
2025-05-15 17:45:06
1447
1
原创 深入解析:实现一个详细的日志过滤器(LogFilter)
在现代 Web 应用开发中,日志记录是一个至关重要的环节。它不仅帮助我们调试问题,还能监控应用性能、分析用户行为,并确保系统的稳定性和安全性。本文将详细介绍如何实现一个详细的日志过滤器 LogFilter,记录 HTTP 请求和响应的详细信息,包括请求地址、方法、参数、头信息和体信息,以及响应的状态码、头信息和体信息。此外,我们还将探讨相关的理论和技术知识。综上所述,在我们的项目中,增加一个记录所有 HTTP 请求和响应的详细信息的日志过滤器还是比较简单。
2025-04-29 16:54:53
1023
1
原创 Java Stream 复杂场景排序与分组技术解析与示例代码
Java Stream API 提供了强大的排序和分组功能,通过 sorted 方法可以方便地对流中的元素进行排序,通过 Collectors.groupingBy 方法可以对流中的元素进行分组。在复杂场景下,如多级排序、自定义排序逻辑、处理嵌套对象、多级分组与排序等,可以通过 Comparator.comparing 和 thenComparing 方法来实现多级排序,并通过Collectors.groupingBy来实现多级分组并按组内元素多级排序。
2025-04-19 09:56:35
1170
1
原创 微服务注册中心选择指南:Eureka vs Consul vs Zookeeper vs Nacos
服务注册与发现是微服务架构中的关键机制,主要包括以下功能:服务注册:服务实例启动时向注册中心注册自身信息,包括服务名称、IP 地址、端口等。服务发现:服务消费者通过注册中心获取服务提供者的地址信息,实现服务间的调用。健康检查:注册中心定期检查服务实例的健康状态,确保服务调用的可靠性。通过本文,可以了解到微服务注册中心的选择标准,并对比分析了四种流行的注册中心:Eureka、Consul、Zookeeper 和 Nacos。
2025-04-08 12:02:43
2020
1
原创 Spring Boot 嵌入式容器性能对决:Tomcat vs Undertow!
通过本文,已经了解到了 Tomcat 和 Undertow 的理论基础,并通过详细的性能测试代码和分析对比了它们的性能。Tomcat成熟稳定,功能丰富,适合企业级应用;Undertow高性能,低资源消耗,适合高并发和资源受限的环境。
2025-04-03 16:17:00
1096
1
原创 使用 vue-code-diff 插件实现各种代码及字符串差异对比
在现代软件开发中,代码差异对比是一个非常重要的功能,它可以帮助开发者快速识别代码变更,确保代码质量。vue-code-diff 是一个基于 Vue.js 的代码差异对比插件,使得代码差异对比更加灵活和高效。由于最近公司需要在运维平台做一个对json数据的对比功能,以便于发现本地数据与三方数据差异化。经过对现在市面上的差异化工具考察,我们选择了vue-code-diff 插件,能够贴合我们实际的业务,能能够减少开发周期。
2025-03-28 16:14:55
3260
6
原创 使用Docker运行 Ollama本地部署 DeepSeek 模型并用Dify实现可视化操作
通过以上步骤,我们已经在Ollama中成功的部署本地大模型DeepSeek,并使用Dify实现了可视化操作。在本次演示中,Ollama提供了大模型运行环境,可以支持运行很多的流行的大模型;Dify则是一个大模型应用平台,可以较为简单的接入各种本地和商业大模型,实现与大模型进行交互。
2025-03-21 16:19:32
1558
2
原创 在Spring Boot项目中接入DeepSeek深度求索,感觉笨笨的呢
在当今快速发展的数据驱动时代,企业越来越重视数据的价值。为了更好地理解和利用数据,许多公司开始采用先进的数据分析和搜索技术。DeepSeek(深度求索)就是一款强大的深度学习驱动的搜索和推荐系统,可以帮助企业高效地处理和分析大规模数据。本文将详细介绍如何在Spring Boot项目中接入DeepSeek,帮助各位大大快速上手并利用其强大的功能。
2025-03-14 15:39:18
3917
4
原创 Spring Boot中AOP的深度解析与应用场景实践
Spring Boot中的AOP功能强大且易于使用,能够帮助开发者更高效地管理横切关注点,提高代码的可维护性和可扩展性。通过合理地运用AOP,可以显著提升软件开发的质量和效率。
2025-03-08 13:02:22
960
1
原创 Java使用ZXing库生成带有Logo的二维码图片,并去除白边动态伸缩上传到阿里云OSS
在现代应用中,二维码因其高效的信息编码能力而被广泛应用。为了提升二维码的视觉效果和品牌识别度,通常会在二维码中嵌入Logo。本文将详细介绍使用ZXing库生成带有Logo的二维码图片,去除白边,并将生成的二维码上传到阿里云OSS。此外,本文还将介绍二维码的基本原理、QR Code的结构、图像处理技术以及阿里云OSS的基本概念。
2025-02-26 18:16:22
1148
1
原创 SpringBoot中使用 ThreadLocal 进行多线程上下文管理及其注意事项
ThreadLocal 是一个非常强大的工具,可以帮助我们在多线程环境中管理线程局部变量。通过合理使用 ThreadLocal,可以有效地避免线程安全问题,提高程序的并发性能和稳定性。我们可以在 Spring Boot 应用中安全地存储和管理每个请求的用户数据,并通过显式地清理 ThreadLocal 变量,可以有效避免内存泄漏问题。
2025-02-18 17:20:09
2658
3
原创 MySQL常用编码格式详解(utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_unicode_ci 、utf8mb4_0900_ai_ci)
在使用MySQL创建数据库时候免不了选择字符集和排序规则,不同的字符集对应不同的排序规则,不同的排序规则的性能和效果是不一样的。一般我们经常使用到的字符集是utf8mb4,使用到的排序规则是utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_0900_ai_ci三种。那么今天就来详细介绍下这几种字符集和排序规则,方便大家今后选用。
2025-02-06 11:36:16
1261
1
原创 Spring Boot 启动流程解析及重点源码
综上所述,我们详细解析了 Spring Boot 应用程序的启动流程,并提供了关键步骤中的源码分析。了解这一过程不仅有助于我们更好地掌握 Spring Boot 的工作原理。
2025-01-20 17:25:28
1151
1
原创 Java UML 类图绘制解析:结构与工具类型详解
在Java开发中,UML(统一建模语言)类图是设计和理解系统架构的重要工具。本文将详细介绍Java UML类图中不同结构的表示方法及其对应的绘图工具类型,帮助各位大大更高效地进行系统设计。
2025-01-16 14:59:10
2009
1
sentinel-dashboard1.8.0控制台
2023-07-11
linux 安装 teamviewer qt5-qtwebkit-5.9.1-1.el7.x86_64.rar
2020-04-30
FastDFSf服务器安装包,包含java客户端包,整合nginx包.rar
2020-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅