自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (6)
  • 收藏
  • 关注

原创 Spring Boot 多参数统一加解密方案详解:从原理到实战

本文详细介绍了在Spring Boot中实现多参数统一加解密的方案。首先,文章分析了参数加解密的必要性,特别是在处理敏感数据时,仅靠HTTPS不足以确保数据安全。接着,文章对比了多种加解密方案,包括Filter全局处理、AOP切面处理、自定义参数解析器和消息转换器,最终选择了组合使用参数解析器、消息转换器和AOP的方式,以实现灵活的加解密控制。 文章的核心部分提供了具体的实现代码,包括基础加解密工具类、自定义注解定义、参数解析器实现以及如何注册参数解析器。通过这些代码,开发者可以在Spring Boot应用

2025-05-20 22:29:26 507

原创 Spring Boot异步任务失效的8大原因及解决方案

在使用Spring Boot的@Async注解实现异步任务时,可能会遇到异步不生效的问题。本文总结了8种常见的异步失效场景及其解决方案。这些场景包括未启用异步支持、同类内部调用、方法访问权限问题、未配置线程池、异常未被捕获、应用未正确启动、返回值处理不当以及方法执行时间过短。针对这些问题,提供了具体的解决方法,如添加@EnableAsync注解、通过代理对象调用异步方法、确保方法是public且非final、自定义线程池、实现全局异常处理器等。此外,还强调了异步任务的最佳实践,如始终启用异步支持、配置专用线

2025-05-12 21:14:49 791

原创 多线程的出现解决了什么问题?深入解析多线程的核心价值

未来,随着协程、异步IO等技术的发展,多线程仍然是高并发系统的核心手段之一。这意味着如果程序遇到I/O操作(如读取文件、网络请求等),整个进程会被阻塞,CPU只能空转等待,导致资源浪费。多进程虽然能实现并发,但进程间切换和通信(IPC)开销较大,而线程共享进程的内存空间,创建和切换成本更低。在单线程环境下,异步编程通常依赖回调或事件驱动(如Node.js),代码结构复杂,容易陷入“回调地狱”。在图形用户界面(GUI)程序中,如果主线程执行耗时操作(如大数据处理),整个界面会冻结,用户体验极差。

2025-05-07 22:28:55 598

原创 Java实现TCP短连接通信:基于JSON格式的同步Socket通信详解

本文介绍的TCP短连接+JSON报文方案实现简单、易于理解,适合作为学习网络编程的入门实践,也可用于对性能要求不高的生产环境。读者可以根据实际需求,在此基础上进行扩展和优化。思考题:在什么场景下应该考虑使用长连接替代短连接?欢迎在评论区留言讨论!

2025-04-24 00:33:48 445

原创 基于Redis实现短信防轰炸的Java解决方案

本文介绍的基于Redis的短信防轰炸方案在实际项目中得到了验证,能有效阻止99%以上的短信轰炸攻击。开发者可以根据自身业务需求调整限流阈值和时间窗口参数。完整代码已上传GitHub,欢迎Star和讨论。相关技术扩展:Spring Cloud Gateway限流、分布式限流算法、机器学习识别异常流量等。

2025-04-09 22:15:02 667

原创 MyBatis批量更新之CASE WHEN方式详解

CASE WHEN方式是MyBatis实现批量更新的高效方案,特别适合中等数据量的更新场景。通过合理配置和优化,可以显著提升系统性能。开发者应根据具体业务需求和数据规模,结合分批处理、事务控制等技术,充分发挥其优势。

2025-04-09 22:11:45 1297

原创 系统性能核心指标:QPS、TPS、RT、并发量详解

等指标是衡量系统性能的关键。本文深入解析这些术语的定义、计算方法、关联性及优化策略,帮助开发者更好地进行系统性能评估与调优。:每秒事务数(Transactions Per Second),指系统每秒能完成的事务数量,通常用于数据库或交易系统。:每秒查询量(Queries Per Second),指系统每秒能处理的请求数,通常用于衡量接口或服务的吞吐能力。:响应时间(Response Time),指从发送请求到接收到响应所耗费的时间,单位通常是毫秒(ms)。:系统同时处理的请求数量,反映系统的并行处理能力。

