Hcy Blog

保持激情,只有激情,才有动力

project reactor中的onErrorXxx操作符

project reactor中的onErrorXxx操作符​ reactor项目中存在很多操作符其中一些与处理异常有关的操作符,它们都以onError开头,一共五个下面我们逐个分析他们。 onErrorMap onErrorResume onErrorReturn onErrorContinue onErrorStop三个是用来处理上游传递的错误信号这三个是一组的,他们原理类似,分别是: onErrorMap onErrorReturn...

mybatis dynamic查询指定字段

mybatis dynamic查询指定字段​ 使用mybatis dynamic做查询是,通常情况下会查询所有字段,因为多查几个字段对性能影响不会很大。但是有些情况下,查询记录数量较多,多查的字段就有很大的影响了。此时我们希望只查询指定的字段。第一种写法一般写法是这样的testMapper.selectMany(MyBatis3Utils.select(columns,test, dsl->{ dsl.where(reconSe...

reactor中的线程池

reactor中的线程池1.DelegateServiceScheduler将任务委托给底层单个线程池,和直接使用线程池无本质区别。2.SingleScheduler单线程的scheduler,和java自带的一致。​3.ImmediateScheduler在主线程执行的scheduler。4.ParallelScheduler此scheduler会将任务均匀分配给内部的单线程线程池执行,核心逻辑十分简单,就是均匀的分配,不对任务的执行时间进行区分。运气不好时会...

Flux parallel操作符的用法

Flux parallel操作符1. parallel操作符​ parallel操作符执行过后,会生成一个新的flux 即parallelFLux。他能够接受多个订阅者,他会从原始flux中请求perfetch个元素,将上游传递push过来的元素依次按顺序分配给子订阅者。​ 分配上游元素过程是:依次分配给下游每个订阅者,当某个子订阅者请求数已经满足时,将跳过此订阅者继续向下一个子订阅者分配。​ 他有两个个参数 parallelism 和 prefetch,第一个参数表示划分子...

mybatis实现真流式查询mysql

mybatis实现mysql流式查询的原理背景如果使用mybatis查询mysql,查询结果集非常大时,可能发生oom,我们可以使用mysql的流式查询,按需逐行查询每条数据,实现低内存占用。下面分析其原理。jdbc驱动如何支持流式查询的jdbc驱动的基本原理jdbc驱动与mysql之间建立tcp连接,将sql语句发送到mysql服务端后,并从mysql服务端读取数据,并封装成resultSet的形式返回。resultSet我们使用resultSet时,调用resu...

批处理当前脚本目录和当前命令行目录

批处理当前脚本目录和当前命令行目录当前脚本目录使用%~dp0获取,无论在哪里执行,此值是不变的。当前命令行目录使用%cd% 获取相当于shell中的pwd命令,返回当前命令所在目录参考下面脚本的结果,保存脚本时请使用ANSI编码保存,否则中文乱码1112131415@echo off set root=%~dp0echo 当前脚本目录: %root%set pwd=%cd%echo 当前命令行目录: %pwd...

groovy静态编译容易引发的问题

groovy静态编译容易引发的问题groovy为了提高性能,有一个静态编译的注解@CompileStatic,在类上添加该注解后,编译出来的class文件会更加静态化,更像java文件编译出来的class字节码。但是因此会导致一些问题,今天我就遇到一个,下面将其记录下来。众所周知,groovy是动态类型的,如下面重载的函数,使用java调用和groovy调用结果是不同的。1. 测试groovy非静态编译在groovy中,定义变量时使用的是Object,是在调用时决定调用哪一...

excel直接打开看到的日期格式和poi读取到的日期格式不一样

excel直接打开看到的日期格式和poi读取到的日期格式不一样现象: 创建一个excel.xlsx文件,输入一个日期,将其格式选择为自定义类型 yyyy/m/d h:mm 并保存 可以看到,日期格式确实变成了类似于2021/1/10 1:15的样子 使用poi读取该文件,发现读取到的该单元格的数据为m/d/yy h:mm格式,并不是上面在excel中看到的yyyy/m/d h:mm格式。poi版本 4.1.2excel版本 2019重现几率 100%原因...

excel格式讲解

excel格式讲解新版的excel文件,本质是一个zip压缩包,将其解压后,能看到其内部结构。解压文件目录找一个excel.xlsx文件,将其进行解压,目录结构如下打开xl文件夹,styles.xml存储了全局的样式,worksheets内的sheet存储了每个sheet的数据,theme存储主题,shardStrings.xml存储的字符串池。打开sheet.xml,其结构如下row : 表示一行的内容c :表示cell单元格属性r=”A3” : ...

aws s3 预签名上传文件,下载文件

aws s3 预签名上传文件,下载文件需求是生成预签名下载链接,将链接发送给没有s3权限的用户,其也能正常下载而不需要登录到aws。上传也是同理,生成预签名上传链接,用户上传时无需登录aws。1.引入jar包11121314 <dependency> <groupId>software.amazon.awssdk</groupId> ...