![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Young--
这个作者很懒,什么都没留下…
展开
-
feign接口传输InputStream
【代码】feign接口传输InputStream。原创 2023-05-10 18:14:16 · 1687 阅读 · 1 评论 -
Java hutool 实现多个文件压缩成压缩包并下载至本地
【代码】Java hutool 实现多个文件压缩成压缩包并下载至本地。原创 2023-04-23 09:07:27 · 2770 阅读 · 0 评论 -
RedissonClient延时队列延时队列做双删(高并发下保持redis缓存和数据库一致性)
1.导入jar包 <!-- redisson --> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.16.8</version> </dependency&原创 2022-02-24 14:36:01 · 2695 阅读 · 0 评论 -
导出模版【easyExecl 设置多个下拉选项 表头颜色颜色批注 demo】
esayExecl原创 2021-12-28 10:28:14 · 1643 阅读 · 0 评论 -
springbatch实操Demo
/* * Copyright yangjunxiong 2021 Wicrenet, Inc. All rights reserved. */package com.aegonthtf.fate.service.batch;import com.aegonthtf.fate.constant.BatchConvertEnum;import com.aegonthtf.fate.constant.CommonConstant;import com.aegonthtf.fate.dto.JobBe原创 2021-05-15 20:35:40 · 576 阅读 · 0 评论 -
springbatch 批量读写demo
这两天做到一个需求,需要一次性将一张数据表里的所有资源数据中的位置信息录入到redis中,表中的数据有几百万起步,采用的是java定时任务,循环每次查出一万条数据存入redis,测试时发现插入效率非常慢,经过排查发现是通过mybatis查询数据的耗时超过了总耗时的99%,我这台机器上是每查询一万条数据返回耗时87s左右。解决方法:在mapper.xml中的中加入fetchSize参数,设置的大一些,如下:pageSize 每次分页大小配置/* * Copyright yangjunxiong 2原创 2021-05-14 15:52:15 · 830 阅读 · 2 评论 -
JodaTimeUtils时间转换工具类 string或者long类型转Date格式等等
package com.yjx.utils;import com.yjx.verify.Asserts;import org.apache.commons.lang3.StringUtils;import org.apache.commons.lang3.time.DateUtils;import org.apache.commons.lang3.tuple.ImmutablePair;...原创 2020-02-19 11:05:52 · 1079 阅读 · 0 评论 -
mapstruct和lombok一起使用不兼容处理方法
https://yq.aliyun.com/articles/591623原创 2020-02-18 16:41:59 · 4339 阅读 · 1 评论 -
Apache Commons工具类
map和bean的互相转换// bean->mapMap<String, String> map = BeanUtils.describe(user);// map->beanBeanUtils.populate(user, map);Codec常见的编码,解码方法封装// Base64Base64.encodeBase64String(byte[] bi...原创 2019-11-24 18:02:34 · 181 阅读 · 0 评论 -
mysql 维护层级树字段 hierarchy (修改挂载的父节点使用代码维护hierarchy字段)
一 表结构CREATE TABLE `sys_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `parent_id` bigint(255) NOT NULL COMMENT '父节点id', `hierarchy` varchar(255) DEFAULT NULL COMMENT '层级关系', `n...原创 2019-11-24 17:22:39 · 640 阅读 · 0 评论 -
MapStruct java类型转换工具使用
一 导入依赖到maven <!-- vo entity转换用开始--> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> ...原创 2019-11-22 12:38:40 · 1513 阅读 · 1 评论 -
利用redis+注解 实现接口幂等性
gitee例子 利用redis+注解 实现接口幂等性原创 2019-10-22 20:42:09 · 419 阅读 · 0 评论 -
java使用 @Async 注解 + 线程池 异步处理数据- 主线程等待子线程返回处理数据
1 在@SpringBootApplication启动类 添加注解@EnableAsync2 异步方法使用注解@Async ,返回值为void或者Future3 切记一点 ,异步方法和调用方法一定要**** 写在不同的类中 ****,如果写在一个类中,是没有效果的package com.xy.pay.main.config;import org.springframework.bean...原创 2019-10-12 15:20:55 · 3805 阅读 · 0 评论 -
java使用自定义线程池跑多线程,Future 不同的线程返回不同的数据,已经多线程的本地线程变量使用以及CompletableFuture使用
使用线程池跑多线程//创建子线程可见的本机线程变thread2量InheritableThreadLocal inheritableThreadLocal = new InheritableThreadLocal<>();//创建子线程不可见的本机线程变量ThreadLocal threadLocal = new ThreadLoca...原创 2019-10-12 13:27:55 · 993 阅读 · 0 评论 -
oauth2授权,配置springSecurity web认证
一 继承WebSecurityConfigurerAdapter抽象类package com.xy.uums.auth.config;import com.xy.uums.auth.security.service.AuthUserDetailsService;import com.xy.uums.core.security.CustomAccessDeniedHandler;impor...原创 2019-07-28 00:50:37 · 296 阅读 · 0 评论 -
位运算在权限管理(配合枚举转换器)的应用(类似linux里面的文件权限管理)
1.按位取反或者二进制补码:~把1变为0,把0变为12.按位与 :&任何位与0组合都为0,任何位与1组合都为本身应用:关闭位(清空位)需要打开一个值中的特定位,同时保持其他位不变(所有位为0)把1变为0,其余位不变。假设有一个二进制数00011010 ,从左到右的第4位1表示开关,现在要关闭开关(置为0)。而其余的位表示其他功能,这些功能不变。所以此时你只能改变第四位。于是可以...原创 2019-08-23 18:33:21 · 382 阅读 · 0 评论 -
j2CaChe在项目中的应用(二级缓存)
j2CaChe项目地址不少人看到 J2Cache 第一眼时,会认为这就是一个普普通通的缓存框架,和例如 Ehcache、Caffeine 、Spring Cache 之类的项目没什么区别,无非是造了一个新的轮子而已。事实上完全不是一回事!目前缓存的解决方案一般有两种:内存缓存(如 Ehcache) —— 速度快,进程内可用集中式缓存(如 Redis)—— 可同时为多节点提供服务现有的缓存...原创 2019-08-31 22:17:20 · 1513 阅读 · 0 评论 -
Quartz定时任务集群,怎么解决任务重复执行问题
1 数据量评估定时任务一般的使用场景是定时查询出一批数据,对这一批数据进行业务操作。根据数据量的大小决定是否使用分布式任务,如果数据量不大或者实时性要求不高,单机任务就够了,也可以减少相应复杂度。如果数据量大就需要部署分布式任务。分布式集群中的节点对数据进行分片处理,即每个节点拿一部分数据进行业务处理。2 仅解决并发问题方案(1) Quartz + 分布式锁假设定时任务部署了3台机器,...原创 2019-09-05 22:20:29 · 2134 阅读 · 0 评论 -
Apache-commons-lang3 StringUtil的使用
导入commons-lang-2.3.jar包例1: 判断是否为空(blank):StringUtils.isBlank(null): trueStringUtils.isBlank(""): trueStringUtils.isBlank(" "): true例2: 判断是否不为空(blank):StringUtils.isNotBlank(null): falseStringUt...原创 2019-09-05 23:28:11 · 1163 阅读 · 0 评论 -
Apache-commons-lang3 CollectionUtils 使用
CollectionUtils 使用org.apache.commons.collections4.CollectionUtilsemptyIfNull( coll) 如果集体为null返回一个空的集合union( coll1, coll2) 合集intersection( coll1, coll2) 交集disjunction( coll1, coll2) 交集的补集su...原创 2019-08-31 23:24:58 · 2659 阅读 · 0 评论 -
Apache-commons-lang3 ObjectUtils 使用
Object工具类allNotNull(Object… values) 检查所有元素是否为空,返回一个boolean如果有一个元素为空返回false,所有元素不为空或元素为empty返回trueObjectUtils.allNotNull() = trueObjectUtils.allNotNull(, ) = trueObjectUtils.allNotNull(null) ...原创 2019-09-05 23:35:00 · 3259 阅读 · 0 评论 -
vue+springboot前后端分离开发, 将vue编译后的静态资源融入springboot,只需要启动一个后端jar就可以了
编译后dist的vue前端的工作做完了,然后是springboot的配置原创 2019-09-10 21:07:51 · 3234 阅读 · 2 评论 -
java.io.IOException: The temporary upload location 错误解决
使用springboot框架进行文件上传时报错,错误如下:org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/...原创 2019-09-11 09:23:54 · 1069 阅读 · 0 评论 -
JWT = > JSON Web Token(目前最流行的跨域认证解决方案)
JWT是目前最流行的跨域认证解决方案。一、跨域认证的问题互联网服务器离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id ,写入用户的Cookie 。4、用户随后的每一个请求,都会通过Cookie,将session_id 传...原创 2019-09-11 22:20:10 · 656 阅读 · 0 评论 -
mybatis拦截器设置分布式id(雪花算法id)
一 配置雪花算法的机器id和数据中心id二 配置mybatis拦截器设置主键idpackage com.xy.pay.main.web.interceptor.snowFlakeIdWorke;import org.apache.ibatis.executor.Executor;import org.apache.ibatis.mapping.MappedStatement;im...原创 2019-09-27 15:01:13 · 3653 阅读 · 9 评论 -
java SFTP下载,读取linux服务器文件
一 SFTP下载,读取linux服务器文件1 导入依赖 <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-ftp</artifactId> <version&g...原创 2019-07-13 19:21:11 · 1544 阅读 · 0 评论