2025-04-09 22:03:10 593

原创 MyBatis高效处理10,000条批量更新的最佳实践

处理10,000条批量更新时,MyBatis提供了多种解决方案。经过实践验证,ExecutorType.BATCH方式在大多数场景下表现最优。开发者应根据具体业务需求、数据库类型和数据规模选择合适的方案,同时注意事务管理、错误处理和性能监控,才能实现真正高效的批量操作。

2025-04-09 21:58:51 917

原创 Java Stream API:现代化集合处理的艺术

Stream(流)不是数据结构,而是对数据源(集合、数组、I/O资源等)的元素序列进行函数式操作的一种抽象。惰性执行:中间操作不会立即执行,只有遇到终端操作时才会触发计算不可复用:一个Stream只能被消费一次无存储:Stream本身不存储数据,数据存储在底层集合或由生成器生成Java Stream API为数据处理提供了现代化、声明式的解决方案。虽然它并非在所有场景下都优于传统循环,但在处理复杂数据转换、过滤和聚合操作时,它能显著提高代码的可读性和可维护性。

2025-04-08 23:06:10 941

原创 Spring Boot 项目日志系统全攻略:Logback、Log4j2、Log4j与SLF4J整合指南

SLF4J:日志门面框架(必须)Logback:默认实现(Spring Boot官方推荐)Log4j2:高性能替代方案Log4j:旧版实现(不推荐新项目使用)📌最佳实践:无论使用哪种实现,都应该通过SLF4J API进行日志记录,保持代码与具体实现的解耦。新项目推荐组合传统项目组合必须避免:直接使用Log4j 1.x核心原则代码中始终使用SLF4J API合理选择日志级别生产环境使用异步日志建立完善的日志监控体系通过合理配置日志系统,可以显著提升应用的可靠性和可维护性。

2025-04-07 23:31:10 1022

原创 Java异常处理与全局异常处理全面指南

在软件开发过程中,异常处理是确保应用程序稳定性和可靠性的重要环节。Java语言提供了强大的异常处理机制,允许开发者捕获并处理程序运行时可能出现的错误。本文将详细介绍Java中的异常处理机制,并探讨如何实现全局异常处理以提高代码的健壮性。

2025-04-05 18:36:04 514

原创 Java实现SM4加密+Base64编码完整方案

【代码】Java实现SM4加密+Base64编码完整方案。

2025-04-04 00:42:04 406

原创 Java实现SM3签名摘要生成(报文+口令)完整方案

【代码】Java实现SM3签名摘要生成(报文+口令)完整方案。

2025-04-04 00:39:23 377

原创 Java实现国密算法SM4/SM3详解及封装工具类(附对称/非对称加密对比)

本文完整实现了:SM4对称加密工具类(支持密钥生成/CBC模式加解密)SM3摘要工具类(支持字符串/文件摘要)SM2非对称加密工具类(密钥对生成/加解密)详细对比了对称/非对称加密特性

2025-04-04 00:26:27 743

原创 内网隔离环境下Java实现图片预览的三大解决方案

文章从实现原理、核心代码、优缺点、适用场景等多个维度对每种方案进行了深入分析,并提供了安全考虑与性能优化建议。最后给出了方案选型指南,建议根据系统规模、并发量和安全要求选择合适的实现方式。特别强调了在任何方案中都需要重视输入验证、访问控制和监控报警等安全措施。

2025-04-02 23:05:08 645

原创 Java 枚举类 Key-Value 映射的几种实现方式及最佳实践

