疑难问题:JDK 1.8 java.lang.IllegalStateException信息排查

idea构建失败notnull问题:Module ‘day23‘ production: java.lang.IllegalStateException: @NotNull method..如何解决? 🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提 阅读详情

背景:生产环境有一个批量创建问文件夹的接口,接口逻辑一次传入多个文件夹名称,去发号器批量申请文件夹id

某个场景下前端入参的文件夹名称重复,导致服务端报错如下

代码:

public class MyTest {
    public static void main(String[] args) {
        List<mydto> mydtoList= new ArrayList<>(2);
        mydto a = new mydto();
        a.setId(100L);
        a.setName("a");

        mydto b = new mydto();
        b.setId(101L);
        b.setName("a");
        mydtoList.add(a);
        mydtoList.add(b);

        Map<String,Long> d =mydtoList.stream().collect(Collectors.toMap(mydto::getName,mydto::getId));
    }

}

class mydto {

    private String name;

    private Long id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

}

Exception in thread "main" java.lang.IllegalStateException: Duplicate key 100
	at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)
	at java.util.HashMap.merge(HashMap.java:1256)
	at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320)
	at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at com.fancv.MyTest.main(MyTest.java:21)

神奇的报错信息

jdk 1.8 的报错信息有误导性性, Duplicate key 100,让人容易理解 id重复了,事实上是 name 重复了,可能是幸运女神眷顾,在整个业务场景下爆出这错,团队成员都误认为是id重复了,耽误了半天时间,后边证实是 name重复了

相比之下 jdk 11 的提示信息友好很多

Exception in thread "main" java.lang.IllegalStateException: Duplicate key a (attempted merging values 102 and 101)
	at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:133)
	at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180)
	at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
	at com.fancv.MyTest.main(MyTest.java:21)

排查问题的思考

jdk1.8 的报错信息已经定位到具体行数,根据上下文可以推理出不可能id重复,如果是其他业务场景和id没关系,追到这也就可以了
排查问题尽可能的还原现场,排除干扰, 有自己的判断,当然基础是自己技术扎实。

有条件的团队尽快升级jdk11,时间拖得越久,升级的成本越大。

在UI界面中播放视频_unity基础开发教程 之前我写过一篇在场景中播放视频的文章,但是在开发中有时候也会在UI的界面中播放视频,这期我们做一下在UI的界面中播放视频。操作步骤比较简单,到这里就完成了,如果有问题的话可以在评论区留言,下期见,拜拜! 阅读详情

相关推荐

解决用加速器以后,电脑无法连接网络的问题

相信很多朋友也遇到过,用加速器以后,电脑网络直接断了,或者访问外网时打不开的情况解决办法是。

qq_46368050的博客 1万+

java.lang.IllegalStateException异常:简单分析和简单解决方案

今天写java文件下载程序,完成后使用一切正常,但是总抛出java.lang.IllegalStateException异常,虽然并不影响正常使用,但看了总让人觉得很不舒服,检查代码并没有错,最后上网查了不少资料,终于发现原因之所在。 我们在做文件上传或者下载,或者过滤等操作时,可能要用到页面的输出流.例如在action中使用:    response.reset();    response....

自由时飞扬 搬家拉 http://www.meiriyouke.net 3425

从代码层面分析STM32 标准库和HAL库的差异

相当于每个设置都是独立的函数。HAL库将一段代码通过宏定义的方式封装成了一个函数,每个端口的时钟都单独的定义了一个名称,标准库是一个独立的函数,通过参数传递的方式来设置每个端口的时钟。这两个版本的函数本质上操作的还是寄存器,不过HAL库操作的只是BSRR寄存器,而标准库端口置1的时候操作的是BSRR寄存器,端口清0的时候操作的是BRR寄存器。标准库设置端口模式的时候,是在if语句中判断之后直接设置的,而HAL端口模式设置时,却使用了switch语句去设置,说明在HAL库中,端口模式和标准库中发生了改变。

HXYDJ的博客 2万+

深入解析java.lang.IllegalStateException异常

是Java中的一个非受检异常,它表示在不适当的时间或状态下调用方法。日志记录工具:如Log4j、Logback等,可以记录异常信息和错误日志,方便排查和分析问题。断言工具:如Assert类,可以在程序中添加断言语句,用于验证代码中的假设条件是否满足,帮助我们在开发和测试阶段快速发现问题。异常处理框架:如Spring框架中的异常处理机制,可以统一处理应用程序中的异常,提供统一的异常处理逻辑和错误信息返回。异常是程序中常见的错误和异常情况,合理处理异常对于保证程序的正确性和稳定性非常重要。

博客 4万+

