
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前一段时间,使用线程池写了个脚本跑存量数据,测试了下方法,抛出异常后发现程序并没有终止,等了很久也还是一样,最后手动关闭了程序。后面发现是因为线程池。原因线程池内部有一个类似于死循环的方法,这个循环是非守护线程(用户线程),而jvm对于非守护线程,如果不终止的话,程序是不会结束的,main方法就是非守护线程。代码看代码:我们使用线程池,最终都是将任务调用ThreadPoolExecuto...
前一段时间,使用线程池写了个脚本跑存量数据,测试了下方法,抛出异常后发现程序并没有终止,等了很久也还是一样,最后手动关闭了程序。后面发现是因为线程池。原因线程池内部有一个类似于死循环的方法,这个循环是非守护线程(用户线程),而jvm对于非守护线程,如果不终止的话,程序是不会结束的,main方法就是非守护线程。代码看代码:我们使用线程池,最终都是将任务调用ThreadPoolExecuto...
限流器, 从算法实现的角度来说, 就我知道的常见的有 滴漏桶, 令牌桶, 滑动窗口计数,固定窗口计数法从实现的工具来说, 常见的有 guava的 RateLimiter (令牌桶)redis的每秒或者每一分钟过期时间的incr(固定窗口计数)但是这些大多数时候都被我们用来当做单个机器上的限流措施, 尤其是guava这种单体框架. redis的incr虽然能控制全局, 但是还是有问题.

使用guava和redis两种方式来实现限流器1. redis方式2. guava限流器3. 两者整合切换yml配置aop注解aop切面两个限流器,实现一个接口1. redis方式redis方式主要是靠incr这个操作,通过过期时间和递增数来判断是否允许通过请求。public void apply(String key, int limitCount, int limitPeriod, ...
slf4J输出mybatis日志的方法(非stdout方式)前言依赖配置slf4j配置mybatis配置效果其他几种配置附前言现在很多项目中都是直接用的@Slf4j的注解来打印日志,然后又想看mybatis的日志,自己之前也各种网上找方法,配置的东西很多然而又不一定有效。这个算是已经在自己项目试了有效了的。这里说的只适用于项目使用slf4j日志, mybatis和mybatis-plus, slf
比如一个xml的如下:<formExport><values><column name="名字"><value><![CDATA[abcd\&$<>阿道夫]]></value></column><column name="名字2"><value>&
pagehelper和mybatis plus 的冲突
1. 前言poi框架可以支持我们在java代码中, 将数据导出成excel , 在上一篇如何使用POI导出excel表格,以及处理浏览器无法识别下载文件的问题中已经详细的进行了介绍 , 但是实际开发中, 往往还需要设置excel字体,颜色,行高,列宽等属性, 有时候还需要锁住单元格, 防止别人讲数据随意篡改.废话不多说, 直接上代码2. 锁住单元格导出excel , 自...

SpringCloud OAuth2资源服务器解决Full authentication,自定义返回异常信息,以及资源服务器忽略验证url,实现自定义登录获取认证服务器的tokenFull authentication 问题自定义登录ControllerwebSecurity配置类:资源忽略验证url自定义返回异常信息实现AuthenticationEntryPoint实现AccessDenied
多种情况下jar包获取文件的路径代码一、idea运行情况二、jar包运行情况三、总结代码代码中,分别使用AppMain.class.getResourceAppMain.class.getClassLoader().getResourcenew FileSystem.getProperty来获取路径其中resources文件夹还有一个a.json文件,模拟我们需要读取的资源p...