小型枚举:使用基础实现即可,保持代码简单大型枚举或高频查找:推荐使用静态 Map 缓存方式Java8+环境:可以考虑使用 Stream API 实现简洁代码生产环境:务必处理 null 和不存在的情况,考虑使用不可变 Map枚举的 key-value 映射是 Java 开发中的常见需求,选择适合的实现方式可以显著提高代码的可读性和性能。希望本文介绍的各种方法和最佳实践对您有所帮助。如何实现双向查找(通过 key 找 value,通过 value 找 key)?

2025-04-02 22:56:32 855

原创 @ComponentScan注解详解:Spring组件扫描的核心机制

Override// 自定义过滤逻辑是Spring框架中实现自动装配的核心机制之一,合理使用可以大大简化Spring应用的配置工作。掌握其各种配置选项和过滤机制,能够帮助我们更灵活地控制Spring容器的组件注册过程,构建更加模块化和可维护的应用程序。

2025-04-02 22:54:41 937

原创 Maven安装与配置完整指南

适用于Windows/Linux/macOS系统。正确配置后,可大幅提升Java项目的依赖管理和构建效率。是一个强大的项目管理和构建工具,广泛应用于Java项目开发。文件管理项目依赖,并提供了标准化的构建流程。,帮助开发者快速搭建Maven环境。协议,转载请注明出处。

2025-04-01 23:31:03 680

原创 Apache Commons Lang3 常用方法详解

Apache Commons Lang3 提供了大量实用的工具方法,可以显著减少开发者的样板代码,提高开发效率。本文介绍了其中最常用的方法,但 Lang3 的功能远不止于此。建议开发者查阅官方文档,了解更多高级用法。在实际项目中合理使用这些工具类,可以让代码更加简洁、健壮和可维护。但也要注意不要过度依赖第三方库,对于简单的功能,有时自己实现可能更合适。

2025-04-01 23:26:18 526

原创 关于 @Autowired 和 @Value 使用 private 字段的警告问题分析与解决方案

@Autowired和@Value到底该用private字段还是构造方法?

2025-04-01 23:15:58 1616

原创 MySQL索引优化全攻略:从原理到实战

在数据库性能优化中,索引优化无疑是最关键的一环。合理的索引设计能够将查询性能提升几个数量级,而不当的索引则可能导致数据库性能急剧下降。本文将深入探讨MySQL索引优化的各个方面,包括索引类型选择、复合索引设计、避免索引失效的实践、索引维护策略以及监控方法。索引优化是一门需要不断实践和调整的艺术。本文介绍了MySQL索引优化的核心原则和实践技巧,但实际应用中还需要结合具体的业务场景、数据特点和查询模式来制定最优策略。记住,没有放之四海而皆准的索引方案,只有适合当前系统的最优解。监控、分析、测试、调整。

2025-03-31 23:05:21 1378

原创 深入浅出数据库查询优化:从原理到实战技巧

是否只查询了必要的列?WHERE条件是否有效使用了索引?JOIN操作是否优化?是否避免了全表扫描?是否分析了执行计划?是否有合适的索引支持?

2025-03-30 22:43:33 728

原创 分页查询原理与优化方案完全指南

小数据量场景直接使用适当添加索引中等数据量场景优先使用键集分页次选延迟关联+覆盖索引大数据量场景分区表+键集分页考虑物化视图预计算使用专门的时序数据库通用建议避免大偏移量查询(OFFSET > 10000)为排序字段创建索引考虑业务是否需要精确总数(COUNT可能很昂贵)终极方案选择流程图fill:#333;color:#333;color:#333;fill:none;是小中大否开始是否需要随机跳页?数据量大小?LIMIT-OFFSET+索引延迟关联优化。

2025-03-29 10:00:00 1847

原创 教你快速掌握Linux的Vim操作

作为 Linux 下最强大的文本编辑器之一,Vim 以其高效的操作方式著称。虽然学习曲线陡峭,但一旦掌握,你的文本编辑效率将大幅提升。本文将全面介绍 Vim 的常用操作,助你成为命令行编辑高手!

2025-03-29 02:00:01 344

原创 数据库设计深度解析:十万行存储 vs 单字段存储十万数据的终极对决