病理图像处理个人手札(三)WSI & MIL

1.什么是WSI? WSI全称是Whole Slide Image,也就是全视野数字切片,主要应用在病理学细胞图像领域。WSI 是利用数字扫描仪对传统的病理切片进行扫描,采集具有高分辨率的数字图像,再通过计算机将得到的碎片化图像进行无缝拼接整合,制作可视化数字图像的一项技术。与传统载玻片相比,很好地解决了传统的玻璃切片易损坏、易褪色、易丢片、检索困难的问题。 一言以蔽之,WSI是对传统载玻片进行数字化。 由于是全视野,因此它将包含多尺度的切片在一个文件上面。因此WSI将使用到金字塔模型满足其支持不同分辨率的

baiweizeng的博客 1万+

别急着让AI画板!聊聊Cadence Allegro X AI和OrCAD X在实际PCB项目中的真实体验

本文分享了Cadence Allegro X AI与OrCAD X在PCB设计中的实际应用体验,探讨了AI辅助Layout的效率提升与潜在陷阱。通过高速ADC采集板案例,详细对比了AI与传统方法在电源平面分割、低速信号布线等任务中的表现,并总结了人机协作的最佳实践,为工程师提供实用参考。

weixin_30836759的博客 2200

java.lang.IllegalStateException异常产生的原因及解决办法

问题描述: 错误类型大致为以下几种: java.lang.IllegalStateException:Cannot   forward   a   response   that   is   already   committed  IllegalStateException:response already commited  IllegalStateException

冷月宫主的专栏 1万+

第五章 TTM 后备管理:5.6系统内存域

系统内存域由 TTM 内置资源管理器管理,通过 ttm_tt 承载页信息,依赖 ttm_pool 提供物理页。ttm_tt 管理页数组、缓存属性与状态标志,支持外部页与换出机制。初始化分 ttm_tt_init 与 ttm_sg_tt_init,生命周期包括创建、填充、释放与销毁。页池针对 write-combined、uncached 及一致性 DMA 分配的页进行缓存,提升性能并减少 TLB 刷新。分配时高阶优先、批量设置缓存属性,回收时清零后归还池中,确保高效复用。

图形/计算GPU的驱动与虚拟化技术分享园地 2560

org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method [manageApp]

这是一个低级的错误,越想越气。 错误原因:粗心 出现的具体bug描述 21-Dec-2019 20:52:44.741 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method [manageApp] java.lang.I...

@起风了的博客 5417

YOLOv13多分支融合机制+SE注意机制 RepVGGBlock_OREPA架构 map提升4.89,召回率提升8.66

本文提出了一种改进的YOLOv13目标检测模型,通过引入RepVGGOREPA模块和重参数化技术,显著提升了模型性能。实验结果表明,采用RepVGGBlock后,mAP提升4.89,召回率提升8.66%。文章详细介绍了模型移植过程,包括创建YOLOv13-REPVGGOREPA配置文件、修改任务处理代码和模块初始化文件,并提供了完整的OREPA模块实现代码。该模块通过多尺度特征融合和SE注意力机制,实现了训练时的丰富表征能力和推理时的高效计算,为YOLO系列模型提供了新的优化思路。

FJN110的博客 2650

动画实例化:千人同屏不卡顿的秘密

是一种将大量相同骨骼结构的角色动画批量处理、批量渲染的技术。动画计算与渲染解耦,动画数据在CPU或GPU上批量计算,渲染时通过GPU Instancing一次性绘制大量角色。极大减少DrawCall,提升大规模角色(如MMO、RTS、群体AI等)动画的运行效率。动画Bake:编辑器下将所有动画片段Bake为骨骼矩阵纹理。实例参数管理:每个角色维护自己的动画状态、帧索引等。批量渲染:用DrawMeshInstancedIndirect等API批量渲染,Shader中采样骨骼数据。剔除与LOD。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 418

java.lang.IllegalStateException问题的发现与解决

以上的报错信息挨个查找,分别汇总为以下可能情况 1、tomcat 自启动问题 ,将server.xml重新配置为 reload=false ,依旧没有解决问题 2、内存溢出,将Tomact的内存设置变大以后,依旧没有解决的问题 3、类丢失,尝试重新加载JAR包,包括项目和Tomact的,依旧没有解决的问题 解决方案: 上面的报错信息看上去特别像是没有找到类,但是实

SinsiWoo的博客 3万+

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(17-32)

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(17-32)

weixin_45735391的博客 12万+

使用Servlet3.0 java.lang.IllegalStateException: !asyncSupported

使用Servlet3.0 java.lang.IllegalStateException: !asyncSupported

