排序
RabbitMQ实现延迟队列
序言 浅谈一下消息队列,随着分布式架构的不断发展,消息队列也逐渐走进到程序员的“生活“中来,在一些特定的业务场景下消息队列是个相当不错的选择。 消息队列的作用(它究竟能做什么) 服务...
Mybatis源码学习一Executor
Executor架构 Caching Executor的作用就是实现二级缓存,使用的是装饰者模式。 装饰者模式:在不改变原有类继承结构的情况下,新建一个对象来扩展原有功能。 Executor具体实现 maven依赖 org.my...
Java 中的 Stream 可以替代 for 循环吗?
Java8的发布是Java历史上的一个重大时刻。Streams 和 Lambda 被引入,它们现在被广泛使用。如果你不知道 Streams,或者从来没有听说过它,那是完全没有问题的。在大多数情况下,循环同样可以满...
RabbitMQ学习二消息的可靠性传递与延迟队列
消息的可靠性传递+消费 ⽣产者 –> 交换机 -> 队列 -> 消费者 确保消息在这几个过程中正常传递 生产者到交换机:通过confirmCallback 交换机到队列:通过returnCallback 建议:开启了消息确认机...
LiveData 还有学习的必要吗?—— Jetpack 系列(2)
请点赞,你的点赞对我意义重大,满足下我的虚荣心。 🔥 Hi,我是小彭。本文已收录到 GitHub · Android-NoteBook[1] 中。这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭...
kafka学习一快速认知和初步使用
kafka简介 kafka是一个分布式流处理平台,是三大MQ中间件之一。是一种高吞吐量的发布订阅消息系统。 快速认知概念 Broker: kafka的服务端程序,可以认为一个mq节点就是一个broker。 Topic: 每条...
模拟HashMap冲突
最近看HashMap的源码,其中相同下标容易产生hash冲突,但是调试需要发生hash冲突,本文模拟hash冲突。 hash冲突原理 HashMap冲突是key首先调用hash()方法: static final int hash(Object k...
RabbitMQ第一弹-死信队列
什么是死信队列 在RabbitMQ中一条消息出现下面三种情况就会成为「死信」: 消息被「nack」或者「reject」且「requeue」参数为「false」 消息因TTL过期 队列超出长度限制 死信会被RabbitMQ特殊处...