10 2019 档案
摘要:1. RabbitMQ实战应用技巧 1.1. 前言 由于项目原因,之后会和RabbitMQ比较多的打交道,所以让我们来好好整理下RabbitMQ的应用实战技巧,尽量避免日后的采坑 1.2. 概述 RabbitMQ有几个重要的概念:虚拟主机,交换机,队列和绑定 虚拟主机:一个虚拟主机持有一组交换机、队
阅读全文
摘要:1. SpringBoot结合策略模式实战套路 1.1. 前言 我们都知道设计模式好,可以让我们的代码更具可读性,扩展性,易于维护,但大部分程序猿一开始都学过至少一遍设计模式吧,实战中不知用到了几成。接下来让我介绍一个结合SpringBoot的策略模式套路,让你的代码少些if else 1.2. 开
阅读全文
摘要:1. Excel解析工具easyexcel全面探索 1.1. 简介 之前我们想到Excel解析一般是使用POI,但POI存在一个严重的问题,就是非常消耗内存。所以阿里人员对它进行了重写从而诞生了 ,它解决了过于消耗内存问题,也对它进行了封装让使用者使用更加便利 接下来我先一一介绍它所有的功能细节、如
阅读全文
摘要:1. Java中的参数验证(非Spring版) 1.1. 前言 为什么我总遇到这种非正常问题,我们知道很多时候我们的参数校验都是放在controller层的传入参数进行校验,我们常用的校验方式就是引入下列的jar包,在参数中添加 ,并对Bean对象的参数做不同的注解处理就行,对Spring这种常用做
阅读全文
摘要:1. Seata为什么效率高 1.1. 应对面试官的解释 Seata的解决方案是两阶段提交的升级版,传统两阶段提交资源管理器(RM)放在数据库端,由数据库管理,需要数据库支持XA协议。 而Seata把RM从数据库端以jar包的形式移到了应用端,剥离了数据库对XA协议的要求。 Seata认为我们对数据
阅读全文
摘要:1. 定时任务实现方式对比 1.1. Timer 代码例子如下 public static void main(String[] args) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy MM dd HH:mm:s
阅读全文
摘要:1. Redis命令geoXXX 1.1. 介绍 自Redis 3.2开始,Redis基于geohash和有序集合提供了地理位置相关功能。 Redis Geo模块包含了以下6个命令: GEOADD: 将给定的位置对象(纬度、经度、名字)添加到指定的key; GEOPOS: 从key里面返回所有给定位
阅读全文
摘要:1. ThreadPoolTaskExecutor学习 1.1. 前言 我们知道一般创建线程池,我们都用 ,但实际上Spring它也对该线程池做了一层封装,他就是 1.2. 代码例子 它的创建方式也很简单,各个属性直接通过set设置属性值,最后调用 方法初始化,实际去做的就是初始化 它封装了回调监听
阅读全文
摘要:1. 源码探究 1.1. 上代码 @RunWith(SpringRunner.class) @SpringBootTest public class SpringbootLearnApplicationTests { @Autowired private CreatingThread08Servic
阅读全文