自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ellis_li 的博客

路漫漫其修远兮

  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL CASE WHEN 多个判断条件

MySQL CASE WHEN 多个判断条件

2023-07-17 17:37:36 1297

原创 npm降级与解决npm降级出现的问题

npm降级与解决npm降级出现的问题

2023-07-11 22:09:35 2837

原创 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 373

原创 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 1560

原创 Java项目启动后进行一些初始化操作 @PostConstruct注解的使用

java项目启动时自定义初始化操作

2023-06-21 10:09:58 280

原创 springcloud禁止输出日志:ConfigClusterResolver : Resolving eureka endpoints via configuration

springcloud的注册中心客户端会每隔一定时间向注册中心服务端发送心跳,用此来判断注册中心服务端是否运行正常。举一反三:可以通过logging.level+指定类/包的方式来指定某个类或某包下的日志输出级别。logging.level.root=WARN #root日志以WARN级别输出。看看ConfigClusterResolver中哪个方法在输出上述日志。加入如上配置后,运行一段时间发现不再打印小于等于info级别的日志。这样导致不断进行日志输出,不便查看正常的业务日志输出。

2023-06-21 09:58:34 593

原创 java解压zip压缩包报错MALFORMED问题解决

java解压zip压缩包报错MALFORMED问题解决

2023-06-15 10:43:18 1992 1

原创 java解析zip中文乱码问题解决

java解压zip,zip解压中文乱码

2023-06-15 10:37:17 1236

原创 解析docx报错The supplied data appears to be in the OLE2 Format. You are calling the part

word解析异常、docx解析异常

2023-06-15 10:25:14 6606 1

原创 Linux系统安装mysql8完整无脑步骤

linux安装mysql,mysql无法远程访问,卸载mysql

2023-06-13 14:28:52 2295

原创 Linux系统安装jdk完整步骤

【代码】Linux系统安装jdk完整步骤。

2023-06-09 09:55:48 219

原创 线程池面试题合集

Executor框架是Java SE5中引入的一组API,它提供了一种标准的方式来创建和管理线程池。使用Executor框架创建线程池可以简化线程池的管理和使用,提高线程池的可复用性和可维护性。上述代码创建一个固定大小的线程池,线程池中最多有10个线程同时执行任务。Executor框架还提供了其他的创建线程池的方法,如等。

2023-06-02 17:38:21 839

原创 史上最强多线程面试题合集

线程安全指的是在多线程环境下,多个线程同时访问同一个共享资源时,不会出现数据不一致的情况。线程安全的实现需要保证多个线程对共享资源的访问是有序的、互斥的、同步的。线程同步是指多个线程之间按照一定的顺序协调执行,以保证共享资源的正确访问。线程同步的实现方式有很多,例如使用锁、信号量、条件变量等。线程死锁是指两个或多个线程在互相等待对方释放资源的过程中,都无法继续执行下去,导致整个程序停滞不前。线程死锁的发生通常是由于线程之间的资源竞争导致的。

2023-06-02 17:15:27 279

原创 高并发场景下单接口开发设计方案

下单、高并发

2023-06-02 17:04:22 1017

原创 Java对接微信支付(史上最详细)

Java对接微信支付,微信支付对接

2023-06-02 16:55:50 3071 3

原创 完美解决Spring Cloud Gateway跨域配置不生效问题

springcloudgateway跨域配置不生效

2022-10-14 15:35:57 3883 3

原创 SpringBoot集成kafka全面实战

kafka

2022-10-10 16:23:59 337

原创 dubbo接口自定义异常抛不出去问题

dubbo异常抛出问题

2022-10-10 15:15:48 529

原创 Dubbo自定义拦截器

dubbo自定义拦截器

2022-10-10 11:00:35 813

原创 SpringCloudGateway通过traceId实现全链路日志追踪

springcloud gateway通过traceId实现全链路日志追踪

2022-09-28 10:21:11 6385 6

原创 dubbo环境使用DateTime传参,收到的永远是当前时间

dubbo环境使用DateTime传参,收到的永远是当前时间

2022-07-15 10:03:40 352

原创 线程池创建规范的相关问题

线程池、阿里开发规范、ThreadLocal、ThreadPoolExecutor

2022-07-11 13:58:33 348

原创 Dubbo调用MybatisPlus方法的踩坑记录

