- 博客(137)
- 资源 (11)
- 收藏
- 关注
原创 Spring Boot百万级Excel处理解决方案
对于超过500万行的数据集,建议采用分片导出机制,通过多个Excel文件打包为ZIP输出,避免单个文件过大导致的客户端处理问题。该方案已在电商订单导出(单文件120万行)场景验证,在4核8G服务器上平均耗时4.8秒,内存峰值稳定在200MB以内。fastexcel写入。
2025-08-11 16:52:37
882
原创 jobrunr xxljob 怎么选?
Spring Boot任务调度方案对比:JobRunr vs XXL-JOB JobRunr适合轻量级微服务场景,采用去中心化架构,支持异步任务,集成简单,适合Java开发者与Spring生态无缝协作。XXL-JOB是企业级调度方案,提供中心化管理、任务分片和DAG支持,适合复杂调度需求,但需额外部署调度中心。 选型建议: 选择JobRunr:微服务架构、代码驱动、无需复杂任务依赖 选择XXL-JOB:企业级调度、需要任务分片/DAG、强UI管理 两者均支持定时任务和失败重试,主要区别在于架构模式和功能深度
2025-07-31 16:30:24
906
原创 Spring Boot 事务方法没有异常,为什么事务还是回滚了?
Spring Boot事务方法无异常却回滚的常见原因包括:1)未捕获的异常未向上抛出;2)异步方法导致事务上下文丢失;3)受检异常未配置回滚;4)自调用绕过事务代理;5)数据库引擎不支持事务;6)代码中手动设置了回滚。需检查异常处理方式、事务传播机制及数据库配置,确保事务注解正确生效。
2025-07-28 10:43:09
306
原创 DK21虚拟线程兼容性问题大揭秘!开发者必看
摘要: JDK 21的虚拟线程(Virtual Threads)在I/O密集型任务中表现优异,但与synchronized的兼容性问题可能导致性能下降甚至死锁。问题根源在于虚拟线程执行synchronized代码块时会固定到平台线程,阻塞资源。常见表现包括性能退化(如同步集合类并发受限)和诊断困难(如-Djdk.tracePinnedThreads可能引发Bug)。 解决方案: 替换为ReentrantLock:避免线程固定; 使用无锁集合(如ConcurrentHashMap、CopyOnWriteArr
2025-07-15 13:46:41
380
原创 JDK 17 升级指南:性能提升30%的秘诀,现在上车还不晚!
升级 JDK 17 不仅是获取性能增益(GC 优化、低延迟)和安全加固(TLSv1.3、漏洞修复)的关键举措,更通过语言特性(密封类、记录类)和工具链改进大幅提升开发效率。作为长期支持版本,它为企业级应用提供了稳定的技术基座,同时通过孵化器特性(如外部函数API)为未来技术演进铺路。
2025-06-17 14:01:51
929
原创 提高 Maven 项目的编译效率
提高 Maven 项目的编译效率可以从多个方面入手,从优化 Maven 配置、利用多核处理器、缓存依赖、并行构建整理总结。这样可以显著提高编译速度,同时减少不必要的任务。
2025-05-23 14:29:41
506
原创 UI-TARS与Midscene.js自动化探索
通过上述方案,可快速构建基于自然语言的 UI 自动化流程,显著降低脚本维护成本。如需进一步优化,建议参考。通过自然语言指令驱动页面交互,UI-TARS 解析指令并生成精准操作(点击、输入、滚动等)。:对于关键断言,可结合传统断言库(如 Jest)提升稳定性。从页面中提取结构化数据,结合 UI-TARS 的。通过自然语言描述预期结果,UI-TARS 结合。能力,支持动态元素识别。:价格监控、数据爬取等。
2025-03-23 20:29:13
1301
原创 使用Spring AI调用Ollama的DeepSeek模型实现结构化输出
接下来,在 Spring Boot 项目中使用 Spring AI 框架与 Ollama 服务进行交互,并实现结构化输出。首先,需要在 Docker 中部署 Ollama 并下载。
2025-02-25 11:08:51
689
原创 在 Docker Swarm 中部署 Spring Boot 应用并区分日志
在Docker Swarm中,如果你创建了一个服务并指定了多个副本(例如通过--replicas参数),那么这些副本可以运行在集群中的任何节点上。如果多个副本恰好运行在同一台服务器上,并且你挂载了相同的日志目录,这确实可能导致日志文件冲突。
2024-11-08 16:12:01
590
原创 使用Spring Boot和Micrometer实现交易度量监控
在现代的微服务架构中,对服务的性能和健康状况进行实时监控变得至关重要。Spring Boot 以其便捷的开发方式而广受欢迎,而 Micrometer 则是用于收集和报告度量信息的强大工具。本文将介绍如何利用 Spring Boot 和 Micrometer 实现对交易过程中的关键度量信息的收集和监控。
2024-10-22 17:07:06
440
原创 Coding.net 堡垒机 Agent 进程消失的诊断与解决方案
通过这次事件,深刻意识到及时监控和自动化运维的重要性。希望本文能够帮助遇到类似问题的技术人员快速定位问题,并采取有效措施恢复服务。由于该进程对于持续部署稳定运行至关重要,需要迅速找出问题的原因并制定相应的解决方案。的状态,并在进程消失时自动重启。进程消失而导致的服务中断,决定编写一个简单的 Shell 脚本来监控。为了防止未来再次发生类似的问题,我们需要进一步调查。在日常运维工作中,遇到了一个突发事件:堡垒机上的。的运行机制,并确保系统配置正确无误。进程不存在,临时措施如下。
2024-09-26 13:50:41
430
原创 记录异常,不存在的方法 void org.springframework.util.Assert.notNull(java.lang.Object)
最终升级swagger相关依赖解决。
2024-09-14 13:57:39
1217
1
原创 SecurityFilterChain相关的配置和示例说明
最近在做技术升级工作,Spring Boot 2.x升级Spring Boot 3.x自然也就涉及到Security(Security5.x升级Security6.x)`SecurityFilterChain`相关的配置和示例说明。
2024-09-11 15:19:28
1244
原创 在Jenkinsfile中,自定义environment相关参数
在Jenkinsfile中,environment定义VER,若BRANCH_NAME是master,则VER为master,其他为latest。2、根据 BRANCH_NAME 设置 VER 为 “master” 或 “latest”。1、设置 CURTIME 为当前的日期时间戳。3、打印出这两个环境变量的值。
2024-08-30 14:52:34
647
1
原创 springboot2.x到springboot3.x的一些变化和示例说明
最近在做微服务版本升级工作,整理springboot2.x到springboot3.x(spring5.x到spring6.x)的一些变化和示例说明。
2024-08-08 18:43:34
795
原创 JDK8优化JVM总结
默认垃圾回收器当前大多数应用仍然使用JDK 1.8,并且默认的年轻代垃圾回收器是Parallel Scavenge。Parallel Scavenge回收器旨在最大化吞吐量,适合对CPU使用率有较高要求的应用场景。默认情况下,Parallel Scavenge回收器启用了AdaptiveSizePolicy,该策略会动态调整Eden区和Survivor区的比例。这种动态调整可能会导致Survivor区变小,使得更多的对象在年轻代的几次垃圾回收之后直接晋升到老年代。潜在问题。
2024-08-07 11:13:02
656
原创 基于角色的访问控制(Role-Based Access Control,简称RBAC)
RBAC的核心思想是“职责分离”和“最小权限原则”,以确保系统的安全性和合规性。
2024-07-21 17:10:34
1900
1
原创 Eclipse Temurin Docker镜像
Eclipse Temurin 在 Docker Hub 上提供了多个版本的 Docker 镜像
2024-07-19 19:03:19
3986
原创 分库分表场景下,如何设计与实现一种高效的分布式ID生成策略
Snowflake算法,由Twitter开源,是一种广泛应用于分布式系统中的ID生成方案。它通过一个64位的ID表示,将时间戳、数据中心ID、机器ID和序列号组合在一起,确保了ID的全局唯一性和趋势递增性。1位符号位,始终为0,表示正数。41位时间戳,精确到毫秒,可以支持大约69年的时间跨度。10位数据中心ID,可以部署在1024个不同的数据中心。10位机器ID,单数据中心可以部署最多1024台机器。12位序列号,每毫秒内可生成4096个ID。
2024-06-06 18:38:01
833
1
原创 Spring Boot进阶 - Actuator监控
如果你需要创建自定义的端点,可以定义一个实现// 返回自定义的数据 return "This is data from a custom endpoint";} }// 返回自定义的数据 return "This is data from a custom endpoint";} }// 返回自定义的数据 return "This is data from a custom endpoint";} }
2024-05-12 08:26:56
1127
原创 Spring Boot进阶 - Starter自定义
自动配置是自定义starter的核心部分,它让Spring Boot根据特定条件(如类路径上的某些类或属性的存在)自动设置bean。通常,在下创建一个新包,比如,并在此包下编写配置类。使用注解标记该类,并可能使用等条件注解来控制自动配置的启用。在目录下创建import org// 更多配置属性... // Getter and Setter }// 更多配置属性... // Getter and Setter }// 更多配置属性... // Getter and Setter }
2024-05-12 08:26:31
1340
原创 Spring Boot应用部署 - JAR包部署瘦身
在日常开发测试环境中,随着业务代码的增加,Maven依赖的jar包也越来越多,导致工程包越来越大。通过阿里云流水线部署时,构建时长逐渐变得不够使用。为了解决这个问题,我们提出了以下瘦身部署方案。
2024-05-12 08:25:50
655
原创 python - pip安装及使用详解
pip是 Python 开发不可或缺的工具,掌握其基本使用方法能极大地提高开发效率。无论是安装、升级、卸载还是查询包,pip都提供了简洁易用的命令行接口。随着 Python 生态系统的不断壮大,熟悉pip的使用将帮助你更好地管理和利用丰富的第三方库资源。
2024-05-12 06:45:00
3974
原创 Spring Boot进阶 - Starter原理
Spring Boot Starter的原理主要是为了简化Spring应用的配置和初始化过程,让开发者能够快速启动并运行应用,而不需要手动配置大量的XML或Java配置类。这些自动配置类定义在各个Starter中,它们包含了对特定场景(如Web服务、数据库访问、安全等)的默认配置。文件是Starter自动配置的关键。通过这种方式,Spring Boot Starter机制大大简化了Spring应用的搭建和配置工作,使得开发者能够更加专注于业务逻辑的实现,而不是基础设施的搭建。文件中声明自动配置类。
2024-05-11 23:42:50
669
原创 Spring Boot进阶 - 实现自动装配原理
Spring Boot的自动装配机制通过、条件注解以及文件的配合,实现了根据应用环境自动配置bean的功能,大大减轻了开发者的手动配置工作,提高了开发效率。开发者只需关注业务逻辑,而大部分基础设施和服务的配置由Spring Boot自动处理。
2024-05-11 23:42:10
694
原创 Spring Boot应用部署 - Tomcat/Jetty/Undertow容器对比和使用场景
在前面的文章中,我们介绍了如何替换Tomcat容器,现总结下Tomcat/Jetty/Undertow容器。
2024-05-08 22:05:21
1381
原创 Spring Boot应用部署 - Tomcat容器替换为Undertow容器
完成以上步骤后,重新构建并运行你的Spring Boot应用,它现在应该使用Undertow作为Web服务器了。更改容器后需要根据Undertow的特点调整一些特定的配置或优化,以确保应用正常运行且性能最优。你还可以通过Spring Boot的配置文件(通常是。依赖中排除Tomcat。
2024-05-08 21:58:54
1556
原创 Spring Boot应用部署 - Tomcat容器替换为Jetty容器
完成上述修改后,确保重新构建你的项目,以便Maven下载新的依赖并更新你的应用配置。由于实际日志内容会根据你的具体环境(如Spring Boot版本、Jetty版本、具体应用配置等)有所不同,我将提供一个简化的示例来说明Spring Boot应用使用Jetty启动时可能出现的日志输出。这段示例日志展示了Spring Boot应用启动的几个关键步骤,包括Spring Boot的启动信息、Jetty服务器的初始化、以及最终的成功启动消息,包括绑定的端口(在这个例子中是8080)。中添加Jetty的起步依赖。
2024-05-05 18:04:36
1400
原创 Docker中的Java基础镜像OpenJDK和OracleJDK
Docker中的Java基础镜像主要围绕OpenJDK和Oracle JDK两个主流的Java开发环境,提供了多个版本以适应不同的项目需求。
2024-04-30 17:14:38
9608
2
原创 yarn安装和使用
Yarn是Facebook在2016年推出的一个新的JavaScript包管理器,它解决了npm(Node.js的默认包管理器)存在的一些问题,如安装速度慢、依赖管理复杂等。Yarn提供了更快、更可靠、更安全的包管理体验。下面是如何安装和使用Yarn的基本步骤。
2024-04-30 11:18:07
726
原创 Spring Boot应用部署 - WAR包部署
如果您正在运行Tomcat服务,它会自动检测到新部署的WAR文件并进行解压及部署。如果您尚未启动Tomcat,启动后它同样会处理新部署的WAR文件。将Spring Boot应用部署为WAR包并部署到外部Tomcat服务器上,需要进行一些特定的配置和步骤。为了防止与外部Tomcat服务器产生冲突,需要在构建配置中排除Spring Boot的内嵌Tomcat依赖。按照以上步骤,就能成功将Spring Boot应用打包成WAR文件并部署到Tomcat服务器上了。将生成的WAR文件复制到Tomcat的。
2024-04-28 10:41:03
1266
2
原创 Spring Boot应用部署 - JAR包Docker部署
要使用Docker部署Spring Boot应用,需要创建一个Dockerfile来定义如何构建Docker镜像,并且可能还需要在Maven构建脚本中集成Docker插件以简化构建过程。
2024-04-28 10:33:43
1611
原创 Spring Boot应用部署 - JAR包部署
Spring Boot应用部署采用打包成JAR文件的方式,旨在利用其内置的嵌入式Tomcat或其他Servlet容器,简化传统Web应用部署流程。
2024-04-27 18:37:33
1187
原创 记录阿里云服务器清理DDoS木马病毒<paraiso.x86>
"paraiso.x86" 可能是指一个特定的软件、项目或代码库。为了预防未来的攻击,加强系统安全措施,如定期更新系统和软件、使用强密码、限制远程访问等。2、 相同IP,使用云安全组直接封禁(非ECS使用防火墙限制不必要的网络连接。可以使用iptables命令来配置防火墙规则,只允许必要的网络连接)登录阿里云,安全中心,发现服务器被攻击,密码泄露(密码设置太简单,已升级强密码)发现大量与未知IP地址建立的连接,存在DDoS木马病毒。3、删文件,检查进程并杀掉大量僵尸进程。
2023-08-08 10:35:09
1667
原创 在Spring Boot中集成RocketMQ后,通过初始化代码来自动创建主题和消费分组
通过在Spring Boot中编写这样的初始化代码,你可以在应用启动时自动创建RocketMQ的主题和消费分组。这样可以确保在应用运行时,所需的主题和消费分组已经存在,从而避免手动创建的麻烦。然后,你可以编写一个初始化类,使用RocketMQ的Admin API来自动创建主题和消费分组。在Spring Boot中集成RocketMQ后,通过初始化代码来自动创建主题和消费分组。在上面的示例代码中,我们通过RocketMQ的Admin API来创建主题和消费分组。方法来创建主题,并指定队列数量和主题副本数。
2023-07-26 15:28:28
2846
3
原创 springboot集成mybatisplus
使用Spring Boot集成Mybatis Plus可以大大简化Mybatis的配置和使用,提高开发效率。Mybatis Plus提供了简单的CRUD,可以大大简化开发。
2023-06-13 16:21:10
161
Ibatis开发实例
2012-04-17
Spring_Security-3.0.1_中文官方文档
2012-04-17
neatdm1.4.10
2023-06-09
在LINUX下安装JDK1.6
2012-04-17
FreeMarke实例代码
2012-04-17
代码统计工具
2012-04-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人