- 博客(70)
- 资源 (1)
- 收藏
- 关注
原创 The supplied data appears to be in the OLE2 Format. You are calling the part of POI that deals with
场景:easyExcel导入时报错,百度之后发现是.xls文件手动修改后缀为.xlsx,poi识别报错。解决方法:.xls另存为.xlsx而不是手动修改后缀。
2023-06-21 10:21:17
1591
原创 The maximum length of cell contents (text) is 32,767 characters因为Excel单元格容量超出导致报错
excel报错The maximum length of cell contents (text) is 32767
2023-06-21 10:14:04
3318
原创 springcloud禁止输出日志:ConfigClusterResolver : Resolving eureka endpoints via configuration
springcloud的注册中心客户端会每隔一定时间向注册中心服务端发送心跳,用此来判断注册中心服务端是否运行正常。举一反三:可以通过logging.level+指定类/包的方式来指定某个类或某包下的日志输出级别。logging.level.root=WARN #root日志以WARN级别输出。看看ConfigClusterResolver中哪个方法在输出上述日志。加入如上配置后,运行一段时间发现不再打印小于等于info级别的日志。这样导致不断进行日志输出,不便查看正常的业务日志输出。
2023-06-21 09:58:34
1016
原创 解析docx报错The supplied data appears to be in the OLE2 Format. You are calling the part
word解析异常、docx解析异常
2023-06-15 10:25:14
13214
1
原创 线程池面试题合集
Executor框架是Java SE5中引入的一组API,它提供了一种标准的方式来创建和管理线程池。使用Executor框架创建线程池可以简化线程池的管理和使用,提高线程池的可复用性和可维护性。上述代码创建一个固定大小的线程池,线程池中最多有10个线程同时执行任务。Executor框架还提供了其他的创建线程池的方法,如等。
2023-06-02 17:38:21
1049
原创 史上最强多线程面试题合集
线程安全指的是在多线程环境下,多个线程同时访问同一个共享资源时,不会出现数据不一致的情况。线程安全的实现需要保证多个线程对共享资源的访问是有序的、互斥的、同步的。线程同步是指多个线程之间按照一定的顺序协调执行,以保证共享资源的正确访问。线程同步的实现方式有很多,例如使用锁、信号量、条件变量等。线程死锁是指两个或多个线程在互相等待对方释放资源的过程中,都无法继续执行下去,导致整个程序停滞不前。线程死锁的发生通常是由于线程之间的资源竞争导致的。
2023-06-02 17:15:27
479
原创 SpringCloudGateway通过traceId实现全链路日志追踪
springcloud gateway通过traceId实现全链路日志追踪
2022-09-28 10:21:11
8192
6
原创 DataSourceClosedException: dataSource already closed
DataSourceClosedException: dataSource already closed
2022-06-14 20:42:52
7600
原创 微信支付V3支付通知JAVA解密出现Illegal key size错误
JDK版本:1.8.0如果您确认自己的参数无误,符合官方文档中要求的参数。官方文档链接:https://pay.weixin.qq.com/wiki/doc/apiv3_partner/wechatpay/wechatpay4_2.shtml解密时如果一直出现这个错误,是因为JRE中自带的“local_policy.jar ”和“US_export_policy.jar”是支持128位密钥的加密算法,而当我们要使用256位密钥算法的时候,已经超出它的范围,无法支持,所以才会报:“java.secur
2021-09-13 10:23:23
833
原创 阿里云OSS文件上传
阿里云OSS文件上传一:配置文件oss.access-key-id=LTAI4FyJwuoVLRoss.access-key-secret=Tm6WT5bQAP93DOx9Zo4hoss.end-point=http://oss-cn-demo.aliyuncs.comoss.bucket-name=crm-followaliyun.oss.maxSize=10aliyun.oss.default.path=health-ossaliyun.oss.file.max.length=52428
2021-01-13 14:52:18
1514
原创 AOP日志切面
AOP日志切面package com.ellis.hospital.finance.transfer.config.aop;import cn.hutool.json.JSONUtil;import com.google.gson.Gson;import com.ellis.phobos.exception.ServiceError;import com.zhiyun.boot.common.exception.BizException;import lombok.extern.slf4j.S
2020-12-01 14:15:11
175
原创 框架源码:源码解析之Mybaits - 一级缓存
Mybatis一级缓存介绍:缓存就是内存中的缓存,尝尝来自对数据库查询结果的保存,使用缓存,可以避免频繁的与数据库进行交互,进而提高响应的速度。Mybatis也提供了对缓存的支持,分为一级缓存和二级缓存。一级缓存是sqlSession级别的缓存,在操作数据库的时候需要创建SqlSession对象,在SqlSession对象中有一个HashMap用于存储缓存数据,不同的SqlSession之间缓存的数据是互不影响的。二级缓存是mapper级别的缓存,多个SqlSession去操作同一个mapper
2020-11-10 14:54:36
208
原创 架构之路:源码解析之Mybaits - 自定义持久层框架
自定义持久层框架作为源码分析课第一课,就是要手写一个自定义持久层框架,通过自己实现的方式,熟悉了解Mybatis底层实现原理,很奈斯,其实我感觉最好的学习方式就是动手,而不是看!一:分析JDBC代码存在的问题和相关解决思路public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; Result
2020-11-10 00:55:36
195
原创 导出Excel数据量大时间过慢问题
导出Excel数据量大时间过慢问题最近在工作中遇到一个问题,就是一个普通的导出Excel功能,响应时间居然需要一分多钟,导出的数据量为 10W-15W条问题发现:导出Excel无非就三个步骤1: 查询数据2: 数据处理3: 导出数据通过打日志的方式,发现查询和导出占用的时间很短,大量的时间都用来处理数据了。查看代码发现,数据处理部分用的for循环处理,那就意味着需要遍历10W+遍,所以这个地方肯定是不可以这么写的解决思路:1: 结果集判断,如果结果集数据量较大,则将结果集进行分组2:
2020-10-23 15:21:35
19463
7
原创 实现Redis分布式锁(JAVA)
Redis分布式锁定义 DistributedLockFactory接口package com.jkys.common.lock;public interface DistributedLockFactory { DistributedLock createLock(String resource);}实现类 RedisFactorypackage com.jkys.common.lock.impl;import com.jkys.common.lock.Distribute
2020-09-16 18:15:13
399
原创 SpringBoot配置AOP注解式环绕输出日志
SpringBoot配置AOP注解式环绕输出日志一:添加依赖创建好一个SpringBoot项目之后,添加aop依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>二:编写切面在切面中确定要使用aop
2020-09-04 11:52:26
1841
原创 SpringBoot配置Redis缓存
SpringBoot2.0整合Redis1:注解方式实现添加缓存1.1:加入依赖在pom文件中加入依赖<!-- 配置使用redis启动器 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId></dependency>1.2:修改引导类修改
2020-09-01 18:04:42
296
原创 多线程并行处理数据
多线程并行处理数据在工作中很多时候会因为各种原因选择使用多线程并行去处理我们要处理的数据,前段时间工作中就遇到了需要多线程去处理的业务逻辑情况,记录一下。业务场景在后台系统代码中,首先会拿到一些条件,然后会根据入参组合成一个modelList,需要用modelList去循环远程调用第三方的系统,调用第三方系统执行速度很慢,调用一次需要1至2秒,modelList稍微长一点的时候就会出现循环调用占用时间太长的问题。解决方法使用多线程去并行调用第三方,多个接口同时调用,减少调用时间部分逻辑代码
2020-09-01 17:08:08
1570
原创 百度OCR图像识别(包含自定义模板)
OCR识别身份证、营业执照、增值税发票、自定义模板应用场景:最近在做一个票据平台,需要使用者上传营业执照和法人身份证进行识别,同时还有一些增值税发票识别、票据识别等图像识别功能,因此整理一下OCR图像识别相关接口信息一:前置条件准备第一步:登录注册百度AI开放平台,添加文字识别应用传送门:https://login.bce.baidu.com/添加好应用之后,就可以得到调用接口所用的 API Key 和 Secret Key二:配置SDK链接:https://ai.baidu.com/sd
2020-05-11 16:10:21
6942
原创 IDEA配置Play项目详细教程
IDEA工具添加Play项目教程IDEA工具添加Play项目教程第一步:生成IDEA项目第二步:打开IDEA引入项目第三步:配置项目JDK(各个版本play框架jdk要求不一)第四步:项目运行调试配置第五步:配置完成,运行项目IDEA工具添加Play项目教程之前用到Play这个框架的时候,往往是使用Eclipse工具进行开发,但是由于eclipse的使用舒适度实在比IDEA差一些(个人习惯用IDEA),所以尝试着在IDEA里引入Play框架项目第一步:生成IDEA项目在项目路径打开命令行,输入pla
2020-05-09 15:55:15
3234
原创 前端之获取验证码后倒计时效果
前端 —— 获取验证码后倒计时效果如题,特别常用的一个前端效果,由于本人前端不精,只能记录下来,分享一下。HTML代码 <div class="login"> <a class="back">返回首页</a> <div class="login-form reg-form clearfix"> <div class="login-fr"> <form> <p class="log-tit"&g
2020-05-09 15:34:02
1766
1
原创 @RequestParam、@PathVariable和@PathParam、@QueryParam的区别
@RequestParam此注解可以获取路径中的参数值举个例子:当url为:http://localhost:8080/demo/3?param1=111¶m2=2222 的时候@RequestParam 可以获取 param1、param2 的参数 public String getParams( @RequestParam(value="param1", requ...
2020-03-12 09:20:11
620
原创 @GetMapping、@PostMapping和@RequestMapping的区别
@GetMapping用于将HTTP的GET请求映射到特定处理程序方法的注释。简单来说,@GetMapping是一个作为快捷方式的组合注释@RequestMapping(method = RequestMethod.GET)。@PostMapping用于将HTTP的POST请求映射到特定处理程序方法的注释。简单来说,@PostMapping是一个作为快捷方式的组合注释@RequestMapp...
2020-03-12 08:53:21
383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人