自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 记一次线程池公用导致的饥饿死锁线上问题

订单履约系统发生线程池死锁,200个线程中193个阻塞在CompletableFuture.get()调用上。分析发现是公共线程池被异步任务占满,导致内层同步任务无法执行。解决方案包括:业务维度/调用层次/流量特征的线程池隔离策略,Spring Boot配置示例,以及熔断降级、动态调参等进阶方案。总结5条经验:禁止跨层级共享线程池、强制命名线程、配置限流、异步防御编程和监控要求。最后指出Jetty采用自适应调度机制的启示,认为更先进的并发模型才是根本解决方案。

2025-05-29 11:53:34 416

原创 慎用parallelStream,你该知道的那些坑

Java 8引入的parallelStream为开发者提供了便捷的并行处理方式,但其使用中存在多个潜在问题。首先,线程安全问题常见于非线程安全集合的并行操作,建议使用线程安全容器或内置收集器。其次,共享资源竞争可能导致性能下降,应避免使用共享计数器,改用内置计数方法。此外,所有parallelStream共享同一个默认线程池,可能引发资源竞争和性能问题,建议使用自定义线程池。并行流并非适用于所有场景,小数据集、数据分区不均或顺序敏感操作可能导致性能反降。阻塞操作会阻塞线程池,影响全局性能,应结合Comple

2025-05-13 14:27:07 688

原创 【实战解决方案】Spring Boot+Redisson构建高并发Excel导出服务,彻底解决系统阻塞难题

在电商后台开发中,高并发Excel导出服务常导致系统卡顿,主要问题包括同步阻塞、内存爆炸、IO瓶颈和缺乏流量控制。为解决这些问题,本文提出了基于Spring Boot和Redisson的高性能导出服务解决方案。该方案通过分布式任务队列(Redisson Queue)、流式数据处理(MyBatis游标 + SXSSFWorkbook)、海量文件存储(阿里云OSS分片上传)和任务状态管理(MySQL + Redisson Topic)等技术,构建了一个高效且可扩展的导出服务。核心代码包括任务提交接口、MyBat

2025-05-13 13:52:10 964

原创 Spring Boot 线程池监控与配置实战:从理论到生产实践

本文从线程池理论到 Spring Boot 实践,提供了完整的生产级解决方案。差异化配置:区分 IO 密集型和 CPU 密集型场景全维度监控:指标采集+日志输出+可视化看板动态调整:支持运行时参数热更新智能预警:基于指标的自动化告警机制通过这套方案,我们成功将线上系统的线程池相关故障减少了 80%,资源利用率提升了 40%。建议读者根据自身业务特点调整参数,并持续监控优化。

2025-04-23 11:44:28 825

原创 Dubbo服务注册与发现机制源码解析

Dubbo服务注册与发现机制源码解析

2025-03-10 17:44:11 398

原创 微信网页授权域名限制解决方案:统一/代理授权入口设计

通过授权代理服务,解决微信网页授权回调域名配置数量限制

2025-03-10 17:06:46 1030

原创 SpringBoot 集成 DeepSeek 与 Flink 构建用户个性化内容推荐系统

通过 SpringBoot 整合 Flink 与 DeepSeek,开发者能够构建高效、智能的个性化推荐系统。该方案兼具实时性与准确性,适用于电商、社交、教育等多个领域。未来可进一步探索联邦学习与多模态推荐,提升系统的场景适应能力。参考源码Flink 实时处理示例DeepSeek 集成文档SpringBoot 服务模板。

2025-02-28 17:21:10 1468

原创 feign客户端使用FORM形式POST数据两种方式

本文主要介绍feign 发送 form-url-encoded POST请求的两种方式

2025-02-28 16:49:01 1448

原创 高并发下HashMap死锁问题:源码级解析与循环链表的诞生

HashMap是Java中使用最频繁的数据结构之一,但在高并发场景下,它却隐藏着一个危险的“陷阱”——**多线程扩容死锁**。这种问题会导致CPU占用率飙升,程序陷入“假死”状态。本文将通过**源码解析+场景推演**,带你彻底理解死锁成因,并给出解决方案。

2025-02-13 18:51:49 625

原创 Java实现双色球&大乐透随机选号算法——原理详解与代码实战

掌握核心语法:集合操作、随机数生成、排序。贴近实际场景:将编程知识应用于生活问题的解决。

2025-02-13 17:14:09 1655

