对于消息中间件RabbitMQ,想必各位小伙伴并不陌生,其广泛应用程度不言而喻,此前我们也在许多课程以及诸多专栏文章中介绍了它的应用,其应用场景也是相当广泛的,像什么消息异步通信、服务模块解耦、高并发流量削峰、订单超时未支付自动失效等等都是实际项目中最为常见的场景。本文我们将重点介绍并实现Rabbit mq 的死信与延时队列,并将两者做一个简单的对比!内容对 ......
311
0
0
2023-06-18
前言当我们对List进行遍历的时候,如果list被修改了会抛出java.util.ConcurrentModificationException错误。那么有没有办法在遍历一个list的时候,还向list中添加元素呢?办法是有的,我们可以使用java.util.concurrent包中的CopyOnWriteArrayList。CopyOnWrite容器Cop ......
268
0
0
2023-06-18
目录背景特殊说明源码解读工具类FieldsIndexWriter核心类TermVectorsConsumerLucene90CompressingTermVectorsWriter父类TermVectorsWriter成员变量内部类DocDataFieldData构造方法核心方法startDocumentstartFieldstartTermaddPosit ......
235
0
0
2023-06-18
目录背景特别说明前置知识总览编解码BulkOperationBulkOperationPacked成员变量构造器编码解码BulkOperationPacked*应用PackedWriter分段处理AbstractBlockPackedWriterBlockPackedWriterMonotonicBlockPackedWriterDirectWriterDi ......
254
0
0
2023-06-18
目录请求异常的处理可用的HandlerExceptionResolver1. SimpleMappingExceptionResolver2. DefaultHandlerExceptionResolver3. ResponseStatusExceptionResolver4. ExceptionHandlerExceptionResolver请求异常的处理 ......
347
0
0
2023-06-18
目录一、常用注解二、断言机制1、简单断言2、数组断言3、组合断言4、异常断言5、超时异常6、快速失败三、前置条件四、嵌套测试五、参数化测试一、常用注解官方文档:Junit5官网指导@Test :表示此方法是测试方法。但是与JUnit4的@Test不同,他的职责非常单一,不能声明任何属性,拓展的测试将会由Jupiter提供额外测试@ParameterizedT ......
270
0
0
2023-06-18
前面已经可以批量解密加密字符串,但是有一个问题,那就是解密完 字符串 之后,不知道是在什么位置的,可以把加密的字符串替换成解密之后的吗?要是这样就可以很方便的阅读代码了,为了实现这个目标,让我们接着来更新我们的程序吧。 try { ClassNode targetClassNode = lookupClass(jar, targetClass + ......
404
0
0
2023-06-18
目录一、类加载过程二、类生命周期1、加载2、验证3、准备4、解析5、初始化三、双亲委派机制四、自定义类加载器的应用1、源代码加密2、隔离加载类3、热加载/热部署4、扩展加载源一、类加载过程程序员编写的Java源程序(.java文件)在经过编译器编译之后被转换成字节代码(.class 文件),类加载器将.class文件中的二进制数据读入到内存中,将其放在方法区 ......
258
0
0
2023-06-17
ynchronized关键字最主要的三种使用方式的总结修饰实例方法,作用于当前对象实例加锁,进入同步代码前要获得当前对象实例 的 锁 修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 。也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类成员( static 表明这是该类的一个静态资源,不管new ......
276
0
0
2023-06-17
目录前言验证码生成加入验证码依赖验证码配置验证码接口加入依赖基于过滤器编写自定义认证逻辑测试基于认证器编写自定义认证逻辑测试前言在前面的几篇文章中,登录时都是使用用户名 + 密码进行登录的,但是在实际项目当中,登录时,还需要输入图形验证码。那如何在 Spring Security 现有的认证体系中,加入自己的认证逻辑呢?这就是本文的内容,本文会介绍两种实现方 ......
286
0
0
2023-06-17
此篇文章介绍 Java JMX 技术的相关概念和具体的使用方式。 当前文章属于Java 性能分析优化系列文章,点击话题可以查看所有文章。 1. JMX 是什么? Java Management Extensions( JMX )技术是 Java SE 平台的标准功能,提供了一种简单的、标准的监控和管理资源的方式,对于如何定义一个资源给出了明确的 ......
244
0
0
2023-06-17
目前已经更新了 Nginx 、 MySQL 和 RabbitMQ 等系列,感兴趣的朋友也可以去看一下废话不多说,开始今天的面试之旅1. Arraylist与LinkedList区别可以从它们的底层数据结构、效率、开销进行阐述哈 ArrayList是数组的数据结构,LinkedList是 链表 的数据结构。 随机访问的时候,ArrayList的效率比较高 ......
263
0
0
2023-06-17
目录一、摘要二、方案实践2.1、引入 redis 组件2.2、添加 redis 环境配置2.3、编写获取请求唯一ID的接口,同时将唯一ID存入redis2.4、编写服务验证逻辑,通过 aop 代理方式实现2.5、在相关的业务接口上,增加SubmitToken注解即可三、小结一、摘要在上一篇文章中,我们详细的介绍了对于下单流量不算高的系统,可以通过请求唯一ID ......
298
0
0
2023-06-17
目录一、项目描述二、简介三、Swagger2.X和Swagger3.0.0 的对比1)SpringFox 2.x 发布2)SpringFox 3.0.0 发布3)swagger3.0 与2.xx配置差异:四、注解说明@Api@ApiOperation@ApiImplicitParams@ApiImplicitParam@ApiResponses@ApiMod ......
429
0
0
2023-06-17
目录Spring AOP有多少个通知以及它们的执行顺序Spring AOP有多少个通知Spring AOP通知的执行顺序SpringAOP简单案例AOP的五大通知AOP的使用方式Spring AOP有多少个通知以及它们的执行顺序Spring AOP有多少个通知①前置通知(Before):在连接点执行前执行该通知②正常返回通知(AfterReturning): ......
274
0
0
2023-06-17