dubbo踩坑,getOne报错

2022-07-05 10:25:27 373

原创 JVM面试题

jvm相关面试题

2022-07-02 14:57:24 219

原创 DataSourceClosedException: dataSource already closed

DataSourceClosedException: dataSource already closed

2022-06-14 20:42:52 5375

原创 微信支付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 649

原创 阿里云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 1302

原创 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 124

原创 框架源码:源码解析之Mybaits - 一级缓存

Mybatis一级缓存介绍:缓存就是内存中的缓存,尝尝来自对数据库查询结果的保存,使用缓存,可以避免频繁的与数据库进行交互,进而提高响应的速度。Mybatis也提供了对缓存的支持,分为一级缓存和二级缓存。一级缓存是sqlSession级别的缓存,在操作数据库的时候需要创建SqlSession对象,在SqlSession对象中有一个HashMap用于存储缓存数据,不同的SqlSession之间缓存的数据是互不影响的。二级缓存是mapper级别的缓存,多个SqlSession去操作同一个mapper

2020-11-10 14:54:36 174

原创 架构之路:源码解析之Mybaits - 自定义持久层框架

自定义持久层框架作为源码分析课第一课,就是要手写一个自定义持久层框架,通过自己实现的方式,熟悉了解Mybatis底层实现原理,很奈斯,其实我感觉最好的学习方式就是动手,而不是看!一:分析JDBC代码存在的问题和相关解决思路public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; Result

2020-11-10 00:55:36 152

原创 导出Excel数据量大时间过慢问题

导出Excel数据量大时间过慢问题最近在工作中遇到一个问题,就是一个普通的导出Excel功能,响应时间居然需要一分多钟,导出的数据量为 10W-15W条问题发现:导出Excel无非就三个步骤1: 查询数据2: 数据处理3: 导出数据通过打日志的方式,发现查询和导出占用的时间很短,大量的时间都用来处理数据了。查看代码发现,数据处理部分用的for循环处理,那就意味着需要遍历10W+遍,所以这个地方肯定是不可以这么写的解决思路:1: 结果集判断,如果结果集数据量较大,则将结果集进行分组2:

2020-10-23 15:21:35 16643 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 307

原创 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 1750

原创 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 247

原创 多线程并行处理数据

多线程并行处理数据在工作中很多时候会因为各种原因选择使用多线程并行去处理我们要处理的数据,前段时间工作中就遇到了需要多线程去处理的业务逻辑情况,记录一下。业务场景在后台系统代码中,首先会拿到一些条件,然后会根据入参组合成一个modelList,需要用modelList去循环远程调用第三方的系统,调用第三方系统执行速度很慢,调用一次需要1至2秒,modelList稍微长一点的时候就会出现循环调用占用时间太长的问题。解决方法使用多线程去并行调用第三方,多个接口同时调用,减少调用时间部分逻辑代码

2020-09-01 17:08:08 1464

原创 百度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 6320

原创 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 2645

原创 前端之获取验证码后倒计时效果

前端 —— 获取验证码后倒计时效果如题,特别常用的一个前端效果,由于本人前端不精,只能记录下来,分享一下。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 1692 1

原创 @RequestParam、@PathVariable和@PathParam、@QueryParam的区别

@RequestParam此注解可以获取路径中的参数值举个例子:当url为:http://localhost:8080/demo/3?param1=111&param2=2222 的时候@RequestParam 可以获取 param1、param2 的参数 public String getParams( @RequestParam(value="param1", requ...

2020-03-12 09:20:11 515

原创 @GetMapping、@PostMapping和@RequestMapping的区别

@GetMapping用于将HTTP的GET请求映射到特定处理程序方法的注释。简单来说,@GetMapping是一个作为快捷方式的组合注释@RequestMapping(method = RequestMethod.GET)。@PostMapping用于将HTTP的POST请求映射到特定处理程序方法的注释。简单来说,@PostMapping是一个作为快捷方式的组合注释@RequestMapp...

2020-03-12 08:53:21 341

Spring-boot2.0教程.docx

SpringBoot教程文档,包含入门简介,整合MyBatis、整合redis、整合ActiveMQ、整合Junit、整合FreeMarker、整合solr、整合dubbox。打包部署等内容

2020-05-09

空空如也

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

TA关注的人

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