首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

记一次SpringBoot启动异常,jar问题排查分析

不可用 ❞ 通过异常第一行就可以得知,是在 Spring 创建“serverEndpointExporter”beanW 时候抛出,是这个配置类,原因是:ServerContainer 这个对象不可使用...抛出异常类是:AbstractAutowireCapableBeanFactory.java:1769 分析这里就可以得知,是在spring创建serverEndpoint时候异常了, “那么异常原因是...里面抛出异常,catch是捕捉到invokeInitMethods这个异常方法,然后才抛出,这样就可以开始调试了。...这个类,原来是一个接口,那个ServerContainer肯定有的实现类,通过IDEA查看好人,到这个小编大概就明白了这个项目的其他jar包,引发了冲突。...一下maven,项目就正常启动啦~~~~~~ 四、划重点 本文针对某个异常、或者某个具体问题另外来进行分析,分享解决这个异常一个过程。

1.8K21

面试抽集二

8.HTTP/2 9.多版本兼容 JAR ActiveMQ执行流程 mq执行需要开启mq服务器 MQ就是我主线程可能要发送一个短信,但是这个短信不是自己程序,如果放到主程序里面,这个短信发送失败...,我整个程序都无法执行下去了.所以我们将发送短信这个功能抽取出来,在主线程中使用mq,一旦我需要发送短信时候就创建一个生产者,创建完毕主线程就继续执行,抽取出来功能使用监听,一旦监听到主线程生产了一条信息...: 1.可以选择不抛出异常 2.抛出异常则必须遵从父类方法抛出异常异常类型小于等于父类异常,因为在向上造型为父类类型时,调用此方法,会出现父类无法处理异常类型) 3.不可抛出异常(原因同上...) 4.当子类方法同时重写了父类和接口中方法时,则不能抛出异常(除非接口和父类抛出异常一样,此时可抛出这类异常,原因同第2点一样) 什么是Java序列化,如何实现Java序列化 列化就是一种用来处理对象流机制...ArrayList和LikedList分别用于哪些产品,为什么 ArrayList底层实现是数组,所以用下标访问速度比较快,但是插入和删除元素,会有移动元素开销,所以速度比LinkedList差。

41310
您找到你想要的搜索结果了吗?
是的
没有找到

Java从入门到精通十(java异常)

EnumConstantNotPresentException(枚举访问不存在异常) 当应用程序试图通过名称和枚举类型访问那些不包含具有指定名称常量枚举常量时,抛出异常。...当应用程序试图在需要对象地方使用 null 时,抛出异常。这种情况包括: 调用 null 对象实例方法。 访问或修改 null 对象字段。 将 null 作为一个数组,获得其长度。...将 null 作为一个数组,访问或修改其时间片。 将 null 作为 Throwable 值抛出。 应用程序应该抛出该类实例,指示其他对 null 对象非法使用。...在 writer 完成冲突检查并找到一个或多个冲突之后,方法 acceptChanges 将抛出异常。...要不你就直接捕获,要不你就声明出来,让程序自己去处理。 再比如写一个除法程序,你就会理解为什么为什么有时候非要进行声明或者进行捕获异常

1.3K40

使用 RMI + ZooKeeper 实现远程调用框架

继承了 Remote 接口,实际上是让 JVM 得知该接口是需要用于远程调用抛出了 RemoteException 是为了让调用 RMI 服务程序捕获这个异常。...毕竟远程调用过程中,什么奇怪事情都会发生(比如:断网)。需要说明是,RemoteException 是一个“受检异常”,在调用时候必须使用 try...catch... 自行处理。...类,此外,必须提供一个构造器,并且构造器必须抛出 java.rmi.RemoteException 异常。...继承了 Remote 接口,实际上是让 JVM 得知该接口是需要用于远程调用抛出了 RemoteException 是为了让调用 RMI 服务程序捕获这个异常。...毕竟远程调用过程中,什么奇怪事情都会发生(比如:断网)。需要说明是,RemoteException 是一个“受检异常”,在调用时候必须使用 try...catch... 自行处理。

82320

发现Spring事务一个实锤bug,官方还拒不承认?你来评评理...

