问题总结
文章平均质量分 55
常见问题异常记录总结
靖节先生
分布式微服务架构设计,致力于业务持续优化迭代,通过技术能力创造业务价值!
展开
-
Java从zip文件中读取指定的csv文件使用EasyExcel解析出现流关闭异常Stream closed
根据异常堆栈,可以看到异常发生在 ZipInputStream 的 getNextEntry() 方法调用过程中,具体是在 ZipInputStream.ensureOpen() 方法中抛出了 java.io.IOException,原因是“Stream closed”。读取zip文件中的文件,预期:EasyExcel执行doRead,关闭zipInputStream,while中第二次获取zipInputStream.getNextEntry()异常。).doRead();原创 2024-08-13 16:05:06 · 891 阅读 · 0 评论 -
Http请求异常Required request body is missing
get请求是没有请求体body的,而注解@RequestBody是从请求体读取信息的,也就是说使用@RequestBody注解不支持get请求。2.代码中我将@RequsetBody注解去掉,也是可以将数据封入对象的(未验证)1.将GetMapping改为PostMapping请求(验证可以)原创 2023-04-26 15:30:32 · 2639 阅读 · 1 评论 -
Java Bean转Map问题总结
Java Bean转map过程中,一般借助于三方工具进行转换,但是第三方工具在转换过程中会存在对象属性类型或者名称不一致的问题,这里进行简单梳理几种方式对比分析,总结。Java Bean对象转Map,不同工具存在不同的问题:fastjson,gson转换类型不对。commonsbeanutils,cglib,转换的属性名称不对。dubbo,hutool转换类型与名称都没问题。(推荐)。1.fastjson对象转Map,类型转换错误,通过debug可以看到。原创 2023-01-08 16:48:53 · 6217 阅读 · 0 评论 -
Java对象禁止使用基本类型详解
Java对象禁止使用基本类型详解原创 2023-01-08 09:22:10 · 717 阅读 · 0 评论 -
MySQL批量入库的几种方式详解
最近压测一款mysql持久化工具,目前市面上mysql批量入库方式有很多,这里分别对常用的几种方式进行压测对比分析,比如列举了hutool工具封装的jdbc方式,jdbc直接执行与批量执行的方式,以及常用的mybatis方式。采用hutool批量入库, 数据量:10000, 耗时:7.38秒, 吞吐量:1357(次之)采用JDBC直接处理, 数据量:10000, 耗时:6.689秒, 吞吐量:1494.9(其次)原创 2022-11-25 19:53:30 · 2587 阅读 · 0 评论 -
shell脚本批量执行指定路径下sql脚本
Linux环境下通过shell脚本批量执行指定目录下所有sql语句,用来建表建库,初始化项目sql等。方式二只需要指定sql路径即可,通过shell遍历,相对方便。方式一需要手动指定sql全路径名称,相对比较麻烦,仅供参考。创建contract_ddl.sql。创建template_ddl.sql。原创 2022-11-21 11:08:14 · 3122 阅读 · 0 评论 -
maven assembly打包生成Java应用启动脚本bat和sh
springboot应用通过maven插件appassembler-maven-plugi生成启动脚本bat和sh。根据官网介绍,这个插件主要用于生成启动 java应用程序的脚本,能将项目依赖jar能够打包目录中,并且它们加入启动脚本类路径中。主要命令。原创 2022-11-17 19:14:02 · 2237 阅读 · 0 评论 -
linux shell脚本执行sql语句建表建库
Linux 执行sql脚本创建数据库表原创 2022-11-11 17:50:17 · 2671 阅读 · 0 评论 -
SSH远程登录报错 IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
之前ssh登录正常,突然ssh登录远程报错, IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!删除指定目录下的kenw_hosts记录,重新登录即可,然后know_hosts会重新生成新的记录。其实也就是这里指定的key不正确有问题,打开文件发现是之前的链接记录。这里告诉你在指定目录下的knows_host文件下添加指定的key。警告:远程主机标识已更改。原创 2022-11-10 09:53:59 · 1515 阅读 · 0 评论 -
Java Optional容器判空处理
Optional多层嵌套循环取值避免空指针/** * Optional避免空指针,采用默认值或者自定义抛出异常 * 使用场景:多层对象嵌套取值 * * **/public class OptionalTest { @Test public void Test1() { // 正常情况,都不为null,都可以正常执行 User user = User.builder().address( Address.builder()原创 2020-11-20 10:02:04 · 7544 阅读 · 0 评论 -
FeignClient调用接口接收不到参数问题
FeignClient调用接口接收不到参数问题1. 问题描述2. 问题分析3. 测试验证3.1 环境依赖3.2 代码实现4. 结论总结5. 阿里开发手册1. 问题描述问题就是通过FeignClient调用某个接口的时候,请求参数明明有值,服务端拿到的请求对象却为null。2. 问题分析FeignClient接收不到参数可能会存在以下原因,1.客户端没有传值。2.客户端与服务端参数类型不一致导致服务端接收不到。3.请求对象中含有以is开头的参数,FeignClient框架序列化会过滤掉。4.F原创 2022-04-25 17:17:33 · 8035 阅读 · 2 评论 -
FeignClient设置请求头信息
FeignClient设置请求头信息1. FeignClient概述2. FeignClient设置请求头信息2.1 方式一2.2 方式二1. FeignClient概述这里所说的Feign都是指Open Feign,因为Netflix的Feign已经停更了,那什么是Feign,借用官网一句话就是,“Feign is a declarative web service client.” ,Feign就是一个声明试web service客户端。具体详细说明详见官方文档:https://docs.spri原创 2022-01-20 11:01:24 · 11699 阅读 · 0 评论 -
XML转义字符<1[CDATA[文本内容]]>
XML转义字符<![CDATA[文本内容]]>1. XML转义问题2. XML转义方式2.1 XML中5个预定义的实体引用2.2 <![CDATA[文本内容]]>方式1. XML转义问题常见的xml文档中比如mybatis的mapper文件等value值中包含一些特殊字符,比如>,>,<=,>=,’’,"",xml语法检查时会异常,“Tag name expected”,因此需要转义使用。2. XML转义方式XML对于上述字符有两种转义方式,一种是通过原创 2022-01-05 18:49:25 · 1862 阅读 · 1 评论 -
Idea Diagrams生成UML类图
Idea Diagrams生成UML类图1. Idea Diagrams概述2. Idea Diagrams配置3. 单个类UML类图4. 包的UML类图5. 接口与实现类的UML类图6. 抽象父类与继承子类的UML类图1. Idea Diagrams概述UML类图是快速了解各个类之间实现关系的结构图,有利于了解项目整体结构,非常实用。idea自带插件可以实现根据现有类生成UML类图插件,能够帮我们快速生成UML类图。idea Diagrams既可以查看个各类的详细信息图,也可以查看接口与各个实现类关原创 2021-12-23 14:22:27 · 6714 阅读 · 1 评论 -
多线程操作ArrayList不安全解决方案
多线程操作ArrayList不安全解决方案1. 需求概述2. 需求验证2.1 测试方案2.2 验证结论2.3 代码实现3. 解决方案3.1 Vector3.1 Collections工具类3.1 CopyOnWriteArrayList1. 需求概述我们都知道List,ArrayList,以及Map,HashMap等常用的集合都是线程不安全的,替代及解决方案都是对应的current包下的对应的结合容器,比如hashMap对应CurrentHashMap,ArrayList对应什么呢,vector,也可以原创 2021-12-17 12:29:16 · 694 阅读 · 0 评论 -
Java布尔类型变量命名与类型问题
Java布尔类型变量命名与类型问题1. Java变量命名与类型概述2. 使用isXXX来命名变量问题3. 基本类型与包装类选择问题1. Java变量命名与类型概述平时业务开发过程中,实体创建的时候很多同学习惯使用isXXX开头命名一些属性,比如isDeleted,isSupport,isUpper等等,Java开发手册中是不准使用isXXX来命名的,而且实体中强制使用包装类型。这里讨论两个问题,一个是命名问题,以isXXX开头的变量;另一个是对象中使用包装类型的问题。2. 使用isXXX来命名变量问原创 2021-12-03 10:12:37 · 5317 阅读 · 0 评论 -
2021巨量千川营销通案
2021巨量千川营销通案原创 2021-11-16 13:56:16 · 567 阅读 · 0 评论 -
Github域名解析连接慢问题
Github域名解析连接慢问题1. Github访问慢问题2. Github连接解决方案2.1 使用 Gitee 的镜像仓库2.2 配置本地的 hosts 文件3. DNS域名解析分析3.1 根域名服务器3.1 顶级域名服务器3.1 域名解析流程1. Github访问慢问题Github 作为全球最大的代码托管平台和开源社区,因为它的服务器在国外,所以一直存在访问速度过慢、甚至有时候超时无法访问的问题。2. Github连接解决方案2.1 使用 Gitee 的镜像仓库大家都知道国内正在积极推动开源社原创 2021-11-12 11:09:42 · 3505 阅读 · 0 评论 -
java爬取美女图片
java爬取美女图片1. 爬取概述2. 实现验证HttpClientUtilsPipelineImageReptileProcessor1. 爬取概述通过java爬取图片资源,解析获取url,批量下载到本地。2. 实现验证HttpClientUtilspackage com.zrj.unit.reptile;import org.apache.http.Header;import org.apache.http.HttpEntity;import org.apache.http.NameV原创 2021-09-09 21:21:48 · 234 阅读 · 0 评论 -
Spring中静态方法调用Mapper,Service
Spring中静态方法调用Mapper,Service1. 业务需求2. 问题描述3. 解决方案4. 相关代码1. 业务需求业务开发中,经常会在工具类中通过mybatis的mapper或者service接口操作数据库,但是工具类中的方法我们一般采用静态static方式,而Mapper或者service接口为非静态方法,所以会存在冲突,静态方法不能调用非静态方法。2. 问题描述1.直接使用静态方法调用mapper直接爆红变异不通过提示异常:Non-static field 'categoryMapp原创 2021-07-29 16:34:24 · 5178 阅读 · 2 评论 -
Feign、OpenFeign及SpringCloud Feign的区别
SpringCloud Feign、OpenFeign及Feign的区别1. 三者概念1. 三者概念Feign是Spring Cloud组件中一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调用接口,就可以调用服务注册中心的服务。由于 Netflix 公司不再维护feign,feign由社区维护,feign更名为 openfeign,并且项目迁移到新的仓库。后续版本仅使用“原创 2021-07-25 18:24:24 · 1644 阅读 · 0 评论 -
Feign调用异常FeignException$NotFound: [404] during
Feign调用异常FeignException$NotFound: [404] during1. 问题描述1.1 问题环境1.2 异常信息2. 问题分析3.解决方案1. 问题描述遇到的问题中很大一部分其实都不是大问题,之所以当时觉得难,要么是基础知识不牢,另一个就是细节。1.1 问题环境Springboot项目两个:category项目:端口8080weimob项目:端口8081weimob通过FeignClient调用category项目。category项目/** * (Cate原创 2021-07-25 18:11:07 · 41295 阅读 · 8 评论 -
IntelliJ IDEA常用操作详解
IntelliJ IDEA常用操作详解1. 常用配置2. 常用插件3. 常用快捷键1. 常用配置2. 常用插件3. 常用快捷键idea如何快速查看当前类中的所有方法Ctrl+F12或者Alt+7(可不是Alt+F7)原创 2021-07-23 17:11:36 · 160 阅读 · 0 评论 -
Dubbo远程调用找不到服务异常
Dubbo远程调用找不到服务异常1. 问题描述2. 问题分析3. 问题排查3.1 服务提供者消费者是否正常3.2 注册中心是否注册成功,2.3 分别验证服务提供者与消费者2.4 消费者和提供者依赖是否一致3.5 检查引入依赖与注解是否正确3.6 检查dubbo开启注解扫描路径3.7 是否订阅dubbo服务4. 问题方案1. 问题描述settings通过dubbo调用tense异常,找不到服务,异常日志如下org.apache.dubbo.rpc.RpcException: No provider av原创 2021-07-15 13:28:10 · 30060 阅读 · 0 评论 -
Mybatis返回统计字段
Mybatis返回统计字段1. 需求描述2. 案例实现1. 需求描述查询一张表分组统计信息,需要返回两个字段,业务主键与统计信息。2. 案例实现这里主要是定义resultMap里的返回字段。 <resultMap id="LotteryResultMap" type="com.enn.sale.marketing.activity.settings.dal.po.ext.LotteryRulePO"> <result column="activity_cod原创 2021-07-13 19:59:30 · 1044 阅读 · 0 评论 -
MyBatis根据传入字段排序
MyBatis根据传入字段排序1. 需求描述2. 解决方案2.1 解决思路2.2 实现方式1. 需求描述分页列表查询,为了提高可扩展性,支持不同字段排序查询,所以根据传入字段及排序方式查询。2. 解决方案2.1 解决思路方式是mybatis的mapper文件中sql拼接即可。mybatis排序时使用order by 动态参数时需要注意,用$而不是##{} ,会对自动传入的数据加一个双引号,导致排序失败,如 order by #{age},解析结果 order by "age"${},不会对原创 2021-07-13 19:42:31 · 4123 阅读 · 0 评论 -
IDEA HTTP Client工具 RestFul Client调用接口不生成json文件
首先说明一点,idea restClient与postman都是很优秀的HTTPclient工具。没有谁比谁更好,怎么怎么样,看使用习惯而已,我觉得idea restClient能够满足我日常开发应用就挺好,也并不是说邮递员差。原创 2020-11-08 11:14:21 · 1224 阅读 · 0 评论 -
IDEA HTTP Client工具 RestFul Client调用接口接收不到传的参数
IDEA HTTP Client工具 RestFul Client调用接口接收不到传的参数记录个很奇葩的问题,idea的restFulClient使用过程中接口调用问题。问题描述请求信息GeneralRequest URL: http://adressit.hello.com/adsytfs-view-web/industry/industry_analysis_getSecondCatalog.htmRequest Method: POSTStatus Code: 200 OKRemot原创 2020-12-03 11:41:36 · 1065 阅读 · 0 评论 -
idea 自定义背景图
idea自定义背景图打开设置Ctrl+Alt+S设置个不常用的快捷键,确认,关闭。刚设置的快捷键打开设置图片原创 2020-12-05 21:01:12 · 113 阅读 · 0 评论 -
SonarQube 代码质量管理平台
SonarQube 代码质量管理平台一、SonarQube 概念SonarQube(sonar)是一个代码质量管理平台。 SonarQube不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 SonarQube可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。(1) 不遵循代码标准SonarQube可以通过PMD,Check原创 2021-01-20 10:59:34 · 887 阅读 · 0 评论 -
idea 快捷键生成serialVersionUID
idea 快捷键生成serialVersionUID一、设置打开设置:Ctrl + Alt +S二、操作使用选中类名,Alt+Enter原创 2021-01-26 11:01:25 · 893 阅读 · 0 评论 -
idea 分层对比文件
idea 分层对比文件1、打开分层2、纵向效果图1、打开分层2、纵向效果图原创 2021-02-11 21:44:07 · 226 阅读 · 0 评论 -
postman模拟连续串行请求
postman模拟并发请求老版postman模拟并发请求新版postman模拟并发请求老版postman模拟并发请求新版postman模拟并发请求原创 2021-02-12 13:26:43 · 1527 阅读 · 1 评论 -
IDEA 快速实现或者重写父类方法
IDEA 快速实现或者重写父类方法1. IDEA 快速实现父类方法(接口)2. IDEA 快速重写父类方法(抽象类)这里只是idea使用的小技巧,快捷键,比较常用,因此记录下。1. IDEA 快速实现父类方法(接口)Alt + Enter(回车)选择implement methods选择要重写的方法即可2. IDEA 快速重写父类方法(抽象类)在子类任意想插入的地方按下Ctrl+O即可呼出重写窗口选择重写的方法,OK确认即可...原创 2021-06-26 11:10:21 · 8137 阅读 · 1 评论 -
UUID截取重复问题
UUID截取重复问题1. 问题描述uuid定义UUID截取问题2. 案例验证生成程序准备环境3. 分析总结1. 问题描述uuid定义UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。总结就是,uuid就是全球唯一不会重复。在线生原创 2021-06-23 17:06:34 · 3118 阅读 · 0 评论 -
github删除已有仓库
github删除仓库1. GitHub打开删除项目页面2. 点击“Settings”,滑到页面最下边,点击“Delete this repository”![在这里插入图片描述](https://img-blog.csdnimg.cn/20210612164803491.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3NTgzNjU1,s原创 2021-06-12 16:56:41 · 132 阅读 · 0 评论 -
Java异常 NoSuchMethodException get$jacocoData()
NoSuchMethodException get$jacocoData()异常描述本地环境,生产环境都没问题,只有测试环境发现问题。java.lang.NoSuchMethodException: [对象] get$jacocoData()异常分析测试环境加了jacoco代码覆盖率的功能,该异常说明在代打运行时找不到该方法,实际该对象中并没有此方法,原因是有地方通过反射获取[对象]中的方法时,没找到get$jacocoData()方法。解决方法1.去掉代码覆盖率工具jacoco,启动的时候去原创 2020-11-25 15:24:05 · 1653 阅读 · 0 评论 -
Java异常 java.lang.IllegalStateException异常
java.lang.IllegalStateException异常原理分析该异常表示,当前dao对客户端的响应已经结束不能在响应已经结束(或说消亡)后再内向客户端(实际上是容缓冲区)输出任何内容。在一次响应commit之前,所有的内容输出都将写入servlet引擎的缓冲区(tomcat或weblogic的内容空间), 而在commit之后,上一次response向缓冲区写入的内容,将清空。由于servlet在没有设置单线程的情况下(使用Single-Threaded Model,servlet实原创 2020-10-21 20:31:39 · 2007 阅读 · 2 评论 -
Java异常 NoClassDefFoundError和ClassNotFoundException区别
NoClassDefFoundError和ClassNotFoundException区别NoClassDefFoundError错误发生的原因::NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。例如在运行时我们想调用某个类的方法或者访问这个类的静态成员的时候,发现这个类不可用,此时Java虚拟机就会抛出NoClassDefFoundError错误。与ClassNotFoundException的不同在于,这个错误发生原创 2020-10-26 20:00:30 · 1200 阅读 · 0 评论