原创 解决 IOS HEIC原图上传 OSS 后H5/浏览器无法通过链接访问显示的问题

在 iOS 平台上,用户选择原图上传至阿里云 OSS 后,其他平台(如 Android、H5)无法通过链接访问和显示该图片。主要原因是 iOS 原图文件较大,且可能包含非标准格式的元数据,导致其他平台无法正确解析HEIC格式图片。_IOS通过以上方案,您可以有效解决 iOS 原图上传 OSS 后无法通过链接访问显示的问题。

2025-01-21 11:06:31 743

原创 解决 MyBatis 异常:java.time.DateTimeException: Invalid value for DayOfMonth (valid values 1 - 28/31): 0

该异常的根本原因是数据库中字段的值包含非法日期时间(如或),而 MyBatis 在映射结果集时无法将其转换为合法的对象。本文将详细分析该异常的原因,并提供解决方案。通过 SQL 查询,查找字段中不合法的日期时间记录。可以使用正则表达式检查日期时间格式的合法性。^[0-9]{4}找到非法日期时间记录后,可以根据具体情况修正这些记录。NULL将非法日期时间设置为NULL。将非法日期时间修正为一个默认值(如如果某些日期的错误是已知的(如应修正为。

2025-01-18 10:46:16 545

原创 SkyWalking 线程池异步任务链路追踪

Apache SkyWalking 提供了一套包装类来支持编程方式下的异步跟踪。这些包装类可以确保在使用线程池或并行流时,跟踪上下文(如 Trace ID)能够正确地在异步任务之间传播。通过遵循上述指导原则,您可以在应用程序中有效地实施异步任务的链路追踪,从而简化调试和性能分析过程。来包装您的任务,以确保跟踪上下文的正确传播。当处理并行流时,可以分别使用。来包装流中的转换和消费操作。对于线程池,您可以使用。来包装供给型异步任务。

2024-12-07 18:53:56 755 1

原创 解决python VSCode中报错 E501:Line too long (99>79 characters)

当前行超出了默认的单行字符配置。

2023-06-27 16:53:25 6282 4

原创 一键解决maven依赖冲突IDEA插件

提示:本文主要介绍了一种自研IDEA插件,一键解决maven依赖冲突。

2022-10-19 15:28:17 7300

原创 【解决 io.grpc.StatusRuntimeException: UNIMPLEMENTED: Method not found】

io.grpc.StatusRuntimeException: UNIMPLEMENTED: Method not found,本文主要介绍几个排错方向,是本人grpc开发过程中遇见比较多的场景,希望能帮助到各位欢迎提供新的解决思路

2022-03-25 14:07:33 5981

原创 解决Java ImageIO.write处理PNG图片太慢的问题

在JDK7、8版本中用 ImageIO.write进行图片输出时,如果输出PNG格式图片非常的缓慢Poor performances of imwrite, especially for png extension.上代码-解决前:@Testpublic void testWirte() throws Exception { String dir = "/Users/user/Downloads/testimg/"; final MockMultipar..

2021-10-31 12:59:16 6531 1

原创 Java读写gif格式图片,解决ImageIO读取gif文件只读取第一帧的问题(read and write gif format pictures in Java)

//Java API方式读取giffinal BufferedImage bufferedImage = ImageIO.read(new File(dir + "6.gif"));//输出到新的文件ImageIO.write(bufferedImage,"gif",new FileOutputStream(new File(dir + "6-out.gif")));//发现6-out.gif变成了静态图片原因 ImageIO.read(new File(dir + "6.gif")) .

2021-10-26 20:37:56 3160

原创 Mac M1 Pro外接显示器模糊的解决方案

近期公司配发了一台Mac M1 2020,第一次用Mac笔记本产品,兴奋之余日常开发多屏显示是必备,可是扩展显示器显示非常模糊,致电苹果官方客服后,客服给出了苹果官方解决扩展显示器模糊的操作步骤,现总结如下,希望能 帮助到各位打开系统偏好设置2.选择 显示器3.按住 option 键,单击 缩放 选项以显示出当前显示器所支持的所有分辨率列表4.选择一个适合的分辨率,即可...

2021-03-23 17:25:22 11170 7

原创 解决Spring AOP拦截父类中方法失效问题(intercept call to superclass method using Spring-AOP)

解决Spring AOP拦截父类中方法失效问题解决方案1、子类中显式覆盖(@Override)父类中的方法2、使用 execution & target 方式定义pointcut3、第二种方法的变种问题引出入坑步骤解决过程DEMO 完整代码解决方案如题,如果想在AOP中拦截某个具体子类中继承自父类的方法,需要按照如下两种方式完成1、子类中显式覆盖(@Override)父类中的方法父类方法public abstract class GenericDao<T> { p

2020-12-05 16:02:29 4941

原创 CentOS 7下安装 Redis 6.0.6 & 常见安装错误处理

CentOS 7 下安装Redis-6.0.6 & 常见错误解决一.整理后完整安装步骤二.过程步骤三.步骤拆解 & 解释本文主要介绍在CentOS 7下安装Redis-6.0.6的详细安装步骤,以及一些常见安装遇到的问题原因及解决过程,起初本人参照官方文档在纯净Centos7下进行安装,遇到各种问题,查阅资料按步骤解决并总结过程。一.整理后完整安装步骤shell > yum -y install gcc tclshell > yum -y install centos-r

2020-08-26 16:42:23 1391 1

原创 Mysql5.7高可用之-基于binlog文件位置的主从同步配置

Mysql5.7高可用之-基于binlog文件位置的主从同步配置1、环境规划2、安装MySQL3、配置Master4、创建Master Dump文件导入Slave数据库5、配置 Slave6、验证本文主要参照MySQL 5.7 Reference Manual文档,介绍在CentOS 7下,基于binlog文件的主从同步MySQL高可用方案,网上其他文章配置多掺杂其他与主从复制本身无关的配置选项,本着极简配置的原则撰写此文。1、环境规划本次规划采用一主一从配置主机IP角色172.

2020-08-05 16:52:20 807

原创 零基础 CentOS 7 下安装MySQL5.7 步骤

CentOS 7下安装MySQL5.7CentOS 7下安装MySQL5.7(参考官方安装文档)新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入CentOS 7下安装MySQL5.7(参考官方安装文档)本文主要介绍在Ce

2020-07-03 09:43:16 194

原创 fastjosn处理‘\‘反斜杠报错问题的处理

Spring MVC 使用fastjson做序列化反序列化时处理带有反斜杠’\’等特殊字符的处理一次在Spring mvc中引入 fastjson作为JSON解析工具类的时候,在接收含有特殊字符的JSON串时遇到了如下异常 com.alibaba.fastjson.JSONException: syntax error, expect {, actual string, pos 0,

2017-11-27 17:36:49 1482

转载 /bin/sh^M:损坏的解释器: 没有那个文件或目录

问题原因:在windows下编辑的脚本文件,为DOS格式;解决方案三种:1、使用用DOS2UNIX转为UNIX格式2、执行文件前,先执行 sed -i 's/\r$//' xxx.sh,进行替换操作;然后再执行3、使用vim命令,打开文件执行:set ff=unix:wq

2015-11-04 10:26:00 899

tomcat启动报错

严重: The web application [/shenhua_iam_webapp] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak.2013-10-16 17:44:32 org.apa...

2013-10-16 18:00:13 393

原创 javax.servlet.jsp.el.ELException: Encountered ""\n", expected one of [, , , "tr

我们在web项目开发中,如果你的JSP页面引用了JSTL标签后展示以下信息 javax.servlet.jsp.el.ELException: Encountered ""\n", expected one of [, , , "true", "false", "null", "(", "-", "not", "!", "em

2012-11-21 15:47:51 443

原创 Hibernate多对多关系查询HQL的写法

hibernate中的多对多关系中,例如新闻对象News 和新闻对应的关键词对象KeyWord对象,两者对象中分别包含一个对方的List集合,当需要通过关键字找到所有对应的News或者需要通过新闻找到新闻对应的所有关键词时,我们需要如下书写HQL语句例如News中含有private List keywords的属性,我们需要根据某个关键词查找关键词对应的newsFROM News ne...

2012-11-14 20:56:10 223

idea插件一键解决maven依赖冲突

本插件参考58开源插件MavenManager,采用dependencyManagement方式,一键解决Java开发过程中使用maven作为依赖管理时的jar包依赖冲突问题,相比MavenHelper更加省时省力,jar包版本采用最新版本号原则

2022-10-19

myeclipse反编译插件jadClipse java开发必备

JadClipse 是一款快速的反编译插件工具,适合使用Eclipse MyEclipse进行开发的java开发人员

2012-07-30

空空如也

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

TA关注的人

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