优先选择行式存储需要高频随机访问数据项需要独立约束系统需要高并发更新优先选择单字段存储总是批量读写数据数据具有强关联性存储空间是主要瓶颈现代数据库最佳实践PostgreSQL的JSONB+生成列组合MySQL 8.0的JSON部分更新专用时序数据库处理时间序列数据终极建议“没有银弹,只有最适合的设计。在项目初期采用混合方案,随着业务发展逐步优化存储模型。

2025-03-29 01:43:59 729

原创 深入理解 Java 断言(assert):从原理到实战

你在项目中是如何使用断言的?异常,但这样会让代码变得臃肿。机制,就是为解决这类问题而生的调试利器。这是断言与异常的重要区别。是否属于程序员的逻辑错误?Java 出于性能考虑,是否可能在生产环境发生?Spring 自身使用。

2025-03-29 01:40:53 1250

原创 PostgreSQL连接池阻塞问题全解析:从排查到优化实战指南

PostgreSQL作为企业级关系型数据库,在高并发场景下,连接池管理不当可能导致严重的性能问题。你在实际工作中遇到过哪些棘手的连接池问题?欢迎在评论区分享你的排查经历!(需先加载pg_stat_statements扩展):某电商平台每天上午10点出现大量504超时。本文将深入剖析连接池阻塞的。

2025-03-29 01:33:25 1005

原创 PostgreSQL连接池监控与优化:pg_stat_activity详解及连接阻塞排查指南

如果连接池使用不当,可能会导致连接泄漏、阻塞甚至数据库崩溃。是 PostgreSQL 提供的系统视图,用于查看当前所有数据库连接的状态信息。通过它,我们可以分析哪些连接正在执行查询、哪些连接处于空闲状态,以及是否存在长时间运行的 SQL 导致阻塞。和锁分析,可以有效监控和优化 PostgreSQL 连接池,避免连接泄漏和阻塞问题。监控 PostgreSQL 连接状态,并针对连接卡住、阻塞等问题提供解决方案。很大),可能是应用代码未正确提交或回滚事务,导致连接无法释放。较大的查询,可能是性能瓶颈。

2025-03-29 01:30:33 785

原创 Java异或操作:程序员的“魔术开关“

魔术师:能实现数据交换/加密侦探:能找出异常数据清洁工:能快速清零变量“相同为0,不同为1”。不用临时变量交换值简单加密数据找数组中唯一数不妨试试这个神奇的位运算!🎩✨。

2025-03-28 00:02:55 330

原创 VMware Ubuntu 网络配置全攻略:从断网到畅通无阻