所以 Demo 里面最核心东西就是这个部分: 其中涉及到两个异常就是简单自定义异常: 假设这里有一个只允许 10-18 岁用户使用奇怪网站,这个部分就代表这个网站用户注册功能。...这个用户我们预期是抛出 AgeExceptionOver18 异常,但是数据得插入成功。 来走一个: http://127.0.0.1:8085/insertUser?...那么我们 Demo 里面的核心冲突是什么呢? 这一小节就先告诉你“戏剧冲突”在哪。 我先问你一个问题: Spring 管理事务,默认回滚异常是什么呢?...ex 是我们程序抛出 AgeExceptionOver18 异常。...但是我认为不能说考虑不周,毕竟别人也很难想到你会按照那么奇怪方式去命名异常类啊! 总之这一段话他解释了为什么会用 contains() 方法,为什么不能用 equals() 方法。

36420

why哥被一道基础面试题给干懵了,一气之下写出万字长文。

比如说,这个东西可以是一个方法。 那么如果这个表达式计算结果是 null,那么就抛出空指针异常这个 switch 语句也就算完事了。...这个场景下 test 方法返回了 null,所以会抛出空指针异常。 接着往下翻译: ? 如果表达式计算或者随后拆箱操作由于某些原因突然完成,那么这个 switch 语句也就完成了。...这个地方见仁见智吧。 底层技术实现 第二个考点是底层技术实现。 也就下面这坨代码: ? 首先经过前面的一个小节,你知道为什么运行结果是抛出空指针异常了不? ?...你再多想一步,因为是用 String 类型 hashcode,那如果出现了哈希冲突怎么办? 看一下这个例子: ? 冲突了就再配一个 if-else 。 不用多说了吧。...奇怪知识点 再送给你一个我在写这篇文章时候学到一个奇怪知识点。 我们知道 switch 表达式和 case 里面都是不支持 null 。 你有没有想过一个问题。

60610

面试必备技能:JDK动态代理给Spring事务埋下坑!

一、场景分析 最近做项目遇到了一个奇怪问题,大致业务场景是这样:我们首先设定两个事务,事务parent和事务child,在Controller里边同时调用这两个方法,示例代码如下: 1、场景A:...4、场景D 按照上述小伙伴疑问这个时候,如果对parent()方法修改,捕获child()中抛出异常,其他代码和场景C一样: ? 然后再次执行,结果是两个都插入了数据库: ? ?...执行结果应该是child()回滚,parent()提交成功啊! 疑问2:场景D为什么不是child()回滚和parent()提交成功哪? 上述场景C和场景D似乎融为了一题,要么都成功要么都失败!...在场景C中,child()抛出异常没有捕获,相当于parent事务中抛出异常,造成parent()一起回滚,因为他们本质是同一个方法;在场景D中,child()抛出异常并进行了捕获,parent事务中没有抛出异常...上文分析中我们已经了解了为什么在该特定场景下使用Spring事务时候造成事务无法回滚问题,下边我们谈一下几种解决方法: 1、我们可以选择逃避这个问题!

44730

Java开发岗面试题--基础篇(二)

从另一角度来说,进程属于操作系统范畴,主要是同一段时间内,可以同时执行一个以上程序,而线程则是在同一程序内几乎同时执行一个以上程序段。 什么是多线程? 为什么程序多线程功能是必要?...Java中异常体系? ? 什么是异常?分哪几种?有什么特点? 异常是发生在程序执行过程中阻碍程序正常执行错误操作,只要在Java语句执行中产生异常一个异常对象就会被创建。...两者都是消极处理异常方式,只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正处理异常由函数上层调用处理。...使用try-catch为什么比较耗费性能? 这个问题要从JVM(Java 虚拟机)层面找答案了。...首先Java虚拟机在构造异常实例时候需要生成该异常栈轨迹,这个操作会逐一访问当前线程栈帧,并且记录下各种调试信息,包括栈帧所指向方法名字,方法所在类名、文件名,以及在代码中第几行触发该异常等信息

70220

写了挺久代码,却还被异常支配?

可以创建一个代表错误信息对象,并且将它从当前环境中 “抛出”,这样就把错误信息传播到了 “更大” 环境中,这种称为 抛出一个异常。...咋看代码可以你觉得很奇怪为什么有人会优先使用基于异常循环,大部分会这样写都会以为错误判断机制性能会比较高,因为 JVM 对每次数组访问都要检查是否越界。...当程序抛出可受检结构时候,就意味着当前情况属于不可恢复,如果程序没有捕捉到这样抛出结构,将会导致当前线程中断。 我们常用 运行时异常 来表明编程错误。...异常链 我们可以在捕获一个异常抛出一个异常,并且希望将原始异常信息保存下来,这个称之为异常链。 ? 在 JDK 1.4 之前,开发人员必须自己编写代码来保存原始异常信息。...Java 平台类库中提供了一组基本未受检异常,它们满足了绝大多数 API 异常抛出需求。 为什么要重用标准异常