timebusker 1484

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Caused by: java.lang.IllegalStateException: 由于StackOverflower错误,无法完成

Caused by: java.lang.IllegalStateException: 由于StackOverflower错误,无法完成

阿宣的博客 6507

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

代码环境无更改,报:java.lang.IllegalStateException 错误

昨天下午项目突然报错java.lang.IllegalStateException,代码环境没有任何变动,网上搜索各种答案,大多数解决方案说本地代码没有问题,删除tomcat,项目从新部署,都试了,没有用,自己尝试重新拉取git代码运行,依然报错,直到一天后同事对我说 Ken,你本地启不来吗? ​[3:30 PM] eac连接的SQLSERVER数据库升级了按这个方式改一下。JDK用1.8的 ​[3:30 PM] eac升级, 操作如下 : 1,context.xml按上面说的加个select 1 2,

qq_45311792的博客 309

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA 项目启动异常java.lang.IllegalStateException

昨天下午更新完代码之后,项目就跑不起来,出现下面这异常, java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [net.sf.cglib.proxy.MethodProxy$FastClassInfo]. Th...

Daisy丶墨言的博客 5284

java.lang.IllegalStateException: Failed to load ApplicationContext

java.lang.IllegalStateException: Failed to load ApplicationContext

m0_63615119的博客 270

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before

前几天发布服务,结果发现了这么一堆堆问题。 ERROR [localhost-startStop-1] support.DefaultListableBeanFactory.destroyBean:581 - Destroy method on bean with name 'org.springframework.context.annotation.internalScheduledAnno...

cherry_chenrui的博客 2868

处理eclipse启动时报java.lang.IllegalStateException

这是我写的第一篇博客,博客我来了; 我是好学的人,希望在这上面遇到志同道合的人,对技术有更高追求的人; 重启eclipse的时候报出来 An error has occurred, See the log file 日记地址 我看日记看到最后报错信息是java.lang.IllegalStateException: Unable to acquire appl

y15201653575的博客 1万+

java.lang.IllegalStateException: 启动子级时出错

适用于新手的 Web 部署时的 java.lang.IllegalStateException 错误

qq_56335560的博客 2万+

java.lang.IllegalStateException 启动子级时出错

本章是存放我遇到该异常子类的文章,但凡是涉及此异常都会放在里面, 所以会多次更新,如果有遇到其他困难可以告诉我,我可能碰到过有帮助就帮忙给个赞或者关注吧!!!!!【鞠躬】 1.2、详解: 前提: 行动: 原因: 更改前:更改后:仍然提示: 正确形式:...

fwdwqdwq的博客 1407

解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错

解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错 问题复现:   笔者将一个在Tomcat安装目录下的文件夹webapps部署成功且运行正常的Web应用,改成使用IntelliJ IDEA工程中的文件夹webapp来部署。这之中,笔者没有改动原Web应用文件夹内的任何文件,但却在IntelliJ IDEA中运行时直接报错。 笔者报错时的运行环境: JDK 13.0.2 MySQL 8.0.21 Hi

暗诺星刻的博客 1万+

java.net.ConnectException: Connection refused: no further information,zookeeper连接不上问题解决

项目场景: 连接linux虚拟机(32位centos)上的zookeeper时一直连接不上并报错。 问题描述: 报错信息: java.lang.IllegalStateException: zookeeper not connected java.net.ConnectException: Connection refused: no further information 原因分析: 报错信息里面也写的比较明白了: zookeeper not connected:zookeeper没连上 Conn

qq_45794049的博客 1万+

Spring Boot与Log4j2集成之java.lang.IllegalStateException: Logback configuration error detected:

引言: 一个问题的分析与解决过程是表与里的过程,是一个大胆猜测与小心求证的过程,spring boot与log4j2的集成过程中,我将描述一下分析这个问题的思路和过程。 我一直强调一点: 重要的不是解决问题的结论,而是解决问题的思路和方法,即使在解决完问题之后,依然需要回过头复盘,在问题分析过程中的走过的弯路。1 项目情况介绍Spring Boot 1.5.7 , JDK 1.8, Log4j2.

木小鱼的笔记 6万+

java servlet not supported_使用Servlet3.0新特性asyncSupported=true时抛异常java.lang.IllegalStateException: N...

最近在运用Servlet3.0新特性:异步处理功能的时候出现以下了2个问题:运行时会抛出以下两种异常:一月 19, 2014 3:07:07下午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service()for servlet [servletTest.AsyncServlet] in context with...

weixin_36310376的博客 161
上一篇: IDEA for mac index 分析解决
下一篇: Spring Security 注解AuthenticationPrincipal 失效排查
hamish-wu
博客等级 码龄15年 2814粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值