💡 推荐新手先用NAT模式,等熟悉了再玩桥接。写入以下内容(注意缩进!

2025-03-27 23:22:21 1639 1

原创 VMware安装Ubuntu实战分享:从下载到桌面的完整指南

养成定期拍快照的好习惯(系统搞崩了能秒恢复)!

2025-03-27 23:20:57 1175

原创 单例模式:程序界的“独裁者“是怎样炼成的?

普通类:狂造兵营,爆一堆机枪兵(费钱费资源)单例类:整个地图就一个指挥中心(省钱又高效)单例模式就是这个"指挥中心",保证整个程序"江山一统",绝不出现"军阀割据"!用得好:四海升平,资源统一用不好:民怨沸腾,bug丛生该独裁时独裁(如配置管理),该民主时民主(普通对象)

2025-03-27 22:39:39 607

原创 解锁Spring Boot异步编程:让你的应用“飞“起来!

优点:提高翻台率(吞吐量),顾客体验好(响应快)代价:管理复杂度高(需要处理回调/异常)IO密集型用异步,简单操作用同步。现在就去给你的Spring Boot应用装上"涡轮增压"吧!

2025-03-27 22:30:11 1120

原创 Java反射机制详解:原理、应用与最佳实践

动态获取类的信息(如类名、方法、字段、构造方法等)并操作对象的能力。它允许程序在运行时检查和修改类的行为,而不需要在编译时知道类的具体结构。反射是Java强大的特性,广泛应用于框架开发,但需谨慎使用以避免性能和安全问题。:适用于框架开发(如Spring、Hibernate)。:可以在运行时动态加载类、调用方法、修改字段。你在项目中如何使用反射?Java反射(Reflection)是指在。:反射比直接调用方法慢(JVM无法优化)。:可能破坏封装性(如修改。:反射代码较难维护。

2025-03-26 23:01:57 657

原创 Java泛型详解:从入门到精通

本文将详细介绍泛型的基本概念、使用方法、通配符、类型擦除机制以及实际应用场景,帮助你彻底掌握Java泛型。Java泛型(Generics)是JDK 5引入的一项重要特性,它允许在类、接口和方法中使用。泛型是Java中非常强大的特性,合理使用可以大幅提升代码的。你在使用泛型时遇到过哪些问题?,即在定义类、接口或方法时,使用一个占位符(如。等)表示类型,等到使用时再指定具体的类型。,即泛型信息在运行时会被擦除,替换为。泛型方法在方法返回类型前使用。Java泛型在编译后会进行。泛型接口在接口名后使用。

2025-03-26 22:59:18 713

原创 MyBatis-Plus缓存机制深度解析与SpringBoot整合实战

*** 自定义Redis缓存实现类*/// 读写锁保证线程安全// Mapper namespace标识// 从Spring容器获取RedisTemplate实例@Override@Override// 设置缓存,有效期2小时value,2,@Override// 从Redis获取缓存// 其他必须实现的方法...配置黄金法则fill:#333;color:#333;color:#333;fill:none;是否是否业务场景读多写少?

2025-03-25 23:29:17 993

原创 MyBatis-Plus LambdaQueryWrapper 详解:优雅构建类型安全的查询条件

它通过**方法引用(Lambda 表达式)**的方式引用实体类的属性,从而在编译期检查字段名的正确性,避免运行时因拼写错误导致的 SQL 异常。在 Java 开发中,MyBatis-Plus(MP)作为 MyBatis 的增强工具,提供了许多便捷的 CRUD 操作方式。可以让你的 MyBatis-Plus 代码更加健壮、优雅!是一个强大的查询条件构造器,它利用 Lambda 表达式实现。是 MyBatis-Plus 提供的一种。是 MyBatis-Plus 提供的。的查询条件拼接,避免了传统。

2025-03-25 22:13:24 1309

原创 Spring Boot深度解析:从核心原理到最佳实践

Spring Boot作为Spring生态中的"游戏规则改变者",自2014年发布以来彻底改变了Java企业级应用的开发方式。自动配置:基于类路径和已有Bean的智能默认配置起步依赖:简化Maven/Gradle依赖管理的Starter POMs命令行界面:支持Groovy脚本和快速原型开发Actuator:开箱即用的生产级监控端点版本演进:从1.x到3.x,支持Java 17+和Jakarta EE 9+性能提升:支持GraalVM原生镜像,启动时间<100ms生态整合。

2025-03-24 23:04:15 1109

原创 深入理解Spring框架:核心概念与组成剖析

Spring是一个开源的轻量级Java框架,其核心使命是简化企业级应用开发。它提供了一系列功能模块,帮助开发者高效应对依赖管理、事务处理、Web开发等常见挑战。Spring框架凭借其丰富的功能模块和强大的特性,为Java企业级开发提供了全面的解决方案。从核心容器的对象管理,到面向切面编程的横切关注点分离;从数据访问层对各类数据库的支持,到Web开发的MVC和响应式框架;再到事务管理及其他重要模块,Spring框架几乎涵盖了企业级开发的各个方面。

2025-03-24 22:56:59 1225

原创 CentOS 8 安装 Redis 全流程指南:从基础部署到远程安全配置

sudo dnf install tcl -y # 编译依赖。

2025-03-23 12:00:00 1160

Jasypt加密工具类

当前系统都注重安全,为了 防止明文暴露敏感信息,我们需要对特点的信息进行加密,该资源适用于springboot配置文件中敏感信息的加密,该资源实现了加解密的方法,帮助你快速的获得密文进行配置文件的配置。使用教程请查看我的博客:https://blog.csdn.net/qq_42763903/article/details/146246064?spm=1001.2014.3001.5502

2025-03-29

JVM知识点的思维导图

JVM知识点的思维导图

2025-03-19

sftp文件上传和下载

SFTP(SSH文件传输协议)是一种安全的文件传输协议,广泛用于在客户端和服务器之间传输文件。SftpUploadUtil工具类提供了连接SFTP服务器、上传文件、下载文件、删除文件以及创建远程目录的完整代码实现。

2025-03-17

Java日期工具类DateUtil

`DateUtil`是一个Java工具类,提供了常见的日期操作方法,包括日期格式化、日期解析、日期加减、日期比较等。通过这个工具类,开发者可以轻松地处理各种日期相关的需求。

2025-03-15

GBK乱码数据转UTF-8

由于程序缓存问题,导致数据库原存utf-8格式的数据,现在存进了GBK格式的数据导致乱码。需要将数据恢复,所以需要转码,现在将乱码数据导出存入Excel文件,通过java代码转换成utf-8格式的数据后打印update更新SQL语句进行输出到一个文件中保存。

2023-02-27

基于ssm校园论坛系统

项目采用前后分离模式开发 前端使用vue+elementUI 需要集成node.js环境,推荐工具vscode 后端使用Springboot+Mybatis架构,需要maven环境,推荐使用idea工具,jdk不低于1.8 数据库使用MySQL

2022-06-27

校园疫情防控管理系统(前端客户端代码)

该项目为校园疫情防控管理系统中的客户端代码,该项目使用的是vue+element ui进行编写 使用命令,安装该项目需要配置node.js,推荐使用开发工具为vscode 依赖安装:npm install 项目启动:npm run dev 打包:npm run build 后端代码:https://download.csdn.net/download/qq_42763903/85638841 本项目只有前端代码,如果不配置下载后端将无法运行项目,请谨慎购买!!!

2022-06-14

校园疫情防控管理系统(前端服务端代码)

该项目为校园疫情防控管理系统中的服务端代码,该项目使用的是vue+element ui进行编写 使用命令,安装该项目需要配置node.js,推荐使用开发工具为vscode 依赖安装:npm install 项目启动:npm run dev 打包:npm run build 后端代码:https://download.csdn.net/download/qq_42763903/85638841 本项目只有前端代码,如果不配置下载后端将无法运行项目,请谨慎购买!!!

2022-06-14

校园疫情防控管理系统(后端实现SSM)

校园疫情防控管理系统的设计与实现,该项目为本人毕业设计项目。 使用技术:springboot、Mybatis Plus、MySQL、Redis(Redis官网下载,推荐版本3.2.1)、OSS(阿里云官网申请) 该项目为后端项目,存在前端静态资源,可通过网址进行访问。 1. 前端客户端:http://localhost:8090/index.html 2. 前端服务端:http://localhost:8090/dist/index.html 3. 用户名:admin,密码:123456 4. 疫情数据获取接口可以使用swagger中文件上传中的(/oss/update-epidemic-data-on-redis) 5. swagger地址:http://localhost:8090/swagger-ui.html 前端服务端代码:https://download.csdn.net/download/qq_42763903/85639180 前端客户端代码:https://download.csdn.net/download/qq 需要前端代码可以在本人主页中其他资源下载

2022-06-14

摇一摇切换音乐(Android)

此项目是一个关于摇一摇切换音乐的项目,你可以晃动手机来切换网络,注意次项目只切换raw目录下单的音乐,使用的是加速度传感器

2019-05-22

MPAndroidChart.zip

MPAndroidChart.zip这个压缩包中包含了各种图标的代码和MPAndroidChart的jar包

2019-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除