55010

《JavaSE-第十三章》之异常体系

1异常 2什么是异常? 现实生活中当人出现了一些毛病,可能就会出现发烧,感冒之类问题。而我们写程序也是如此,程序在执行过程中难免出现一些奇奇怪问题。...默认处理机制会直接导致程序死亡 异常抛出 在编写程序时,如果程序中出现错误,此时就需要将错误信息告知给调用者,比如:参数检测。...在Java中,可以借助throw关键字,抛出一个指定异常对象,将错误信息告知给调用者。...另外,因为异常会引发程序跳转,可能 导致有些语句执行不到,finally就是用来解决这个问题。...// throw :在方法内部直接创建一个异常对象,并从此点抛出 // throws : 用在方法申明上抛出方法内部异常

16120

matinal:http post集成报错Request method ‘POST‘ not supported,对方系统说:告诉你们用POST,你们还用GET,这TM和GET有关系吗,NMD

下面进行异常场景还原(后端环境:Spring MVC4.0.5): 1、前端访问我这边接口抛出错误码:405 Method not allowed 。...当时就感觉奇怪,我自己用postman都能调通啊,为什么你那边不能允许访问呢。看到这个错误码,于是我就抛出两个问题给他: 你是用post请求吗?...经过调试后,终于发现问题所在,发现在解析json是实体属性出错,如下图: 上述案例是说不能解析namqe这个属性,而我UserEntity对象中属性是name,所以解析类就抛出异常(至于在哪一步解析出错...如果是具体错误信息那不简单明了嘛,也不至于花了这么时间去定位问题所在。于是继续调试看看这个错误信息为什么被转换了?...看到上图就应该想到之前提示日志为什么有[org.springframework.web.servlet.PageNotFound],而找不到对应类了吧,因为它只是一个日志Event_Name。

33360

Java轻松应对技术

作用是什么?解答:Java虚拟机是Java程序运行基础,它负责将Java源代码编译成可执行字节码,并提供内存管理和垃圾回收机制等功能,使得Java程序可以在不同操作系统上运行。2....解答:- 封装:封装是隐藏对象内部细节,并通过公有的方法提供对外访问方式。它能够提高代码安全性和可维护性。- 继承:继承是指一个类可以继承另一个属性和方法。它能够实现代码重用和扩展性。...解答:- 进程:进程是指在操作系统中运行一个程序实例,拥有独立内存空间和资源。它是系统进行资源分配和调度基本单位。- 线程:线程是进程中一个执行单元,它共享进程内存空间和资源。...Java中异常为什么几种?它们之间有什么关系?解答:Java中异常分为可检查异常(checked exception)、运行时异常(runtime exception)和错误(error)。...解答:- 捕获异常:使用try-catch代码块捕获异常,并处理异常逻辑。- 抛出异常:使用throw关键字抛出异常,将异常交给上层调用者处理。

15830

程序Crash了却无法捕获正确函数调用栈?

问题描述 曾经碰到一种奇怪Crash场景:Windows程序Crash,每次用windbg attach或者ntsd/cdb产生dump,总是不能捕获到程序出错时候栈,而且crash时候只能看到少数甚至只剩一个线程信息...,而这个仅有的一些线程函数调用栈,也并不是导致程序Crash地方。...(笔者此时查看VS2015版本,默认行为已经不会调用了TerminateProcess,而是返回错误,微软也是在各位程序员采坑情况下不断优化自己CRT库) 在抛出异常Unwind过程中,会调用一些局部变量析构函数...(所以不建议在析构函数中抛出异常) 等等.........既然明确了这个场景后,有个麻烦事情,程序中有很多地方,包括第三方库都会调用strcpy_s等这类函数,而且异常处理地方也有很多,很难通过代码审查找到问题所在,更有可能是,还有其他退出进程调用场景没有列出来

96510

抛弃dict方式访问Python字典

类型异常,这将导致python程序崩溃,这是非常令人烦恼事情。...Why: 为什么程序中避免抛出异常如果是在运行一个离线任务,需要跑好几个小时,但是在运行几个小时后,程序突然崩溃了,抛出一个KeyError,这会导致之前结果全都失效,需要重跑。...如果是一个游戏,打boss进行了一半,一个异常导致整个游戏崩溃,也是用户不可接受事情。除了异常处理,我们尽可能,应该用非抛出异常方式,处理各种可能性。...如果key不存在,不会抛出异常,会返回一个None,或者可以指定默认值。...使用dict.get()有如下好处:key存在,和dictkey有一样行为。key不存在,dict.get(key)不会抛出异常。key不存在,dict.get(key)会返回一个默认值。

18620

Spring系列之AOP环绕异常影响报错

最近遇到一个问题,异常是: java.lang.ClassCastException: org.springframework.http.ResponseEntity cannot be cast to...,很奇怪类型转换,导致ModelAndView页面跳转都出异常,我怀疑是jar冲突,不过有不像,这里只是个页面跳转而已,类型转换异常奇怪?...经过比较长时间排查,调试,找到了原因:原来是被一个打日志切面影响了,所谓AOP,就是在运行时,动态地将代码切入到类指定方法、指定位置上编程思想就是面向切面的编程。...虽然说切面很好用,不过用不当也是一堆坑 这是切面在环绕里代码,加了try…catch…,不知道为什么环绕里代码异常,然后事务回滚,在catch里又加了ResponseEntity对象,所以就这样出现异常...,TODO 做个笔记记录一下,不过切面为什么异常了,没找到原因,所以切面里异常要慎用

37610

Spring AOP环绕异常影响报错

最近遇到一个问题,异常是: java.lang.ClassCastException: org.springframework.http.ResponseEntity cannot be cast to...,很奇怪类型转换,导致ModelAndView页面跳转都出异常,我怀疑是jar冲突,不过有不像,这里只是个页面跳转而已,类型转换异常奇怪?...经过比较长时间排查,调试,找到了原因:原来是被一个打日志切面影响了,所谓AOP,就是在运行时,动态地将代码切入到类指定方法、指定位置上编程思想就是面向切面的编程。...这是切面在环绕里代码,加了try…catch…,不知道为什么环绕里代码异常,然后事务回滚,在catch里又加了ResponseEntity对象,所以就这样出现异常,TODO 做个笔记记录一下,不过切面为什么异常了...,没找到原因,所以切面里异常要慎用

75730

WPF 已知问题 在 WIC 层处理异常图片时 可能由于出现未处理异常导致进程退出

在一些奇怪系统上,解码一些奇怪图片时,可能在解码器层抛出未捕获本机异常,从而导致进程退出 我使用 ProcDump 工具抓到了一台服务器上 WPF 应用程序打开某个图片文件时,进程崩溃问题,通过将...换句话说就是这次崩溃完全是被系统层组件带 我所抓系统是 Windows Server 2016 1607 14393.3808 版本,当我更新系统完成之后,也没有再复现此问题 会导致进程退出原因是接收到了一个本机异常...想想,要是你调用了某个系统组件,这个组件炸了,那你应用要不要跟着炸,如果不跟着炸,会不会造成更大危害,比如损坏数据等等 为什么 WIC 层系统组件存在问题会影响 WPF 应用程序?...在 Direct2D 绘制从 WIC 加载图片 更进一步,更新系统之后就不复现问题,也就是说很快某软就发现了这个问题,默默修了。....dmp 中)处有未经处理异常: 0xC0000005: 读取位置 0xFFFFFFFF 时发生访问冲突

17210

.NET 5 中使用 Consul+Ocelot+Polly缓存、限流、熔断、降级

测试:访问 http://172.16.2.9:5200/T1/Test/GetName 刷新后还是5201端口数据,说明是从缓存取 10s后刷新端口变成5202 2.2、Ocelot限流 为什么要限流呢...,防止请求过多把程序搞宕机了,也可以有效防止爬虫和ddos攻击,预估出服务处理能力,然后设置限流,可以限制单位时间内访问量(失败一部分请求比整个服务挂掉强)。...个服务增加一个异常接口和一个睡眠接口。...测试结果: 可以看到,第一次执行因为有异常,然后分别隔5s,10s,15s重试,最后才抛出异常。...3.4、Polly超时 所谓超时,就是我们指定一段代码最大运行时间,如果超过这段时间还没有完成,就直接抛出异常

1.6K20
领券